首页> 中国专利> 机器学习系统及创建机器学习系统的方法、计算机程序和设备

机器学习系统及创建机器学习系统的方法、计算机程序和设备

摘要

本发明涉及一种机器学习系统(12)、尤其是深度神经网络(20)。所述机器学习系统(12)包括多个层,所述多个层相互连接。所述层分别根据输入变量和至少一个参数来确定输出变量,所述至少一个参数寄存在存储器(200)中。与一个其他层、尤其是在前层连接的那些层的参数分别借助同如下参数相比更高的分辨率而寄存在存储器(200)中:所述参数为与多个其他层、尤其是在前层连接的那些层的参数。此外,本发明涉及一种用于创建机器学习系统(12)的方法、计算机程序以及设备。

著录项

  • 公开/公告号CN112714916A

    专利类型发明专利

  • 公开/公告日2021-04-27

    原文格式PDF

  • 申请/专利权人 罗伯特·博世有限公司;

    申请/专利号CN201980062924.5

  • 发明设计人 T·普法伊尔;

    申请日2019-08-13

  • 分类号G06N3/04(20060101);G06N3/08(20060101);G06N3/063(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人胡莉莉;刘春元

  • 地址 德国斯图加特

  • 入库时间 2023-06-19 10:44:55

说明书

技术领域

本发明涉及一种机器学习系统,所述机器学习系统至少具有参数,所述参数具有较低的分辨率。此外,本发明涉及一种用于创建该机器学习系统的方法和计算机程序以及设备。

背景技术

没有提前公开的文献DE 10 2017 218 889.8公开了一种人工智能模块,该人工智能模块构造为,通过内部处理链,将一个或者多个输入变量处理成一个或者多个输出变量。内部处理链通过一个或者多个参数来规定。设置有分配模块,该分配模块构造为,根据至少一个统计分布来确定所述参数。

可能的是,创建具有极端强烈的量化的量化神经网络,如例如由Italy HUBARA等人的“Quantized neural networks: Training neural networks with low precisionweights and activations”(The Journal of Machine Learning Research,2017年,18.Jg.;第1期,第6869-6898页)所表明的那样。

发明内容

在第一方面,介绍了一种存储器和能量特别高效的机器学习系统。具有根据权利要求1的特征的机器学习系统包括多个层,所述多个层相互连接。同与一个其他(尤其是在前的)层连接的那些层的参数和/或激活相比,与多个(尤其是在前的)层连接的那些层的参数和/或激活分别具有更低的分辨率、尤其是更大的量化误差。

分辨率可以表征,借助多少不同的、可能的(尤其是离散的)变量分别表示参数和/或激活。附加地或者替选地,分辨率可以表征(例如寄存在存储器中的)变量对于参数的原始确定的变量的偏差或精度,例如借助多少位来表示变量。附加地或者替选地,分辨率可以表征在参数和/或激活的两个最小变量之间的差,或者可以表征在参数和/或激活的两个最近的、可能的(尤其是离散的)变量之间的差。应注意的是,有利地不仅参数而且激活被寄存在存储器中,由此借助降低它们的分辨率而需要较少的存储空间。

这些层可以与一个或者多个在前的和/或随后的层连接。在前的层被理解为如下那个层:所述层在时间上在相应的所连接的层之前确定它的输出变量,并且将该层的输出变量作为输入变量提供给相应的所连接的层。随后的层被理解为如下那个层,所述层获得相应的所连接的层的输出变量作为输入变量。

在输入侧连接可以理解为,这些层中的一个层(尤其是在前的层和/或随后的层)的输出变量被用作与该层连接的层的输入变量。

第一方面的机器学习系统具有如下优点,通过所述的参数的降低的分辨率,这些参数可以特别高效地在低的存储空间需求的情况下被存储在存储器中,而不会令人感到意外地损害机器学习系统的性能。此外,通过参数和/或激活的降低的分辨率,可以降低该机器学习系统的计算需求,因为例如通过巧妙利用计算架构和参数的较低的分辨率可以并行地处理这些参数。其他优点是,通过最终得到的资源友好的往来(ressourcenschonendenUmgang),该机器学习系统既可以被用于固定的(例如在计算中心中)应用,又可以被用于移动应用(例如移动数据处理设备或者嵌入式系统)。这样的经过压缩的机器学习系统特别适合于,在传感器附近或在传感器本身中处理所测量的数据,由此可以压缩所测量的数据并且可以带宽更高效地传输所测量的数据。

因而,与多个其他层连接的层的那些参数和/或激活的有针对性地较低的分辨率(尤其是较强烈的量化)没有使机器学习系统的性能(尤其是结果的精度)恶化得出了,通过附加连接其他不同层,提供经过不同处理的输出变量。由此,与多个层连接的那些层获得更多信息,并且输入变量由此可以在更好的或更完整描述的状态空间中被表示。因此,这些层相对干扰更稳健(robuster),由此这些层的参数和激活例如可以更强烈地被量化,而不损害机器学习系统的性能。应注意的是,在参数的分辨率方面的所有内容也可以应用于激活。

建议了,如下位的数目表征分辨率:借助所述位,(尤其是在存储器中)寄存有参数,或者表示激活。此外建议了,同与恰好一个层直接在输入侧连接的那些层的参数或者激活的分辨率相比,与多个层直接在输入侧连接的那个层的参数或者激活的分辨率分别至少低了一个以上的位。

对此有利的是,通过使用较少的位来存储参数,需要较小的存储器,所述较小的存储器允许机器学习系统的较紧凑的建造方式。由于用于存储和读取参数和激活的能量消耗与位的数目成比例并且针对乘法而言与参数和激活的分辨率(单位为位)成平方关系,所以位的数目的(尤其是通过量化)降低是特别计算机资源高效的。

此外建议了,与一个其他层连接的那些层的参数分别具有来自可能的(尤其是离散的)变量的第一列表的变量,而与多个其他层连接的那些层的参数分别具有来自可能的(尤其是离散的)变量的第二列表的变量。

例如,所述列表的变量可以通过确定参数的聚类中心来确定,所述聚类中心于是可以被使用,以便依据(尤其是离散的)聚类中心将参数高效地寄存在存储器中。所述列表的优点是,这些列表分别例如具有所确定的聚类中心,由此借助参数的变量与列表的变量的比较,可以给这些参数分配合适的变量,并且所述参数依据这些参数的较低数目的不同的可能的变量而具有较低的分辨率。应注意的是,替选地或者附加地,这些列表可以具有所确定的参数或者所确定的聚类中心的被舍入的值。替选地,可以分别针对每个层单独地确定这些列表。

此外建议了,第一列表包含比第二列表更多的条目。可设想的是,这些列表的变量是经过量化的变量,其中这里第二列表的值比第一列表的值更强烈地量化,也就是说尤其是具有比第一列表的值更少的量化级。

此外建议了,参数和/或激活的分辨率与直接在输入侧连接的层的数目有关。

应注意的是,机器学习系统既可以仅仅以硬件来实现,又可以以软件或者以由软件和硬件构成的混合形式来实现,由此分别必须提供较小的存储器用于寄存参数,因此根据本发明的第一方面的机器学习系统也可以被安装(verbaut)和被采用在最小的技术系统中。

此外应注意的是,这些层中的每个层都可以分别与多个层中的至少两个其他层在输入侧连接,尤其是每个层都具有跨越连接(Ueberbrueckungsverbindung)(英语为skipconnection)。具有这些层的机器学习系统可以对应于本发明的第一方面的上面所提到的实施方案具有比等效的机器学习系统更低的分辨率、尤其是更强烈的量化,在所述等效的机器学习系统中,这些层在输入侧仅仅与一个其他层连接。

在第二方面,建议了一种(尤其是计算机实施的)用于创建按照第一方面的机器学习系统的方法。该方法此外包括随后的所提到的步骤:在第一步骤中,提供训练数据,所述训练数据分别包括输入变量和分配给所述输入变量的输出变量。于是,训练该机器学习系统。在训练所述机器学习系统时,适配所述参数,使得该机器学习系统根据训练数据的输入变量来确定所述训练数据的分别所分配的输出变量。紧接着,降低参数的分辨率。在这种情况下,同与一个其他层连接的那些层的参数的分辨率相比,分别更强烈地降低与多个其他层连接的那些层的参数的分辨率。

优选地,经过压缩的机器学习系统对于所提供的机器学习系统是结构相同的,因此参数或者激活的相对应的分辨率可以被理解为,在分别另外的机器学习系统的相同位置处,以相对应的分辨率要重新找到这些参数或者激活。

此外建议了,在降低参数的分辨率的情况下,提供了至少两个列表,所述列表分别具有这些参数的可能的变量。分别借助量化经过改变的参数的变量,或者借助聚类经过改变的参数的变量,或者借助舍入经过改变的参数的变量,可以在训练时确定所述列表的变量。给其输入变量是其他层中的一个层的输出变量的那个层的参数分别指派来自可能的(尤其是离散的)变量的第一列表的变量,而给其输入变量是其他层的多个输出变量的那个层的参数分别指派来自可能的(尤其是离散的)变量的第二列表的参量。

此外建议了,根据成本函数来执行训练,其中所述成本函数具有附加的项,当参数的变量不等于该参数的可能的经过量化的变量时,所述附加的项设置对该参数的变量的处罚。

此外建议了,根据传感器的检测到的传感器变量,已根据第二方面产生的机器学习系统确定输出变量,所述输出变量于是被用于借助控制单元来确定控制变量。

控制变量可以被用于控制技术系统的执行器。该技术系统例如可以是至少部分自主的机器、至少部分自主的车辆、机器人、工具、工厂机器(Werkmaschine)或者如无人机之类的飞行物。例如根据检测到的传感器数据,可以确定输入变量,并且可以将输入变量提供给机器学习系统。传感器数据可以由技术系统的传感器(如例如摄像机)来检测,或者替选地可以从外部接收到。

在其他实施例中,机器学习系统设立为,对传感器数据分类。

在其他方面,建议了一种计算机程序。计算机程序设立为,实施本发明的第二方面的在前提到的方法之一。该计算机程序包括指令,当计算机程序在计算机上运行时,所述指令促使计算机实施所提到的方法之一,所述方法具有所有该方法的步骤。此外,建议了一种机器可读的存储模块,在所述机器可读的存储模块上存储有计算机程序。此外,建议了一种设备,所述设备设立为,实施第二方面的方法之一。

附图说明

上面提到的方面的实施例在附上的附图中示出,并且在随后的描述中更详细地予以阐述。在此:

图1示出了车辆的示意图;

图2示出了具有跨越连接和存储器的深度神经网络的示意图;

图3示出了用于利用经过压缩的参数产生机器学习系统的方法的实施形式的示意图;

图4示出了设备的实施形式的示意图,所述设备可以被用于训练机器学习系统。

具体实施方式

图1示出了至少部分自主的机器人的示意图,所述机器人在第一实施例中通过至少部分自主的车辆(10)给出。在其他实施例中,至少部分自主的机器人可以是服务机器人、装配机器人或者固定式生产机器人,替选地可以是自主飞行物、如无人机。

至少部分自主的车辆(10)可以包括检测单元(11)。检测单元(11)例如可以是摄像机,所述摄像机检测车辆(10)的周围环境。检测单元(11)可以与机器学习系统(12)连接。根据所提供的输入变量,并且根据机器学习系统(12)的多个参数,所述机器学习系统(12)确定输出变量,所述输入变量例如由检测单元(11)来提供。输出变量可以被转发给控制单元(13)。

根据机器学习系统(12)的输出变量,控制单元(13)控制执行器,优选地控制该执行器来使得,车辆(10)实施无碰撞的机动动作。在第一实施例中,执行器可以是车辆(10)的发动机或者制动系统。

在其他实施例中,部分自主的机器人可以是工具、工厂机器或者制造机器人(Fertigungsroboter)。工件的材料可以借助机器学习系统(12)来分类。执行器在这种情况下例如是如下发动机:该发动机使磨头运行。

此外,车辆(10)(尤其是部分自主的机器人)包括计算单元(14)和机器可读的存储元件(15)。在存储元件(15)上可以存储有计算机程序,所述计算机程序包括如下指令:在计算单元(14)上实施所述指令时,所述指令导致,机器学习系统(12)借助计算单元(14)来运行。

在部分自主的机器人的其他实施例中,控制单元(13)包括释放系统(Freigabesystem)。根据机器学习系统(12)的输出变量,释放系统判定,对象(例如检测到的机器人或者检测到的人员)是否进入区域。优选地,借助控制单元(13)来操控执行器(示例性地门打开机构)。

在替选的实施例中,针对建筑物控制,可以采用与如在第一实施例中的检测单元(11)连接的机器学习系统(12)。借助传感器来检测用户行为,例如借助摄像机或者运动探测器(Bewegungsmelder)来检测用户行为,并且根据机器学习系统(12)的输出变量,控制单元例如控制采暖系统的热泵。那么,机器学习系统(12)可以设立为,基于检测到的用户行为来确定,建筑物控制装置的何种运行模式是期望的。

在其他实施形式中,机器学习系统(12)被用在测量系统中,该测量系统没有在这些图中示出。测量系统如下区别于按照图1的车辆(10):测量系统不包括控制单元(13)。该测量系统可以存储或者表示第一机器学习系统(12)的输出变量,而不是将所述输出变量转发给控制单元(13),例如借助视觉表示或者听觉表示来表示所述输出变量。

也可设想的是,在测量系统的进一步开发方案中,检测单元(11)检测到人体或者动物体的图像,或者检测到人体或者动物体的部分的图像。例如,这可以借助光学信号、借助超声信号或者借助MRT/CT方法进行。在该进一步开发方案中,该测量系统可以包括机器学习系统(12),所述机器学习系统(12)这样来训练,根据输入变量输出分类,例如基于输入变量可能存在何种临床图像。

在其他实施例中,机器学习系统(12)可以集成在存储器中或集成在检测单元(11)中,以便借助机器学习系统(12)来处理检测到的传感器值。(借助机器学习系统(12))所处理的传感器值优选地是经过压缩的或者已经被评估的传感器值,使得这些传感器值紧接着可以高效地被传输给例如控制单元(13)。优选地,在这种情况下,至少参数存储在传感器的芯片上,或者机器学习系统以硬件形式集成在芯片上。

图2示出了机器学习系统(12)的示意图,所述机器学习系统(12)在该实施形式中通过深度神经网络(20)来给出。在其他实施形式中,机器学习系统(12)可以通过卷积神经网络(英语为Convolutional Neural Network)或者递归神经网络(英语为RecurrentNeural Network)来给出。

深度神经网络(20)包括多个层,所述多个层分别借助连接(23)相互连接,并且所述多个层分别包括多个神经元(22)。此外,深度神经网络(20)具有跨越连接(24)。图2中的跨越连接(24)具有如下效果:深度神经网络(20)的第一层的输出变量被直接转发给第三层,并且在此处作为输入变量被提供。由此,跨越第二层。应注意的是,跨越连接(24)也可以沿着相反的方向构建。例如,借助递归的跨越连接,可以向在前的层作为输入变量输送第三层的输出变量。

根据深度神经网络(20)的输入变量(21),深度神经网络(20)逐层地确定输出变量(25)。为此,每个层根据提供给该层的输入变量并且根据该层的参数来确定输出变量。输出变量于是通过连接(23)被转发给其他层。

在该实施例中,相应的层的参数示例性地可以分别具有至少一个第一变量和/或第二变量和第三变量。这些层可以分别借助第一变量对输入变量进行加权,和/或借助第二变量对输入变量进行滤波。这些层可以将第三变量为此加和到经过加权的/经过滤波的输入变量。可选地,根据所述参数,借助激活函数(例如ReLu)继续处理这些经过处理的输入变量。可选地,该层也可以包括归一化层(英语为batch normalization layer(批归一化层))。

神经网络(20)的特点是,同不具有跨越连接的另外的层的参数相比,借助跨越连接(24)获得第一层的输出变量作为输入变量的层的参数以更低的分辨率寄存在至少一个存储器(200)中。示例性地,第三层的参数借助5位寄存在存储器(200)中,而其他层的参数借助至少8位寄存在存储器(200)中。应注意的是,通过参数的降低的分辨率,同样可以以降低的分辨率(例如5位)来表示激活。也可设想的是,同不具有跨越连接的其他层的激活相比,仅第三层的激活具有减小的分辨率(例如5位),并且神经网络(20)的所有参数具有相同的分辨率(例如8位)。

图3示出了用于创建机器学习系统(12)的方法(30)的示意图。

该方法以步骤31开始。在这方面,训练数据被提供给机器学习系统(12)。训练数据优选地包括训练输入变量和分别所分配的训练输出变量(英语为Label(标签))。训练输入变量例如可以是摄像机的图像,并且训练输出变量例如可以是摄像机图像的分类或者分割。附加地或者替选地,训练数据可以包括多个加标签的音调序列、文本片段、雷达信号、激光雷达信号或者超声信号。

在随后的步骤32中,训练机器学习系统(12)。在训练机器学习系统(12)时,机器学习系统(12)的相应层的参数被适配为使得:根据所提供的训练输入变量,机器学习系统确定分别所分配的输出变量。

优选地,根据如下成本函数来执行训练:所述成本函数例如表征在所确定的输出变量(25)与训练输出变量之间的差。成本函数可以借助梯度下降方法在参数方面进行优化。在梯度下降方法中,迭代地优化成本函数,其中常见地使用具有为32位的分辨率的梯度。参数可以根据梯度来适配,由此成本函数改变,使得所述成本函数在理想情况下被最小化或者被最大化。由于梯度通常具有为32位的分辨率,所以所适配的参数根据梯度以优选地为32位的分辨率寄存在存储器(200)中。

在步骤32中已执行训练之后,跟着是步骤33。在步骤33中,量化所适配的参数,所述所适配的参数分别具有为32位的分辨率。附加地,对于所述参数的量化可以减小激活的分辨率,优选地相对于相应的层的量化来减小激活的分辨率。

参数的量化可以借助线性量化来执行,但是也可以利用非线性量化(例如对数量化)来执行。除了所提到的确定性量化之外,也可设想随机量化,为此参见在开头所提到的文献。

量化例如可以执行为使得,所有层具有相同的量化,优选地具有带有8位的量化。于是,有针对性地可以更强烈地量化与多个其他层连接的层的这些参数,优选地以5位来量化这些参数。替选地,针对与仅仅一个其他层连接的那些层的参数,可以分别使用不同的量化,优选地使用具有大于8位、尤其是8位到12位的量化。也可设想的是,与多个其他层连接的那些层分别具有不同的量化,优选地具有带有小于8位、尤其是4位到7位的量化。

在已降低参数的分辨率之后,具有降低的分辨率的这些参数在步骤34中被寄存在存储器(200)中。

由此,该方法(30)结束。应注意的是,步骤32至34可以循环多次地相继被重复,直至满足可预先给定的中断标准。可选地,在使用多批(英语为Batch)训练数据时,在步骤34结束之后,例如针对其他批,以步骤32开始,可以重新训练具有新寄存的参数的机器学习系统。

在其他实施例中,在步骤32之后,附加地或者替选地,根据是否存在跨越连接,可以执行层的参数和/或激活的分辨率的降低(也就是说量化)。针对机器学习系统(12)具有至少一个跨越连接的情况,分辨率被选择得同针对不具有跨越连接的情况相比更低。附加地或者替选地,从多个不同的在精度和/或计算开销方面具有分别不同特性的用于降低分辨率的方法中,根据跨越连接的存在可选择合适的方法。例如,如果不存在跨越连接,则可以选出对数量化方法,而如果存在跨越连接,则可以选出较简单的(例如线性的)量化方法。有利地,利用相同的量化分辨率来量化参数和激活,尤其是在获得输入变量的输入层之后的层。

图4示出了用于产生机器学习系统(12)的设备(40)的示意图,所述设备(40)尤其是用于实施用于产生机器学习系统(12)的步骤31至34。该设备(40)包括训练模块(41)和要训练的模块(42)。要训练的模块(42)包含机器学习系统(12)。根据机器学习系统(12)的输出变量并且优选地利用可预先给定的训练数据,用于训练机器学习系统(12)的设备(40)训练该机器学习系统(12)。在训练期间,适配机器学习系统(12)的如下参数:所述参数寄存在存储器(200)中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号