CN114586050A - 基于安全的预测设备、系统和方法 - Google Patents
基于安全的预测设备、系统和方法 Download PDFInfo
- Publication number
- CN114586050A CN114586050A CN202080072364.4A CN202080072364A CN114586050A CN 114586050 A CN114586050 A CN 114586050A CN 202080072364 A CN202080072364 A CN 202080072364A CN 114586050 A CN114586050 A CN 114586050A
- Authority
- CN
- China
- Prior art keywords
- class
- prediction
- category
- final
- classes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明提供了基于安全的预测设备、系统和方法。机器学习硬件加速器(MLHA)包括主分类器(MC)模块、至少一个监控分类器(GC)模块和最终预测类别决策模块。该MC模块基于输入数据预测MC预测类别,并且包括具有至少一个安全关键(SC)类别和多个非SC类别的预训练的机器学习主分类器(MLMC)。每个监控分类器(GC)模块与SC类别相关联,并且基于该输入数据预测GC预测类别。每个GC模块包括具有两个类别的预训练的机器学习监控分类器(MLGC),这两个类别包括相关联SC类别和残差类别,该残差类别包括任何非相关联SC类别和该多个非SC类别。决策模块基于该MC预测类别和每个GC预测类别确定并输出最终预测类别。
Description
背景技术
本公开涉及计算机系统。更具体地,本公开涉及一种基于安全的预测设备、系统和方法。
预测是许多应用的基本元素,应用包括机器学习(ML)模型、人工神经网络(ANN)、卷积神经网络(CNN)、递归神经网络(RNN)、二进制神经网络(BNN)、支持向量机(SVM)、决策树、朴素贝叶斯等。在硬件中实施的ML模型可用于安全关键系统以实施关键分类任务,特别是在自主车辆、机器人医疗设备等中。然而,ML模型的固有预测性质永远无法保证100%的预测准确度,这偶尔导致不正确的预测。在硬件中实施的ML模型也容易出现硬错误或软错误,这可能加剧预测准确度或导致致命事件。例如,神经网络的输出层中的触发器中的瞬态故障可导致ML推断硬件预测不正确的分类。
安全关键电子系统必须保证功能安全,功能安全被定义为不存在由危害导致的不可接受的风险,其中危害是由故障导致电子系统故障而引起的。功能安全的最终目标是防止由于在智能自主装置(例如自主车辆或机器人)中使用的电子系统的故障而导致的人员死亡或受伤。目前,安全关键系统包括严重依赖于预测ML算法来识别周围的物体和人的模式识别硬件。功能安全还必须处理由硬件上运行的ML算法导致的错误预测引起的非故障错误。
附图说明
图1描绘了根据本公开的一个实施方案的具有机器学习硬件加速器(MLHA)的系统的框图。
图2A、图2B、图2C和图2D描绘了根据本公开的实施方案的MLHA的框图。
图3描绘了根据本公开的一个实施方案的呈现用于基于安全的预测过程的功能的流程图。
图4A和图4B描绘了根据本公开的一个实施方案的用于确定最终预测类别的决策流程图。
图5A描绘了根据本公开的一个实施方案的用于机器学习主分类器(MLMC)的训练系统的框图。
图5B描绘了根据本公开的一个实施方案的用于机器学习监控分类器(MLGC)的训练系统的框图。
具体实施方式
现在将参考附图描述本公开的实施方案,其中类似的附图标号始终指代类似的部件。
本公开的实施方案提供了一种系统、设备和方法,其有利地包括由基于分类的ML模型预测的类别内的安全关键属性,以改善MLHA在安全关键系统中实施ML模型的弹性。更具体地,安全关键(SC)类别是与实体相关联的类别,例如人、动物、物体等,该类别将由在安全关键系统上运行的预测ML算法识别,其中对类别的错误预测可能导致死亡或受伤。
在一个实施方案中,MLHA包括主分类器(MC)模块、与每个SC类别相关联的监控分类器(GC)模块和最终预测类别(FPC)决策模块。
MC模块包括具有至少一个SC类别和多个非SC类别的预训练的机器学习主分类器(MLMC)。MC模块被配置为基于输入数据预测MC预测类别,并且输出MC预测类别。
每个GC模块包括具有两个类别的预训练的机器学习监控分类器(MLGC),这两个类别包括相关联SC类别和残差类别,该残差类别包括除相关联SC类别之外的任何类别,即,任何非相关联SC类别和多个非SC类别。每个GC模块被配置为基于输入数据预测GC预测类别,并且输出GC预测类别。
FPC决策模块耦接到MC模块和每个GC模块。FPC决策模块被配置为:接收MC预测类别和每个GC预测类别,基于MC预测类别和每个GC预测类别确定最终预测类别,并且输出最终预测类别。
ML模型是由学习过程训练的数学模型,以从输入(诸如特征向量)生成输出(诸如监控信号)。神经网络(诸如ANN、CNN、RNN、BNN等)、支持向量机、朴素贝叶斯和K最近邻分类器是ML模型的类型。例如,监督学习过程使用包括已知输入-输出对的完全标记训练数据来训练ML模型。半监督或弱监督学习过程使用不完整训练数据来训练ML模型,不完整数据即少量标记数据(即,输入-输出对)和大量未标记数据(仅输入)。无监督学习过程使用未标记数据(即,仅输入)来训练ML模型。
ANN使用通过上述学习过程训练的互连节点网络来对输入数据或信号与输出数据或信号之间的关系进行建模。节点被布置到各个层(包括例如输入层、一个或多个隐藏层和输出层)中。输入层接收输入数据(诸如例如图像数据),并且输出层生成输出数据(诸如例如图像数据包含已知对象的概率)。每个隐藏层至少提供输入数据到输出数据的部分转变。深度神经网络(DNN)具有多个隐藏层,以便对输入数据与输出数据之间的复杂的、非线性的关系进行建模。
在完全连接的前馈ANN中,每个节点连接到前一层中的所有节点,以及连接到后一层中的所有节点。例如,对于具有输入层、隐藏层和输出层的简单ANN,每个输入层节点连接到每个隐藏层节点,每个隐藏层节点连接到每个输入层节点和每个输出层节点,并且每个输出层节点连接到每个隐藏层节点。对于具有多个隐藏层的更复杂的ANN,每个附加隐藏层相似地连接到前隐藏层中的所有节点和后隐藏层中的所有节点。每个连接具有权重值,并且每个节点具有激活函数,例如线性函数、阶跃函数、S型函数、双曲正切函数、修正线性单元(ReLu)函数等,该函数基于到节点的输入的加权和来确定节点的输出。输入数据从输入层节点传播通过相应连接权重到隐藏层节点,并且然后传播通过相应连接权重到输出层节点。
更具体地,在每个输入节点处,将输入数据提供给该节点的激活函数,并且然后将激活函数的输出作为输入数据值提供给每个隐藏层节点。在每个隐藏层节点处,将从每个输入层节点接收的输入数据值乘以相应的连接权重,并且将所得乘积求和或累积到被提供给该节点的激活函数的激活信号值中。然后将激活函数的输出作为输入数据值提供给每个输出层节点。在每个输出层节点处,将从每个隐藏层节点接收的输出数据值乘以相应的连接权重,并且将所得乘积求和或累积到被提供给该节点的激活函数的激活信号值中。然后提供激活函数的输出作为输出数据。附加隐藏层可类似地被配置为处理数据。
训练ANN包括通过使输出数据的预测错误最小化来优化节点之间的连接权重,直到ANN实现特定准确度水平。一种方法是错误的反向传播或后向传播,其相对于连接权重迭代且递归地确定梯度下降,并且然后调整连接权重以改善网络的性能。
多层感知器(MLP)是具有输入层、输出层和一个或多个隐藏层的完全连接的ANN,并且使用非线性激活函数对线性不可分的数据进行分类。MLP可用于自然语言处理应用,诸如机器翻译、语音识别等。CNN是具有一个输入层、一个输出层和多个隐藏层的MLP的变型,包括一系列卷积层,然后是汇聚层、完全连接层和归一化层。每个卷积层将滑动点积或互相关应用到输入数据,然后将结果传输到下一层。为了利用输入数据中的空间局部模式,CNN的某些隐藏层可能不是完全连接的。相反,这些隐藏层中的节点连接到前隐藏层中的少量节点。局部连接的隐藏层与完全连接的隐藏层组合在一起以形成CNN架构。CNN可用于分类、识别、预测等,诸如机器翻译、语音辨识等应用,诸如图像分类、语音识别等。其他ANN包括长短时记忆(LSTM)、包括编码器RNN和解码器RNN的序列到序列模型、浅层神经网络等。
许多ML推断硬件的实施使用基于分类的ML模型,诸如ANN、CNN、RNN等,以执行模式识别(例如图像、语音、活动等)。典型的基于分类的ML模型要预测一组有限的类别。例如,就自主车辆而言,图像类别组可包括例如“行人”、“自行车”、“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等。这些类别中的一些类别在实时预测时极其关键;否则,不正确的预测可能导致受伤或死亡。例如,“行人”、“自行车”、“车辆”等可被定义为安全关键类别,而“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等不被定义为安全关键类别。
ML推断硬件还可实施其他类型的ML模型,例如,支持向量机、决策树、高斯朴素贝叶斯等。
图1描绘了根据本公开的一个实施方案的具有MLHA的系统的框图。
计算机100包括耦接到一个或多个处理器120、存储器130、I/O接口140、显示接口150、一个或多个通信接口160和一个或多个MLHA 200的总线110。一般来讲,I/O接口140使用有线或无线连接耦接到I/O设备142、传感器144和致动器146,显示接口150耦接到显示器152,并且通信接口160使用有线或无线连接连接到网络162。
总线110是通信系统,该通信系统在处理器120、存储器130、I/O接口140、显示接口150、通信接口160、MLHA 200以及未在图1中描绘的其他部件之间传输数据。电源连接器112耦接到总线110和电源(未示出)。
处理器120包括一个或多个通用或专用微处理器,该一个或多个通用或专用微处理器执行指令以执行计算机100的控制、计算、输入/输出等功能。处理器120可包括单个集成电路诸如微处理设备,或多个集成电路设备和/或电路板,该多个集成电路设备和/或电路板协作工作以实现处理器120的功能。另外,处理器120可执行存储在存储器130内的计算机程序或模块,诸如操作系统132、软件模块134等。例如,软件模块134可包括自主车辆应用、机器人应用(例如,机器人执行手术过程、在协作环境中与人类一起工作)等。
一般来讲,存储元件或存储器130存储用于由处理器120执行的指令,以及数据。存储器130可包括可由处理器120访问的多种非暂态计算机可读介质。在各种实施方案中,存储器130可包括易失性和非易失性介质、不可移动介质和/或可移动介质。例如,存储器130可包括随机存取存储器(RAM)、动态RAM(DRAM)、静态RAM(SRAM)、只读存储器(ROM)、闪存存储器、高速缓存存储器和/或任何其他类型的非暂态计算机可读介质的任何组合。
存储器130包含用于检索、呈现、修改和存储数据的各种部件。例如,存储器130存储软件模块,当由处理器120执行时,该软件模块提供功能。软件模块包括操作系统132,该操作系统为计算机100提供操作系统功能。软件模块134提供各种功能,如上所述。数据136可包括与操作系统132、软件模块134等相关联的数据。
I/O接口140被配置为从I/O设备142、传感器144和致动器146传输和/或接收数据。I/O接口140通过对要从处理器120发送到I/O设备142的数据进行编码并且对从I/O设备142接收到的数据进行解码以用于处理器120来实现处理器120与I/O设备142之间的连接。通常,可通过有线和/或无线连接来发送数据。例如,I/O接口140可包括耦接到一个或多个天线(诸如WiFi、蓝牙、蜂窝等)的一个或多个有线通信接口(诸如USB、以太网等)和/或一个或多个无线通信接口。
一般来讲,I/O设备142提供对计算机100的输入和/或来自计算机100的输出。如上面所讨论的,I/O设备142使用有线和/或无线连接可操作地连接到计算机100。I/O设备142可包括耦接到通信接口的本地处理器,该通信接口被配置为使用有线和/或无线连接与计算机100通信。例如,I/O设备142可包括键盘、鼠标、触摸板、操纵杆等。
显示接口150被配置为将图像数据从计算机100传输到监视器或显示器152。
通信接口160被配置为使用一个或多个有线和/或无线连接将数据传输到网络162和从该网络传输数据。网络162可包括一个或多个局域网、广域网、互联网等,可执行各种网络协议,诸如,例如,有线和/或无线以太网、蓝牙等。网络162还可包括有线和/或无线物理层的各种组合,例如,铜线或同轴电缆网络、光纤网络、蓝牙无线网络、WiFi无线网络、CDMA蜂窝无线网络、FDMA蜂窝无线网络和TDMA蜂窝无线网络等。
MLHA 200被配置为执行基于分类的ML模型,例如,ANN、CNN、RNN、SVM、朴素贝叶斯等,以支持软件模块134。通常,MLHA 200可以是图形处理单元(GPU)、数字信号处理器(DSP)、神经处理单元(NPU),例如,ARM机器学习处理器或执行底层ML推断算法的定制设计的处理引擎。MLHA 200还可以是专用集成电路(ASIC)或实施于现场可编程门阵列(FPGA)的定制处理器等。因此,MLHA 200可包括一个或多个处理器、微处理器、微控制器等,一个或多个包括RAM、ROM、EEPROM、闪存存储器等的存储器块,集成电路,可编程电路,矩阵乘法加速器等。例如,矩阵乘法加速器可包括乘法和累加(MAC)小区的N×N收缩阵列,以及支持快速、致密矩阵-矩阵和矩阵-向量运算的支持存储器寄存器和控制电路。
本公开的实施方案有利地包括用于每个类别的SC属性,每个类别由MLHA 200托管的基于分类的ML模型预测。换句话讲,每个类别被分类为SC类别或非SC类别。此安全关键类别架构改善MLHA 200在安全关键系统中的弹性,提高设置了安全关键属性的类别的预测准确度,并检测潜在的硬件相关错误。以这样的方式训练已知的基于分类的ML模型,诸如CNN、DNN等,使得所有类别的处理相同。当基于分类的ML模型在硬件加速器诸如MLHA 200中实施时,总体类别预测准确度是主要性能度量。然而,当MLHA 200用于安全关键系统时,一些类别(即,SC类别)的预测比其他类别(即,非SC类别)更关键。因此,以这样的方式训练用于安全关键系统的基于分类的ML模型,使得所有类别的处理不同。另外,SC类别可具有不同优先级水平的关键性,例如,“行人”类别可具有比“交通标志”类别更高的优先级水平。
由MLHA 200托管的基于分类的ML模型包括MC模块和与每个SC类别相关联的GC模块。MC模块包括具有至少一个SC类别和多个非SC类别的预训练的MLMC。MC模块被配置为基于输入数据预测MC预测类别,并且输出MC预测类别。每个GC模块包括具有两个类别的预训练的MLGC,两个类别包括相关联SC类别和残差类别。残差类别包括任何非相关联SC类别和多个非SC类。每个GC模块被配置为基于输入数据预测GC预测类别,并且输出GC预测类别。换句话讲,每个GC是预测或不预测相关联SC类别的二进制分类器。
重要的是,可使用比MLMC更简单的ML模型来实施每个MLGC。例如,MLHA 200可将MLMC实施为CNN,并且将每个MLGC实施为朴素贝叶斯等。每个MLGC使用与MLMC相同的数据集来训练,但是训练数据内的标签塌缩到相关联SC类别标签(例如,1)或残差类别标签(例如,0)。因为MLGC解决了二进制分类问题,所以预测准确度可与CNN一样高,而实施附加的MLGC的成本很低。
图2A、图2B、图2C和图2D描绘了根据本公开的实施方案的MLHA的框图。
图2A描绘了包括MC模块210、GC模块220和FPC决策模块230的MLHA 200的实施方案。
MC模块210包括具有一个SC类别(例如“行人”)和若干非SC类别(例如“自行车”、“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等)的预训练的MLMC。MC模块210被配置为基于输入预测MC预测类别,并且输出MC预测类别。
GC模块220包括具有两个类别的预训练的MLGC,两个类别包括相关联SC类别(例如“行人”)和残差类别,残差类别包括非SC类别(例如“自行车”“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等)。GC模块220被配置为基于输入数据预测GC预测类别,并且将GC预测类别输出到FPC决策模块230。
在每次预测时,相同输入被发送到MC模块210和GC模块220,并且FPC决策模块230确定最终预测类别,这将在下文更详细地描述。
图2B描绘了包括MC模块210、GC模块220-1至220-N和FPC决策模块230的MLHA 200的实施方案。每个GC模块220-1至220-N与不同的SC类别相关联。
MC模块210包括具有N个数量的SC类别和若干非SC类别的预训练的MLMC。在一个示例中,N等于2,SC类别是“行人”和“自行车”,并且非SC类别是“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等。MC模块210被配置为基于输入预测MC预测类别,并且输出MC预测类别。
每个GC模块220-1至220-N包括具有两个类别的预训练的MLGC,两个类别包括相关联SC类别和残差类别,残差类别包括任何非相关联SC类别和非SC类别。在以上示例中,对于GC模块220-1,相关联SC类别包括“行人”,并且残差类别包括“自行车”、“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等。类似地,对于GC模块220-N,相关联SC类别包括“自行车”,并且残差类别包括“行人”、“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等。每个GC模块220-1至220-N被配置为基于输入数据预测GC预测类别,并且将GC预测类别输出到FPC决策模块230。
在每次预测时,相同输入被发送到MC模块210和GC模块220-1至220-N,并且FPC决策模块230确定最终预测类别,这将在下文更详细地描述。
图2C描绘了包括MC模块210、GC模块220-11至220-1j、GC预测类别决策模块222-1和FPC决策模块230的MLHA 200的实施方案。每个GC模块220-11至220-1j与相同的SC类别相关联。
MC模块210包括具有一个SC类别(例如“行人”)和若干非SC类别(例如“自行车”、“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等)的预训练的MLMC。MC模块210被配置为基于输入预测MC预测类别,并且输出MC预测类别。
每个GC模块220-11至220-1j包括具有两个类别的相同预训练的MLGC,两个类别包括相同相关联SC类别(例如“行人”)和残差类别,残差类别包括非SC类别(例如“自行车”、“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等)。每个GC模块220-11至220-1j被配置为基于输入数据预测GC预测类别,并且将GC预测类别输出到GC预测类别决策模块222-1。
在每次预测时,相同输入被发送到MC模块210和GC模块220-11至220-1j,GC预测类别决策模块222-1确定并输出最终GC预测类别到确定最终预测类别的FPC决策模块230。
在一个实施方案中,当GC预测类别中的至少一半类别是SC类别时,GC预测类别决策模块222-1选择SC类别作为最终GC预测类别;以及当GC预测类别中的少于一半类别的是SC类别时,GC预测类别决策模块222-1选择残差类别作为最终GC预测类别。
图2D描绘了包括MC模块210、若干GC模块组和FPC决策模块230的MLHA 200的实施方案。由于每个GC模块220的低面积和低功率要求,每个SC类别的多个表决冗余GC模块220可由MLHA 200训练和实施,以增加冗余和容错度。
MC模块210包括具有N个数量的SC类别和若干非SC类别的预训练的MLMC。在一个示例中,N等于2,SC类别是“行人”和“自行车”,并且非SC类别是“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等。MC模块210被配置为基于输入预测MC预测类别,并且输出MC预测类别。
每个GC模块组包括若干GC模块和GC预测类别决策模块。例如,第一组GC模块包括GC模块220-11至220-1j和GC预测类别决策模块222-1,而最后一组GC模块包括GC模块220-N1至220-Nk和GC预测类别决策模块222-N。每组GC模块与不同的SC类别相关联,例如,GC模块220-11…220-1j与“A”类别相关联,GC模块220-N1…220-Nk与“N”类别相关联等。在以上示例中,“A”类别是“行人”,并且“N”类别是“自行车”。
每个GC模块220-11至220-1j包括具有两个类别的相同预训练的MLGC,两个类别包括相同相关联SC类别(“A”类别,例如“行人”)和残差类别,残差类别包括任何非相关联SC类别(“N”类别,例如“自行车”)和非SC类别(例如“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等)。每个GC模块220-11至220-1j被配置为基于输入数据预测GC预测类别,并且输出GC预测类别。
相似地,每个GC模块220-N1至220-Nk包括具有两个类别的相同预训练的MLGC,两个类别包括相同相关联SC类别(“N”类别,例如“自行车”)和残差类别,残差类别包括任何非相关联SC类别(“A”类别,例如“行人”)和非SC类别(例如“车辆”、“动物”、“交通标志”、“交通灯”、“交叉口”、“出口”、“垃圾”等)。每个GC模块220-N1至220-Nj被配置为基于输入数据预测GC预测类别,并且输出GC预测类别。
在每次预测时,相同输入被发送到MC模块210和所有GC模块组,即,GC模块220-11至220-1j…GC模块220-N1至220-Nk;所有GC预测类别决策模块确定相应的GC预测类别,即,GC预测类别决策模块222-1确定并输出最终GC预测类别(“A”类别)到FPC决策模块230,GC预测类别决策模块222-N确定并输出最终GC预测类别(“N”类别)到FPC决策模块230等;并且FPC决策模块230确定最终预测类别,这将在下文更详细地描述。
在一个实施方案中,当GC预测类别中的至少一半类别是SC类别时,GC预测类别决策模块222-1选择SC类别作为最终GC预测类别;以及当GC预测类别中的少于一半类别的是SC类别时,GC预测类别决策模块222-1选择残差类别作为最终GC预测类别。相似地,当GC预测类别中的至少一半类别是SC类别时,GC预测类别决策模块222-N选择SC类别作为最终GC预测类别;以及当GC预测类别中的少于一半类别的是SC类别时,GC预测类别决策模块222-N选择残差类别作为最终GC预测类别。
图3描绘了根据本公开的一个实施方案的呈现用于基于安全的预测过程的功能的流程图。
在310处,MC预测类别由MC模块210基于输入数据预测。如上所述,MC模块210包括具有至少一个SC类别和多个非SC类别的预训练的MLMC。
在320处,GC预测类别由与每个SC类别相关联的每个GC模块210-1至210-N基于输入数据预测。如上所述,每个GC模块210-1至210-N包括具有两个类别的预训练的MLGC,两个类别包括相关联SC类别和残差类别,残差类别包括任何非相关联SC类别和多个非SC类别。
在330处,最终预测类别由FPC决策模块230基于MC预测类别和每个GC预测类别来确定。在上述某些实施方案中,每个GC预测类别是由GC预测类别决策模块222-1至222-N输出的最终GC预测类别。
在340处,最终预测类别由FPC决策模块230输出。
图4A和图4B描绘了根据本公开的一个实施方案的用于确定最终预测类别的决策流程图。
在410处,MC预测类别和每个GC预测类别由FPC决策模块230接收。在上述某些实施方案中,每个最终GC预测类别由FPC决策模块230接收。
在420处,FPC决策模块230确定MC预测类别是否是SC类别。如果是,则流程前进至422;如果不是,则流程前进至450。
在422处,FPC决策模块230选择与MC预测类别所识别的SC类别相关联的GC模块220。在上述示例中,如果MC预测类别是“行人”,则选择GC模块220-1。相似地,如果MC预测类别是“自行车”,则选择GC模块220-N。以此类推。
在430处,FPC决策模块230确定来自所选择的GC模块220的GC预测类别是否为SC类别。如果是,则流程前进至440;如果不是,则流程前进至470(图4B)。在上述示例中,如果MC预测类别是“行人”,并且来自GC模块220-1的GC预测类别是“行人”,则流程前进至440。相似地,如果MC预测类别是“自行车”,并且来自GC模块220-1的GC预测类别是“自行车”,则流程前进至440。以此类推。
在440处,FPC决策模块230选择用于输出的MC预测类别(即,SC类别)。
换句话讲,当MLMC具有若干SC类别时,MC预测类别是第一SC类别,并且来自与第一SC类别相关联的GC模块的GC预测类别是第一SC类别,FPC决策模块230选择第一SC类别作为最终预测类别。
在450处,MC预测类别是非SC类别,并且FPC决策模块230确定是否有至少一个GC预测类别包括SC类别。如果是,则流程前进至460;如果不是,则流程前进至440,在此处FPC决策模块230选择用于输出的MC预测类别(即,SC类别)。
在460处,FPC决策模块230确定是否有多个GC预测类别包括SC类别。如果是,则流程前进至462;如果不是,则流程前进至442,在此处FPC决策模块230选择包括用于输出的SC类别的GC预测类别。
在462处,FPC决策模块230基于SC优先级水平对多个GC预测类别排序,并且流程前进至444,在此处FPC决策模块230选择具有用于输出的最高SC优先级水平的GC预测类别。
换句话讲,当MC预测类别是非SC类别中的一个类别时:当所有GC预测类别是残差类别时,FPC决策模块230选择MC预测类别作为最终预测类别;当GC预测类别中的一个类别是SC类别并且任何剩余的GC预测类别是残差类别时,FPC决策模块230选择GC预测类别作为最终预测类别;以及当GC预测类别中的两个或更多个类别是SC类别时,FPC决策模块230选择具有最高SC优先级水平的GC预测类别作为最终预测类别。
在470处,MC预测类别是SC类别,来自与SC类别相关联的GC模块的GC预测类别是残差类别,并且FPC决策模块230确定其他GC预测类别是否可用。如果是,则流程前进至480;如果不是,则流程前进至440,在此处FPC决策模块230选择用于输出的MC预测类别(即,SC类别)。
在480处,FPC决策模块230确定是否有至少一个其他GC预测类别包括SC类别。如果是,则流程前进至490;如果不是,则流程前进至440,在此处FPC决策模块230选择用于输出的MC预测类别(即,SC类别)。
在490处,FPC决策模块230确定是否有多个GC预测类别包括SC类别。如果是,则流程前进至492;如果不是,则流程前进至442,在此处FPC决策模块230选择包括用于输出的SC类别的GC预测类别。
在492处,FPC决策模块230基于SC优先级水平对多个GC预测类别排序,并且流程前进至444,在此处FPC决策模块230选择具有用于输出的最高SC优先级水平的GC预测类别。
换句话讲,当MC预测类别是第一SC类别并且来自与第一SC类别相关联的GC模块的GC预测类别是残差类别时:当来自与第一SC类别不相关联的GC模块的GC预测类别是残差类别时,FPC决策模块230选择MC预测类别作为最终预测类别;当来自与第一SC类别不相关联的GC模块中的一个模块的GC预测类别是第二SC类别并且任何剩余的GC预测类别是残差类别时,FPC决策模块230选择第二SC类别作为最终预测类别;以及当来自与第一SC类别不相关联的GC模块中的两个或更多个模块的GC预测类别是SC类别时,FPC决策模块230选择具有最高SC优先级水平的GC预测类别作为最终预测类别。
一般来讲,在已经设计了MLMC和每个MLGC的架构之后,MLMC和每个MLGC在软件中呈现,以训练各种分类层内的权重/参数,构架包括例如,ANN的输入层、隐藏层和输出层,CNN的卷积层、汇聚层、完全连接层和归一化层,BNN的完全连接层和二进制激活层,SVM分类器等。所得预训练的MLMC和每个预训练的MLGC可由MLHA 200以若干方式实施。对于包括一个或多个处理器、微处理器、微控制器等(例如GPU、DSP、NPU等)的MLHA 200,预训练的MLMC软件的实施和每个预训练的MLGC软件的实施都被调整和优化,以在本地处理器上运行。在这些示例中,MC模块、GC模块和FPC决策模块是软件模块。对于包括可编程电路(诸如ASIC、FPGA等)的MLHA 200,可编程电路系统被编程,以实现预训练的MLMC软件的实施和每个预训练的MLGC软件的实施。在这些示例中,MC模块、GC模块和FPC决策模块是硬件模块。无论具体实施方式如何,MLHA 200都为MLMC和每个MLGC提供基于硬件的加速。
图5A描绘了根据本公开的一个实施方案的用于机器学习主分类器(MLMC)的训练系统的框图。
训练系统500是计算机系统,包括一个或多个处理器、存储器等,执行一个或多个软件模块,该软件模块训练MC模块210中包括的MLMC。软件模块包括MLMC模块510、比较模块512和学习模块514。最初,MLMC模块510包括MC模块210中包括的MLMC的未训练型式。通常,MLMC包括一个或多个SC类别和若干非SC类别。
在每个训练循环期间,MLMC模块510接收训练数据(输入)并且基于输入确定MC预测类别;比较模块512接收并比较训练数据(预期类别)和MC预测类别,并且输出错误数据;以及学习模块514接收针对所有类别(即,A类别至N类别)的错误数据和学习率,并且确定和发送权重调整至MLMC模块510。
在某些实施方案中,可使用针对所有类别(即,A类别至N类别)的单个学习率来训练MLMC。当学习率高时,训练时间长,相反地,当学习率低时,训练时间可能短,但MLMC可能不那么准确。在一个实施方案中,学习模块514提供监督学习过程,以使用包括已知输入-输出对的完全标记训练数据来训练MLMC。在另一实施方案中,学习模块514提供半监督或弱监督学习过程,以使用不完整训练数据来训练MLMC,不完整训练数据即少量标记数据(即,输入-输出对)和大量未标记数据(仅输入)。在另一个实施方案中,学习模块514提供无监督学习过程,以使用未标记数据(即,仅输入)来训练MLMC。
图5B描绘了根据本公开的一个实施方案的用于机器学习监控分类器(MLGC)的训练过程的框图。
训练系统502是计算机系统,包括一个或多个处理器、存储器等,执行一个或多个软件模块,该软件模块训练每个GC模块220中包括的每个MLGC。软件模块包括MLGC模块520、比较模块522和学习模块524。最初,MLGC模块520包括每个GC模块220中包括的每个MLGC的未训练型式。每个MLGC包括相关联SC类别和残差类别,残差类别包括任何非相关联SC类别和非SC类别。
在针对每个MLGC的每个训练循环期间,MLGC模块520接收训练数据(输入)并且基于输入确定GC预测类别;比较模块522接收并比较训练数据(预期类别)和GC预测类别,并且输出错误数据;以及学习模块524接收针对相关联SC类别(即,A类别至N类别)的错误数据和学习率,并且确定和发送权重调整至MLGC模块520。
如上所述,可使用针对所有类别(即,A类别至N类别)的单个学习率来训练MLMC。有利地,由于MLGC的简单性,可使用高于MLMC学习率的学习率来训练MLGC。在某些实施方案中,可使用基于相关联SC类别的优先级水平的学习率来训练与特定SC类别相关联的每个MLGC。
在一个实施方案中,学习模块524提供监督学习过程,以使用包括已知输入-输出对的完全标记训练数据来训练MLGC。在另一实施方案中,学习模块524提供半监督或弱监督学习过程,以使用不完整训练数据来训练MLGC,不完整训练数据即少量标记数据(即,输入-输出对)和大量未标记数据(仅输入)。在另一个实施方案中,学习模块524提供无监督学习过程,以使用未标记数据(即,仅输入)来训练MLGC。
在一个实施方案中,MLHA 200嵌入在“PlasticArmpit”传感器模块中。“PlasticArmpit”传感器模块包括8个传感器,每个传感器提供指示气味强度的5位整数传感器数据。MLHA 200包括具有MLMC的MC模块210、具有MLGC的GC模块220和FPC决策模块230。
MLMC是具有二进制(即,1位)权重和激活以及8个特征的二进制神经网络(BNN)。MLMC的输出是来自指示气味强度的5个不同类别中的一个类别的类别预测。未训练的MLMC使用PlasticArmpit传感器模块训练数据来训练;至少一组训练数据的平均预测准确度为91%。预训练的MLMC具有8个节点输入级、20个隐藏节点和5个输出节点。MLHA 200在65nm中实施预训练的MLMC。
MLGC是特征表决分类器(FVC)。在一个实施方案中,MLGC是基于LUT的朴素贝叶斯分类器;在其他实施方案中,MLGC可以是决策树、高斯朴素贝叶斯等。MLGC具有2个类别,包括单个SC类别(即,“A”类别,5个气味强度中的一个气味强度)和包括剩余的4个类别(即,“B”、“C”、“D”和“E”类别)的残差类别。未训练的MLGC使用PlasticArmpit传感器模块训练数据来训练,该数据被转换为2个类别表示;至少一组训练数据的平均预测准确度为92%。MLHA 200还在65nm中实施预训练的MLGC。
表1呈现了MLMC和MLGC的性能和面积比较结果。
类型 | 分类器 | 准确度 | 门计数 |
主分类器 | 5个类别BNN(A、B、C、D、E) | 91% | 1315 |
监控分类器 | 2个类别FVC(A、非A) | 92% | 70 |
有利地,相对小的MLGC可用于保护由MLMC预测的SC类别,而不牺牲预测准确度。另外,无需用冗余的MLMC来增加弹性。相反,可以训练和实施微型专用的MLGC,以提供硬件冗余和多样性。
本公开的实施方案有利地提供了基于安全的预测系统、设备和基于硬件的方法。上文所述和下文概述的实施方案是可组合的。
在一个实施方案中,机器学习硬件加速器(MLHA)包括主分类器(MC)模块、与每个SC类别相关联的监控分类器(GC)模块以及耦接到MC模块和每个GC模块的最终预测类别决策模块。MC模块包括具有至少一个安全关键(SC)类别和多个非SC类别的预训练的机器学习主分类器(MLMC),并且被配置为基于输入数据预测MC预测类别并输出MC预测类别。每个GC模块包括具有两个类别的预训练的机器学习监控分类器(MLGC),这两个类别包括相关联SC类别和残差类别,该残差类别包括任何非相关联SC类别和该多个非SC类别。每个GC模块被配置为基于输入数据预测GC预测类别,并且输出GC预测类别。最终预测类别决策模块被配置为:接收MC预测类别和每个GC预测类别,基于MC预测类别和每个GC预测类别确定最终预测类别,并且输出最终预测类别。
在另一个实施方案中,基于硬件的方法包括:由主分类器(MC)模块基于输入数据预测MC预测类别,MC模块包括具有至少一个安全关键(SC)类别和多个非SC类别的预训练的机器学习主分类器(MLMC);由与每个SC类别相关联的每个监控分类器(GC)模块基于输入数据预测GC预测类别,每个GC模块包括具有两个类别的预训练的机器学习监控分类器(MLGC),两个类别包括相关联SC类别和残差类别,残差类别包括任何非相关联SC类别和多个非SC类别;由最终预测类别决策模块基于MC预测类别和每个GC预测类别确定最终预测类别;以及由最终预测类别决策模块输出最终预测类别。
在另一个实施方案中,系统包括存储器,该存储器被配置为存储包括传感器数据的输入数据;机器学习硬件加速器(MLHA),该MLHA耦接到存储器并且包括:主分类器(MC)模块;与每个SC类别相关联的监控分类器(GC)模块;耦接到MC模块和每个GC模块的最终预测类别决策模块;耦接到存储器和MLHA的处理器,该处理器被配置为:将输入数据传输到MLHA,接收来自MLHA的最终预测类别,并且基于最终预测类别控制自主过程或半自主过程。在一个实施方案中,自主过程或半自主过程包括自主驾驶过程或机器人手术过程。
在另一个实施方案中,MLMC具有多个SC类别,并且所述确定最终预测类别包括当MC预测类别是第一SC类别并且来自与第一SC类别相关联的GC模块的GC预测类别是第一SC类别时,选择第一SC类别作为最终预测类别。
在另一个实施方案中,每个SC类别具有SC优先级水平,并且所述确定最终预测类别包括当MC预测类别是第一SC类别并且来自与第一SC类别相关联的GC模块的GC预测类别是残差类别时:当来自与第一SC类别不相关联的GC模块的GC预测类别是残差类别时,选择MC预测类别作为最终预测类别;当来自与第一SC类别不相关联的GC模块中的一个模块的GC预测类别是第二SC类别并且任何剩余的GC预测类别是残差类别时,选择SC类别作为最终预测类别;以及当来自与第一SC类别不相关联的GC模块中的两个或更多个模块的GC预测类别是SC类别时,对基于SC优先级水平的GC预测类别排序,并且选择具有最高SC优先级水平的GC预测类别作为最终预测类别。
在另一个实施方案中,确定最终预测类别包括当MC预测类别是非SC类别中的一个类别时:当所有GC预测类别是残差类别时,选择MC预测类别作为最终预测类别;当GC预测类别中的一个类别是第二SC类别并且任何剩余的GC预测类别是残差类别时,选择第二SC类别作为最终预测类别;以及当GC预测类别中的两个或更多个类别是SC类别时,对基于SC优先级水平的GC预测类别排序,并且选择具有最高SC优先级水平的GC预测类别作为最终预测类别。
在另一个实施方案中,MLMC具有一个SC类别,并且所述确定最终预测类别包括当MC预测类别是SC类别时,选择SC类别作为最终预测类别;并且当MC预测类别是非SC类别中的一个类别时:当GC预测类别是SC类别时,选择SC类别作为最终预测类别;以及当GC预测类别是残差类别时,选择MC预测类别作为最终预测类别。
在另一个实施方案中,MLHA还包括与SC类别相关联的至少一个附加的GC模块;和GC预测类别决策模块,该GC预测类别决策模块耦接到GC模块和最终预测类别决策模块,并且被配置为:接收每个GC预测类别,基于每个GC预测类别确定最终GC预测类别,并且将最终GC预测类别输出到最终预测类别决策模块,其中所述确定最终预测类别基于MC预测类别和最终GC预测类别。
在另一个实施方案中,确定最终GC预测类别包括当GC预测类别中的至少一半类别是SC类别时,选择SC类别作为最终GC预测类别;并且当GC预测类别中的少于一半类别是SC类别时,选择残差类别作为最终GC预测类别。
虽然本公开的具体实施能够具有许多不同形式的实施方案,但在附图中示出并将在本文详细描述具体实施方案,应当理解,本公开应被视为本公开的原理的示例,而并非旨在将本公开限制于所示和所述的具体实施方案。在上面的描述中,类似的附图标号可用于描述附图的若干视图中的相同、类似或对应的部件。
在本文档中,关系术语,诸如第一和第二、顶部和底部等可仅用于将一个实体或动作与另一个实体或动作区分开,而不一定要求或暗示此类实体或动作之间的任何实际的此类关系或次序。术语“包括”、“包含”、“含有”、“具有”或它们的任何其他变型旨在涵盖非排他性的包括,使得包括一系列元素的过程、方法、制品或装置不仅包括那些要素,而且可包括未明确列出的或此类过程、方法、制品或设备固有的其他元素。在没有更多限制的情况下,前面带有“包括”的元素并不排除在包括该元素的过程、方法、制品或设备中存在附加的相同元素。
贯穿本文档提及的“一个实施方案”、“某些实施方案”、“实施方案”、“具体实施”、“方面”或类似术语意指结合该实施方案描述的特定特征、结构或特性包括在本公开的至少一个实施方案中。因此,此类短语在本说明书内各个地方的出现不一定都是指相同的实施方案。此外,具体特征、结构或特性可以任何合适的方式无限制地组合在一个或多个实施方案中。
如本文所用,术语“或”将被解释为包含性的或意指任何一种或任何组合。因此,“A、B或C”意指“以下中的任一者:A;B;C;A和B;A和C;B和C;A、B和C。”只有当元件、功能、步骤或动作的组合以某种方式固有地相互排斥时,才会出现该定义的例外。另外,语法上的连接旨在表达所连接的分项、句子、词语等的任何和所有分离和连接的组合,除非另有说明或从上下文来看是清楚的。因此,术语“或”通常应理解为意指“和/或”等等。对单数形式的项的引用应理解为包括复数形式的项,反之亦然,除非另有明确说明或从文字中清楚可见。
除非另外指明,否则本文对值的范围的表述并非旨在进行限制,而是单独地指代落入该范围内的任何和所有值,并且此类范围内的每个单独的值被并入本说明书中,如同在本文中被单独地表述一样。当伴随数值时,词语“约”、“大约”等应理解为指示偏差,如本领域的普通技术人员将理解的那样,该偏差令人满意地操作以用于预期目的。值和/或数值的范围在本文中仅作为示例提供,并且不构成对所述实施方案的范围的限制。本文提供的任何和所有示例或示例性语言(“例如”、“诸如”等)的使用仅旨在更好地说明实施方案,而并非对实施方案的范围构成限制。本说明书中的任何语言都不应理解为表示任何未要求保护的元素对于实施方案的实践是必不可少的。
为了简化和清楚地说明,可在附图中重复附图标号以指示对应的或类似的元件。阐述了许多细节以提供对本文所述的实施方案的理解。可以在没有这些细节的情况下实践实施方案。在其他情况下,未详细描述熟知的方法、程序和部件以避免模糊所述实施方案。本说明书不应被视为限于本文所述的实施方案的范围。
在以下描述中,应当理解,诸如“第一”、“第二”、“顶部”、“底部”、“上”、“下”、“上方”、“下方”等术语是为了方便起见,并且不应理解为限制性的术语。而且,术语“装置”、“设备”、“系统”等在本文中可互换使用。
根据详细的说明书,本公开的许多特征和优点是显而易见的,因此,所附权利要求书旨在涵盖落入本公开范围内的本公开的所有此类特征和优点。此外,由于本领域的技术人员将容易想到许多修改和变型,因此不期望将本公开限制于所示和所述的确切构造和操作,并且因此,可采取落入本公开的范围内的所有合适的修改和等同物。
Claims (20)
1.一种机器学习硬件加速器(MLHA),所述MLHA包括:
主分类器(MC)模块,所述MC模块包括具有至少一个安全关键(SC)类别和多个非SC类别的预训练的机器学习主分类器(MLMC),并且被配置为基于输入数据预测MC预测类别并输出所述MC预测类别;
与每个SC类别相关联的至少一个监控分类器(GC)模块,每个GC模块包括具有两个类别的预训练的机器学习监控分类器(MLGC),所述两个类别包括相关联SC类别和残差类别,所述残差类别包括任何非相关联SC类别和所述多个非SC类别,每个GC模块被配置为基于所述输入数据预测GC预测类别,并且输出所述GC预测类别;和
最终预测类别决策模块,所述最终预测类别决策模块耦接到所述MC模块和每个GC模块,并且被配置为:接收所述MC预测类别和每个GC预测类别,基于所述MC预测类别和每个GC预测类别确定最终预测类别,并且输出所述最终预测类别。
2.根据权利要求1所述的MLHA,其中所述MLMC具有多个SC类别,并且所述确定所述最终预测类别包括:
当所述MC预测类别是第一SC类别并且来自与所述第一SC类别相关联的所述GC模块的所述GC预测类别是所述第一SC类别时,选择所述第一SC类别作为所述最终预测类别。
3.根据权利要求2所述的MLHA,其中每个SC类别具有SC优先级水平,并且所述确定所述最终预测类别包括:
当所述MC预测类别是所述第一SC类别并且来自与所述第一SC类别相关联的所述GC模块的所述GC预测类别是所述残差类别时:
当来自与所述第一SC类别不相关联的所述GC模块的所述GC预测类别是残差类别时,选择所述MC预测类别作为所述最终预测类别,
当来自与所述第一SC类别不相关联的所述GC模块中的一个模块的所述GC预测类别是第二SC类别并且任何剩余的GC预测类别是残差类别时,选择所述第二SC类别作为所述最终预测类别,以及
当来自与所述第一SC类别不相关联的所述GC模块中的两个或更多个模块的所述GC预测类别是SC类别时,基于所述SC优先级水平对所述GC预测类别排序,并且选择具有最高SC优先级水平的所述GC预测类别作为所述最终预测类别。
4.根据权利要求2所述的MLHA,其中所述确定所述最终预测类别包括:
当所述MC预测类别是所述非SC类别中的一个类别时:
当所有所述GC预测类别是残差类别时,选择所述MC预测类别作为所述最终预测类别,
当所述GC预测类别中的一个类别是第二SC类别并且任何剩余的GC预测类别是残差类别时,选择所述第二SC类别作为所述最终预测类别,以及
当所述GC预测类别中的两个或更多个类别是SC类别时,基于所述SC优先级水平对所述GC预测类别排序,并且选择具有最高SC优先级水平的所述GC预测类别作为所述最终预测类别。
5.根据权利要求1所述的MLHA,其中所述MLMC具有一个SC类别,并且所述确定所述最终预测类别包括:
当所述MC预测类别是所述SC类别时,选择所述SC类别作为所述最终预测类别;以及
当所述MC预测类别是所述非SC类别中的一个类别时:
当所述GC预测类别是所述SC类别时,选择所述SC类别作为所述最终预测类别,以及
当所述GC预测类别是所述残差类别时,选择所述MC预测类别作为所述最终预测类别。
6.根据权利要求5所述的MLHA,所述MLHA还包括:
与所述SC类别相关联的至少一个附加的GC模块;和
GC预测类别决策模块,所述GC预测类别决策模块耦接到所述GC模块和所述最终预测类别决策模块,并且被配置为:接收每个GC预测类别,基于每个GC预测类别确定最终GC预测类别,并且将所述最终GC预测类别输出到所述最终预测类别决策模块,
其中所述确定所述最终预测类别基于所述MC预测类别和所述最终GC预测类别。
7.根据权利要求6所述的MLHA,其中所述确定所述最终GC预测类别包括:
当所述GC预测类别中的至少一半类别是所述SC类别时,选择所述SC类别作为所述最终GC预测类别;以及
当所述GC预测类别中的少于一半类别是所述SC类别时,选择所述残差类别作为所述最终GC预测类别。
8.一种基于硬件的方法,所述基于硬件的方法包括:
由主分类器(MC)模块基于输入数据预测MC预测类别,所述MC模块包括具有至少一个安全关键(SC)类别和多个非SC类别的预训练的机器学习主分类器(MLMC);
由与每个SC类别相关联的每个监控分类器(GC)模块基于所述输入数据预测GC预测类别,每个GC模块包括具有两个类别的预训练的机器学习监控分类器(MLGC),所述两个类别包括相关联SC类别和残差类别,所述残差类别包括任何非相关联SC类别和所述多个非SC类别;
由最终预测类别决策模块基于所述MC预测类别和每个GC预测类别确定最终预测类别;以及
由所述最终预测类别决策模块输出所述最终预测类别。
9.根据权利要求8所述的基于硬件的方法,其中所述MLMC具有多个SC类别,并且所述确定所述最终预测类别包括:
当所述MC预测类别是第一SC类别并且来自与所述第一SC类别相关联的所述GC模块的所述GC预测类别是所述第一SC类别时,选择所述第一SC类别作为所述最终预测类别。
10.根据权利要求9所述的基于硬件的方法,其中每个SC类别具有SC优先级水平,并且所述确定所述最终预测类别包括:
当所述MC预测类别是所述第一SC类别并且来自与所述第一SC类别相关联的所述GC模块的所述GC预测类别是所述残差类别时:
当来自与所述第一SC类别不相关联的所述GC模块的所述GC预测类别是残差类别时,选择所述MC预测类别作为所述最终预测类别,
当来自与所述第一SC类别不相关联的所述GC模块中的一个模块的所述GC预测类别是第二SC类别并且任何剩余的GC预测类别是残差类别时,选择所述第二SC类别作为所述最终预测类别,以及
当来自与所述第一SC类别不相关联的所述GC模块中的两个或更多个模块的所述GC预测类别是SC类别时,基于所述SC优先级水平对所述GC预测类别排序,并且选择具有最高SC优先级水平的所述GC预测类别作为所述最终预测类别。
11.根据权利要求9所述的基于硬件的方法,其中所述确定所述最终预测类别包括:
当所述MC预测类别是所述非SC类别中的一个类别时:
当所有所述GC预测类别是残差类别时,选择所述MC预测类别作为所述最终预测类别,
当所述GC预测类别中的一个类别是第二SC类别并且任何剩余的GC预测类别是残差类别时,选择所述第二SC类别作为所述最终预测类别,以及
当所述GC预测类别中的两个或更多个类别是SC类别时,基于所述SC优先级水平对所述GC预测类别排序,并且选择具有最高SC优先级水平的所述GC预测类别作为所述最终预测类别。
12.根据权利要求8所述的基于硬件的方法,其中所述MLMC具有一个SC类别,并且所述确定所述最终预测类别包括:
当所述MC预测类别是所述SC类别时,选择所述SC类别作为所述最终预测类别;以及
当所述MC预测类别是所述非SC类别中的一个类别时:
当所述GC预测类别是所述SC类别时,选择所述SC类别作为所述最终预测类别,以及
当所述GC预测类别是所述残差类别时,选择所述MC预测类别作为所述最终预测类别。
13.根据权利要求12所述的基于硬件的方法,所述基于硬件的方法还包括:
与所述SC类别相关联的至少一个附加的GC模块;和
GC预测类别决策模块,所述GC预测类别决策模块耦接到所述GC模块和所述最终预测类别决策模块,并且被配置为:接收每个GC预测类别,基于每个GC预测类别确定最终GC预测类别,并且将所述最终GC预测类别输出到所述最终预测类别决策模块,
其中所述确定所述最终预测类别基于所述MC预测类别和所述最终GC预测类别。
14.根据权利要求13所述的基于硬件的方法,其中所述确定所述最终GC预测类别包括:
当所述GC预测类别中的至少一半类别是所述SC类别时,选择所述SC类别作为所述最终GC预测类别;以及
当所述GC预测类别中的少于一半类别是所述SC类别时,选择所述残差类别作为所述最终GC预测类别。
15.一种系统,包括:
存储器,所述存储器被配置为存储包括传感器数据的输入数据;
机器学习硬件加速器(MLHA),所述MLHA耦接到所述存储器,并且包括:
主分类器(MC)模块,所述主分类器模块包括具有至少一个安全关键(SC)类别和多个非SC类别的预训练的机器学习主分类器(MLMC),并且被配置为基于所述输入数据预测MC预测类别并输出所述MC预测类别;
与每个SC类别相关联的监控分类器(GC)模块,每个GC模块包括具有两个类别的预训练的机器学习监控分类器(MLGC),所述两个类别包括相关联SC类别和残差类别,所述残差类别包括任何非相关联SC类别和所述多个非SC类别,每个GC模块被配置为基于所述输入数据预测GC预测类别,并且输出所述GC预测类别;和
最终预测类别决策模块,所述最终预测类别决策模块耦接到所述MC模块和每个GC模块,并且被配置为:接收所述MC预测类别和每个GC预测类别,基于所述MC预测类别和每个GC预测类别确定最终预测类别,并且输出所述最终预测类别;和
处理器,所述处理器耦接到所述存储器和所述MLHA,并且被配置为:
将所述输入数据传输到所述MLHA,
从所述MLHA接收所述最终预测类别,以及
基于所述最终预测类别控制自主过程或半自主过程。
16.根据权利要求15所述的系统,其中所述MLMC具有多个SC类别,每个SC类别具有SC优先级水平,并且所述确定所述最终预测类别包括:
当所述MC预测类别是第一SC类别并且来自与所述第一SC类别相关联的所述GC模块的所述GC预测类别是所述第一SC类别时,选择所述第一SC类别作为所述最终预测类别;以及
当所述MC预测类别是所述第一SC类别并且来自与所述第一SC类别相关联的所述GC模块的所述GC预测类别是所述残差类别时:
当来自与所述第一SC类别不相关联的所述GC模块的所述GC预测类别是残差类别时,选择所述MC预测类别作为所述最终预测类别,
当来自与所述第一SC类别不相关联的所述GC模块中的一个模块的所述GC预测类别是第二SC类别并且任何剩余的GC预测类别是残差类别时,选择所述第二SC类别作为所述最终预测类别,以及
当来自与所述第一SC类别不相关联的所述GC模块中的两个或更多个模块的所述GC预测类别是SC类别时,基于所述SC优先级水平对所述GC预测类别排序,并且选择具有最高SC优先级水平的所述GC预测类别作为所述最终预测类别。
17.根据权利要求15所述的系统,其中所述MLMC具有多个SC类别,并且所述确定所述最终预测类别包括:
当所述MC预测类别是第一SC类别并且来自与所述第一SC类别相关联的所述GC模块的所述GC预测类别是所述第一SC类别时,选择所述第一SC类别作为所述最终预测类别;以及
当所述MC预测类别是所述非SC类别中的一个类别时:
当所有所述GC预测类别是残差类别时,选择所述MC预测类别作为所述最终预测类别,
当所述GC预测类别中的一个类别是第二SC类别并且任何剩余的GC预测类别是残差类别时,选择所述第二SC类别作为所述最终预测类别,以及
当所述GC预测类别中的两个或更多个类别是SC类别时,基于所述SC优先级水平对所述GC预测类别排序,并且选择具有最高SC优先级水平的所述GC预测类别作为所述最终预测类别。
18.根据权利要求15所述的系统,其中所述MLMC具有一个SC类别,并且所述确定所述最终预测类别包括:
当所述MC预测类别是所述SC类别时,选择所述SC类别作为所述最终预测类别;以及
当所述MC预测类别是所述非SC类别中的一个类别时:
当所述GC预测类别是所述SC类别时,选择所述SC类别作为所述最终预测类别,以及
当所述GC预测类别是所述残差类别时,选择所述MC预测类别作为所述最终预测类别。
19.根据权利要求18所述的系统,所述系统还包括:
与所述SC类别相关联的至少一个附加的GC模块;和
GC预测类别决策模块,所述GC预测类别决策模块耦接到所述
GC模块和所述最终预测类别决策模块,并且被配置为:接收每个
GC预测类别,基于每个GC预测类别确定最终GC预测类别,并且将所述最终GC预测类别输出到所述最终预测类别决策模块,
其中所述确定所述最终预测类别基于所述MC预测类别和所述最终GC预测类别,并且包括:
当所述GC预测类别中的至少一半类别是所述SC类别时,选择所述SC类别作为所述最终GC预测类别,以及
当所述GC预测类别中的少于一半类别是所述SC类别时,选择所述残差类别作为所述最终GC预测类别。
20.根据权利要求15所述的系统,其中所述自主过程或所述半自主过程包括自主驾驶过程,或者机器人执行手术过程或在协作环境中与人类一起工作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/665,255 | 2019-10-28 | ||
US16/665,255 US11514362B2 (en) | 2019-10-28 | 2019-10-28 | Safety-based prediction apparatus, system and method |
PCT/GB2020/050707 WO2021084218A1 (en) | 2019-10-28 | 2020-03-18 | A safety-based prediction apparatus, system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114586050A true CN114586050A (zh) | 2022-06-03 |
Family
ID=70050150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080072364.4A Pending CN114586050A (zh) | 2019-10-28 | 2020-03-18 | 基于安全的预测设备、系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11514362B2 (zh) |
CN (1) | CN114586050A (zh) |
WO (1) | WO2021084218A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220238226A1 (en) * | 2021-01-28 | 2022-07-28 | Industry Foundation Of Chonnam National University | Method for predicting medicinal effects of compounds using deep learning |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113705069A (zh) * | 2021-02-26 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 基于脉动阵列的浅深度模型的计算优化方法和装置 |
US20220358401A1 (en) * | 2021-05-10 | 2022-11-10 | Toyota Research Institute, Inc. | Systems and methods for soft model assertions |
JP7353699B2 (ja) * | 2021-07-12 | 2023-10-02 | ▲蘇▼州▲貝▼克▲微▼▲電▼子股▲ふん▼有限公司 | 人工知能に基づく回路設計方法及び実装システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9037519B2 (en) | 2012-10-18 | 2015-05-19 | Enjoyor Company Limited | Urban traffic state detection based on support vector machine and multilayer perceptron |
US10289332B2 (en) * | 2017-04-21 | 2019-05-14 | Arm Limited | Apparatus and method for increasing resilience to faults |
DE102018207194A1 (de) * | 2018-05-09 | 2019-11-14 | Robert Bosch Gmbh | Bestimmen eines Umgebungszustands eines Fahrzeugs mit verketteten Klassifikatoren |
-
2019
- 2019-10-28 US US16/665,255 patent/US11514362B2/en active Active
-
2020
- 2020-03-18 WO PCT/GB2020/050707 patent/WO2021084218A1/en active Application Filing
- 2020-03-18 CN CN202080072364.4A patent/CN114586050A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220238226A1 (en) * | 2021-01-28 | 2022-07-28 | Industry Foundation Of Chonnam National University | Method for predicting medicinal effects of compounds using deep learning |
Also Published As
Publication number | Publication date |
---|---|
US11514362B2 (en) | 2022-11-29 |
US20210125097A1 (en) | 2021-04-29 |
WO2021084218A1 (en) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114586050A (zh) | 基于安全的预测设备、系统和方法 | |
US11354578B2 (en) | Mixture of generators model | |
Frenkel et al. | ReckOn: A 28nm sub-mm2 task-agnostic spiking recurrent neural network processor enabling on-chip learning over second-long timescales | |
KR102483639B1 (ko) | 뉴럴 네트워크 구조 확장 방법, 디멘션 리덕션 방법, 및 그 방법을 이용한 장치 | |
US9195934B1 (en) | Spiking neuron classifier apparatus and methods using conditionally independent subsets | |
CN104662526B (zh) | 用于高效地更新尖峰神经元网络的装置和方法 | |
WO2020081229A1 (en) | Automatic feature subset selection using feature ranking and scalable automatic search | |
US20140032459A1 (en) | Apparatus and methods for generalized state-dependent learning in spiking neuron networks | |
US12118453B2 (en) | Neural processing unit capable of reusing data and method thereof | |
US11836624B2 (en) | Deep learning with judgment | |
Ettaouil et al. | Architecture optimization model for the multilayer perceptron and clustering. | |
KR102615445B1 (ko) | 대변 이미지 분석 기반 영양 정보 제공 방법, 장치 및 시스템 | |
Lim et al. | Modified fuzzy ARTMAP approaches Bayes optimal classification rates: An empirical demonstration | |
US20230289654A1 (en) | Certainty-based classification networks | |
KR102031983B1 (ko) | 복수의 lstm을 이용한 시계열적 자세 예측 장치 | |
Litvinov | Research of neural network methods of text information classification | |
Fithriasari et al. | Deep learning for social media sentiment analysis | |
Licata | Are neural networks imitations of mind | |
Ben-Bright et al. | Taxonomy and a theoretical model for feedforward neural networks | |
Fong et al. | Self-adaptive parameters optimization for incremental classification in big data using neural network | |
KR102200726B1 (ko) | 플랜트의 전력 관리 장치 및 방법 | |
Atoum | Adaptive Rectified Linear Unit (Arelu) for Classification Problems to Solve Dying Problem in Deep Learning | |
Nápoles | Evolving Recurrent Neural Networks for Pattern Classification | |
US20240140453A1 (en) | Active learning on fallback data | |
Chandra | A Survey on deep learning its architecture and various applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |