CN114386558A - 生成简化的计算机实施的神经网络 - Google Patents
生成简化的计算机实施的神经网络 Download PDFInfo
- Publication number
- CN114386558A CN114386558A CN202111215634.5A CN202111215634A CN114386558A CN 114386558 A CN114386558 A CN 114386558A CN 202111215634 A CN202111215634 A CN 202111215634A CN 114386558 A CN114386558 A CN 114386558A
- Authority
- CN
- China
- Prior art keywords
- neural network
- pruning
- matrix
- substructures
- simplified
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 246
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000013138 pruning Methods 0.000 claims abstract description 74
- 239000011159 matrix material Substances 0.000 claims abstract description 67
- 230000008859 change Effects 0.000 claims abstract description 19
- 239000013598 vector Substances 0.000 claims description 46
- 238000012549 training Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 37
- 210000002569 neuron Anatomy 0.000 description 29
- 238000011156 evaluation Methods 0.000 description 6
- 230000001537 neural effect Effects 0.000 description 4
- 206010051290 Central nervous system lesion Diseases 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000764238 Isis Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010413 gardening Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- 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
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
生成简化的计算机实施的神经网络。本发明涉及用于为设备生成简化的计算机实施的神经网络的技术。该方法包括:接收预给定的神经网络,所述神经网络在两个或更多个层中包含多个神经网络子结构。该方法还包括:针对预给定的神经网络计算近似神经网络,并计算与近似神经网络相关的矩阵,所述矩阵描述通过从多个神经网络子结构中剪枝一个或多个神经网络子结构引起的损失函数的变化。该矩阵通过同时从位于预给定的神经网络的两个或更多个层的不同层内的多个神经网络子结构中剪枝至少两个网络子结构来描述损失函数的变化。最后,该方法包括:基于在该矩阵中描述的损失函数的变化从多个神经网络子结构中剪枝至少一个神经网络子结构以生成简化的神经网络。
Description
技术领域
本公开涉及用于从预给定的神经网络生成简化的计算机实施的神经网络的技术以及用于应用简化的计算机实施的神经网络的技术。
背景技术
计算机实施的神经网络越来越多地用于各种技术设备中。在这里,许多技术设备的神经网络可具有复杂的结构(例如,具有大量神经元、层和相应的连接)。这可对应用神经网络所需的硬件提出(过)高的要求。因此,可能有必要在计算机实施的神经网络的性能与其复杂性之间找到折衷方案。
为了解决上述问题,开发了所谓的剪枝方法(“pruning methods”)。剪枝方法一方面旨在减小神经网络的大小并简化其整体结构,但另一方面旨在保持简化的神经网络的良好整体性能(或尽可能少地损害整体性能)。因此,例如针对具有有限硬件资源的较小型技术设备(例如电动工具、园艺设备或家用电器等),可以使用根据所述方法简化的神经网络。在其他示例中,可能有必要减少计算机实施的神经网络的评估时间,以确保技术设备(例如自主机器人)的反应足够快。为此,简化计算机实施的神经网络也可以是有利的。
发明内容
本发明涉及一种用于为设备生成简化的计算机实施的神经网络的方法。该方法包括:接收预给定的神经网络,所述神经网络在两个或更多个层中包含多个神经网络子结构。该方法还包括:针对预给定的神经网络计算近似神经网络,并计算与近似神经网络相关的矩阵,所述矩阵描述通过从多个神经网络子结构中剪枝一个或多个神经网络子结构引起的损失函数的变化。该矩阵通过同时从位于预给定的神经网络的两个或更多个层的不同层内的多个神经网络子结构中剪枝至少两个网络子结构来考虑损失函数的变化。最后,该方法包括:基于在该矩阵中描述的损失函数的变化从多个神经网络子结构中剪枝至少一个神经网络子结构以生成简化的神经网络。
此外,该方法包括:简化的计算机实施的神经网络在技术设备中的应用以及计算机实施的神经网络,所述计算机实施的神经网络利用对应的方法生成。
本发明的技术旨在生成相对于原始的预给定的神经网络更小尺寸(例如具有较少数量的神经元和/或连接和/或层)的简化的神经网络。在这种情况下,生成的简化的神经网络的整体性能或精确性的损失不应太大(并且在理想情况下不发生整体性能或精确性的损失)。这种简化(剪枝)的计算机实施的神经网络可以适用于具有相对可管理的硬件资源的技术设备(例如便携式电子设备或没有永久网络连接的设备),或者适用于需要更高计算和评估速度的技术环境(例如在至少半自主车辆的情况下)。然而,降低的复杂性和/或提高的计算和评估速度也可用于其他技术环境(例如降低功耗)。
附图说明
图1a示意性地示出了在剪枝(简化)之前和之后最初训练的神经网络。神经元及其连接示出为节点(圆圈)或边(箭头)。
图1b示意性地示出了剪枝向量,借助该剪枝向量可以将海瑟矩阵H转换成Q矩阵(通过从多个神经网络子结构中剪枝一个或多个神经网络子结构来描述损失函数的变化的矩阵)。剪枝向量在此与神经网络的节点p相关,并通过剪枝节点p的一个或多个连接描述了当前权重的变化。
图2a示意性地示出了Q矩阵的所有计算的分量(黑色元素对应于较大的值)和通过使用用于神经网络的“Lin Sum OBD”剪枝方法的剪枝,所述神经网络针对波士顿住房数据集(即标准数据集)创建。与Q矩阵的用线标记的分量对应的神经结构被迭代去除。
如图2a那样,图2b示意性地示出了Q矩阵的相同分量和通过使用“迭代完全OBD(Iterative Full OBD)”剪枝方法的剪枝。与Q矩阵的用白色圆圈标记的分量对应的神经结构被迭代去除。
如图2a和图2b那样,图2c示意性地示出了Q矩阵的相同分量和通过使用“结构化OBD”(“structured optimal brain damage”(结构化最优脑损伤))剪枝方法的剪枝。与Q矩阵的用白色圆圈标记的分量对应的神经结构被迭代去除。
图3比较了与剪枝比的不同值相关的在图2a-2c中使用的剪枝方法的测试损失。为零的剪枝比对应于预给定的神经网络未被剪枝的情况。在该示例中,经训练的神经网络选择为预给定的神经网络。
具体实施方式
本公开涉及用于从预给定的神经网络中通过剪枝其结构生成简化的计算机实施的神经网络的方法。
在图1a中(示意性地)草绘了示例性神经网络1。神经网络可以由多个神经元组成(示例性神经元2在图1a中突出显示),所述神经元形成神经网络1的节点并经由边3相互连接。本公开的计算机实施的神经网络的神经元设置在多个层中(例如,图1a的第三层4包含三个神经元)。在本公开中,通向神经元(或节点)的边或连接被视为相应层的一部分(即输入连接和节点在同一层中)。计算机实施的神经网络可以包含两层或更多层、三层或更多层或者五层或更多层。神经元及其连接可以具有不同的结构,并且可以借助图表示为节点或边。在本公开中,由神经网络的元素构成的任何子集被称为“神经网络子结构”。在一些示例中,神经网络子结构可以包括一个或多个边、一个或多个节点或者一个或多个节点和边构成的组合(例如一个节点和通向和来自该节点的边)。除了图1a中所示的网络,可以包含附加的元素(例如反馈或存储器)。这些元素也可以是神经网络子结构或其中的一部分。在其他示例中,神经网络的元素可以是用于描述神经网络的参数(下面更详细地解释这方面)。
确定的神经元j的输出可以取决于一个或多个神经元i的所施加的输入。尤其是,可以首先形成神经元j的加权的所施加的输入的总和,其中可以为所有神经元定义从神经元j到神经元i的式子的权重。(可以表示,神经元j与神经元i没有连接。)最后,在将为各个神经元定义的激活函数应用于先前计算的总和之后可以确定神经元j的输出。因此,在一些示例中,可以通过指定神经网络的拓扑结构和/或所有神经元的权重来定义神经网络。因此,权重也可以是本公开意义下的神经网络子结构的元素。也就是说,神经网络结构可以包含神经网络的一个或多个权重(一个或多个边可以对应于神经网络的图形描述)。根据上面介绍的语言规则,通向确定的层的节点或神经元的连接或边的所有权重都属于这一层。该确定的层的起始边或连接的权重属于另一层。
可以创建和训练计算机实施的神经网络,以使用在某一设备中(例如完全或不完全训练),以便处理在该设备中积累的数据(例如传感器数据),并且例如计算对于监视和/或控制所述设备相关的输出数据。因此,该设备的属性或其对确定的事件的反应最终可以“隐藏”在神经网络的拓扑和权重中。在其他示例中,神经网络也可以通过权重的其他和/或附加参数来描述。在本公开中,权重被讨论为示例性参数。然而,这里描述的技术也可以用于其他参数。
一些现有技术中使用的用于从经训练的神经网络剪枝网络结构的方法运行如下:在生成神经网络之后,其拓扑取决于其任务,可以相应地选择权重。这些权重的选择被称为训练或学习神经网络。该步骤在计算机系统上执行。在“监督学习”期间,提供多个输入数据集(例如传感器数据)和相应的多个期望输出数据集(例如技术设备或其环境或控制变量的状态)(即输入和输出数据集分别形成一对)。分别由N对构成的数据集称为训练数据集。神经网络的训练可以表述为优化问题,其中神经网络的权重必须被调整,使得由神经网络针对给定的输入生成的输出(其中是参数集θ、例如权重集的神经网络的传递函数)尽可能接近所期望的输出。该优化问题可以表示为损失函数的最小化(在本公开中指的是损失函数的最小化,即使这在某些情况下对应于表达式的最大化时也如此)。损失函数可以采用不同式子。在一个示例中,损失函数是均方差(“MSE”)函数,例如:
可以针对所有权重执行最小化。作为这种最小化的结果,确定了经训练的权重,所述权重导致损失函数的局部(或全局)最小值。因此,建立训练的神经网络。该训练的目的不仅在于在训练阶段中再现所期望的输出(),而且在于能够为其他输入提供可信的输出(即未知输出)。
经训练的神经网络可以具有复杂拓扑结构和大量的神经元和连接,并且因此导致在计算中的高且不期望的硬件要求。正如上面已经提到的那样,该复杂神经网络首先借助剪枝方法简化,以便能够将其使用于相对应的设备上。在图1a的右侧,示出了简化的(剪枝的)神经网络1a。例如,在最上层和下层5之间剪枝几条边(连接)。附加地,在倒数第二层6中剪枝节点连带相关的边。
这种简化可以包括:分析通过剪枝一个或多个神经网络子结构引起的损失函数的相应变化。对结构的剪枝可以包括:去除神经元之间的一个或多个连接(即边)和/或完全去除一个或多个神经元连带其接入和接出连接。在其他情况下(或在另一图像中),剪枝可以包括:去除或将一个或多个权重设置为零(这可以是用于去除一个或多个连接或边的替选描述)。在其他情况下,神经网络可以包括超出图1a中所示的结构的元素(例如反馈或存储器)。网络结构也可以利用本公开的方法来剪枝。
这里,是预给定的神经网络(例如权重为的经训练的神经网络)的给定的权重向量周围的干扰向量,干扰向量反映了在剪枝之后权重中的对应变化。通过的转置产生。=是海瑟矩阵,所述海瑟矩阵由损失函数关于权重的二阶偏导数组成,所述二阶偏导数在该示例中针对经训练的权重被计算。在此适用于(至少近似)经训练的网络0,因为具有对于经训练的权重的最小值(至少近似在预定的数值精度的范围内)。可以忽略泰勒展开中比二阶更高阶的项。损失函数的变化于是由给定。如图1b所阐明,对应于相应的子结构(例如节点p)的权重的剪枝向量。在这种情况下,剪枝向量描述通过剪枝节点p的一个或多个连接引起的当前权重的变化。剪枝向量同样可以针对其他网络子结构来定义(例如对于两个或多个节点与相应的接入边的组合,其中节点位于不同层内或在一层内,或者节点是相邻节点)。
针对多个神经网络子结构剪枝的情况,损失函数的变化可以表示为关于矩阵的多个分量的总和,所述矩阵描述通过从多个神经网络子结构中剪枝一个或多个神经网络子结构引起的损耗函数的变化。例如,损失函数的变化可以通过以下式子确定:(beschn.:剪枝),其中矩阵定义为。总和中的运行指标p和q从1运行到S,其中S表示网络子结构的总数。海瑟(Hesse)矩阵由二阶偏导数组成,并因此该矩阵通常具有非对角线分量(即交叉项),所述非对角线分量可以是不可忽略地小。这可以通过如下事实来阐述,损失函数可以是关于权重的非线性函数。因此,通过海瑟矩阵定义的矩阵也可以具有非对角线形状。总之,损失函数的变化在一些示例中可以表示为两项之和: 。第一项是矩阵的对角线分量之和,其中p=q,所述矩阵单独考虑由于每个子结构p的剪枝引起的损失函数的变化。每个对角线分量仅通过相对应的经剪枝的子结构p给定。第二项现在表示矩阵的所有非对角线分量的总和,其中p≠q。因此,每个非对角线分量可以描述通过同时剪枝子结构p和子结构q引起的损失函数的变化。在此意义上,可以指两个子结构p和q之间的相关性,因为只有当同时剪枝这两个子结构时才会发生损失函数的这种变化。
尽管损失函数的变化的表达式看似简单,但在的计算中会存在一些困难。首先,海瑟矩阵(并因此矩阵)的维度通常非常大,其中P表示神经网络中的连接的总数。出于此原因,在现有技术的一些目前已知的方法中,将海瑟矩阵通过对角矩阵(或几乎是对角矩阵)来近似。然而,这种近似忽略了上述定义的意义下的网络结构之间可能的相关性。然而,这可能导致在如下评估中的(部分相当大的)不精确性:网络子结构中的哪些网络子结构对神经网络的性能有影响。其次,的计算包含计算机实施的系统上的大数量计算步骤,所述数量随着根据 的剪枝向量的维度P和训练数据集N的数量而缩放。此外,计算步骤的数量与如下实事完全无关:考虑予以剪枝的网络子结构的相应的维度S可以显著地小于神经网络中的连接的总数P。因此,上述对具有大P的复杂结构的估计可能难以计算上执行。第三,可附加地得出问题的是,训练神经网络(尤其是相对大和复杂的神经网络)可能在计算上非常昂贵并因此是冗长的任务。在一些实施方式中,本公开的技术可以解决这些问题。
本公开的用于生成简化的计算机实施的神经网络的方法的第一步例如可以包括:接收预给定的神经网络,该神经网络在两层或更多层中包含多个神经网络子结构。例如,每层可以通过多个神经元和相应的接入连接给定。在此,设置在一层中的神经元的经加权的输出可以是可设置在另一层中的另一神经元的输入。例如,根据图1a的神经网络1包含四层。对于预给定的神经网络,可以给定当前权重。在一些情况下,也可以接收用于训练神经网络或待用于训练的训练数据集。在一些情况下,预给定的神经网络可以是经训练的神经网络(例如,损失函数已通过训练最小化)。在其他示例中,预给定的神经网络可以是未经完全训练的神经网络(例如,损失函数尚未通过训练最小化)。在一些情况下,未经完全训练的神经网络只能执行完全训练所需的训练回合的一小部分(所谓的时期(Epochen),其可以表示对训练数据集的完整训练迭代,例如在执行“随机梯度下降(StochasticGradient Descent)”或其他方法的情况下)(例如少于100个训练回合或少于20个训练回合)。本公开的剪枝方法对于未经完全训练的神经网络会是特别有利的。“早期”剪枝可以减少训练开销。
训练数据集可以包含不同类型的数据,其中分别在一对中输入数据和输出数据组合成一对。例如,输入日期和输出日期分别可以是标量(例如标量测量值)、任意长度的向量(即长度为1或更大)或矩阵。输入数据可以代表技术设备的环境影响或内部运行状态。在一个示例中,输入数据可以包括传感器数据。替选地或附加地,输入数据可以包括图像数据和/或音频数据。输出数据可以是设备或环境的状态或已识别的事件(例如,电子设备的状态“电池几乎耗尽”或“正在下雨”)。在其他示例中,输出参量可以是控制参量(例如对于执行器)或以某种其他方式辨识设备的反应。
根据本发明首先为预给定的神经网络计算近似神经网络。这可以包括围绕预给定的神经网络的当前权重的近似。例如,可以通过围绕当前权重的线性化来生成近似神经网络。例如,神经网络可以通过在一组权重的情况下神经网络的传递函数的评估之和加上随权重线性缩放的项来近似。例如,这可以描述如下: ,其中是神经网络的传递函数的梯度,所述梯度在当前权重的情况下在训练数据集上被计算。通过该措施可以以资源高效的方式执行该方法的其他步骤(例如在计算机系统上利用少的计算步骤执行)。
在根据本发明的方法的另一步骤中,可以计算与已经生成的近似神经网络相关的矩阵,该矩阵描述损失函数的变化。如上所述,这些变化可以通过从多个神经网络子结构中剪枝一个或多个神经网络子结构引起。矩阵可以描述通过同时从位于预给定的神经网络的不同层内的多个神经网络子结构中剪枝至少两个网络子结构引起的损失函数的变化(即矩阵可以考虑至少两个网络子结构之间的响应的相关性)。此外,在一些示例中,矩阵可以考虑通过同时剪枝位于预给定的神经网络的一层内的网络子结构引起的损失函数的变化。在一些示例中,矩阵可以描述通过同时从多个神经网络子结构(例如所有可能的对)中剪枝至少两个网络子结构的多对引起的损失函数的变化。
基于矩阵中描述的损失函数的变化,例如基于该矩阵的多个(例如所有)计算出的分量(而并不如在现有技术方法中那样仅基于主要对角线分量),可以确定:哪些神经网络子结构对原始预给定的神经网络的整体性能的贡献很小或甚至可以忽略不计(例如,整体性能下降不大于预定的测定值)。例如,在该上下文中,只有在剪枝之后没有造成损失函数的上升或仅造成损失函数的非过度的上升的子结构可以分类为待剪枝的子结构。因此,这样分类的子结构可以从预给定的神经网络中被剪枝,以便能够实现为设备生成简化的神经网络。由此产生的简化神经网络可以更快地为设备提供数据和/或需要更少的硬件资源。
在此,如果通过使用预给定的神经网络关于其当前权重的二阶泰勒级数近似由剪枝得到的的变化,则上述线性化可以对应于损失函数中的近似。在一些情况下,如果预给定的神经网络不是经训练的神经网络(而是经部分训练的神经网络),则损失函数根据权重的一阶导数不为零。
此外,该方法例如可以包括:计算预给定的神经网络围绕当前权重的上述梯度。在一个示例中,梯度的计算可以使用当前矩阵X,该矩阵X可以包含N对输入数据集的输入数据。然后,可以将梯度乘以网络子结构的剪枝向量(也称为扰动向量),以获得维度N的第二个向量,其中每个剪枝向量分配给要剪枝的网络子结构。以此方式,可推导出多个第二向量(即S个第二向量),以考虑预给定的神经网络中可能的结构变化。计算成本针对这些步骤如缩放。在其他示例中,梯度和第二个向量的计算可以通过使用Jakobi矢量积来实施。同样,这在计算上又会比现有技术的一些方法更高效。
如已经提及的那样,在一个示例中,预给定的神经网络可以是经训练的神经网络。在该情况下,训练数据集(X)可以由多对组成,其中每对由技术设备的输入集和相应的输出集形成,并且其中预给定的神经网络可以为每对的输入集生成相应的输出集。此外,损失函数根据权重的一阶导数的在使用经训练的权重后计算的向量可以具有值,所述值对应于损失函数的局部(或全局)最小值(在预定的精度的范围内)。在该示例中,矩阵的所有分量的计算可以通过针对经训练的神经网络的神经网络子结构的多对(例如每对)计算来自多个第二向量的所获得的第二向量和的标量积来执行( )。
在其他示例中,预给定的神经网络可以是不完全训练的神经网络(其中术语“不完全训练”在上面介绍的意义上予以理解),其方式是:损失函数的一阶导数的在使用当前权重后计算的向量根据其权重可以具有如下值(例如明显不等于零的值,其中 ),所述值不对应于对于当前权重的损失函数的局部最小值。在这种情况下,损失函数对于当前权重将没有局部最小值。在一个示例中,神经网络的常见训练可以在几个优化步骤(时期)之后终止,并且得到的神经网络可以用作本公开的方法的预给定的神经网络。在另一示例中,神经网络可以通过确定的权重值初始化。然后,可以在根据本发明的方法中立即实施经初始化的神经网络并且将其视为预给定的神经网络。如果对神经网络的常见训练在计算上耗费或由于硬件资源有限而根本不可能,使用未完全训练的神经网络可能特别合适的。
通过使用未完全训练的神经网络计算矩阵可以包括三个步骤。首先,与在经训练的神经网络的第一示例中一样,针对未完全训练的神经网络的神经网络子结构的多对(例如每对)可以计算来自多个第二向量的所获得的第二向量和的标量积。以这种方式,可以计算主对角线分量和次对角线分量的(第一)贡献。此外,考虑矩阵的主对角线分量的第二量值,其通过计算损失函数对接着使用当前权重的多个剪枝向量的一阶导数的向量和多个第一向量的标量积来执行。最后,将两个贡献相加。例如,这可能发生在以下式子,其中是克罗内克(Kronecker)函数。
与在该方法中是使用经训练的神经网络还是使用未完全训练的神经网络作为预给定的神经网络无关,矩阵的计算成本在一些情况下可以以缩放。总之,根据本发明的方法的总计算成本可以用缩放,以便计算矩阵的所有分量。本发明的方法因此可以具有计算成本的获益,特别是在其中的较大结构的情况下,因为矩阵的直接计算可能需要明显更多的计算步骤。
在第一种方法中,在此可以首先将矩阵的每一列中的所有分量相加以获得多个和。然后在考虑计算出的和的情况下,迭代地去除多个神经网络子结构。例如,这可以从计算多个和中的和的最小量值的神经网络子结构开始来实现。可以首先去除这些神经网络子结构。针对图2a中的神经网络示例性地示出这种所谓的“Lin Sum OBD”(“optimal braindamage(最佳脑损伤)”)剪枝方法的结果,该神经网络是为波士顿住房数据集(即标准数据集)创建的。在该图中示出了四个示例性的列7a-d,其中和的量值通过打孔的密度来说明。右列7d具有最小的和。因此,可以首先剪枝相关的神经网络子结构。
在替选方法中,首先去除对应于矩阵的主对角线分量的最小量值的神经网络子结构。此后,迭代去除多个神经网络子结构,其中每个后续要去除的神经网络子结构对应于矩阵的与之前去除的神经网络子结构有关的多个主对角线分量和非对角线分量之和的最小量值。在图2b中示出了对与图2a中相同的神经网络应用这种“迭代完全OBD(IterativeFull OBD)”剪枝方法的示例。示例性的对角线和非对角线分量由圆圈表示,其中圆圈的大小与主对角线分量的大小/主对角线分量和非对角线分量之和成反比。
在另一替选方法中,可以首先去除对应于具有预定义的值的矩阵()的主对角线分量、可选地矩阵()的最小主对角线分量的神经网络子结构。在一个示例中,首先可以将矩阵的计算出的主对角线分量按升序排列。然后去除对应于最小主对角线分量的神经网络子结构。接下来,根据本发明的方法包括:迭代去除多个神经网络子结构,其中每个要去除的后续神经网络子结构对应于排列的主对角线分量的下一个较大的值。用于与图2a和图2b中相同的神经网络的这种“结构化OBD”(“结构化最优脑损伤(structuredoptimal brain damage)”)剪枝方法的结果在图2c中作为示例示出。示例性对角线分量由圆圈表示,其中圆圈的大小与主对角线分量的大小成反比。
在图3中比较与剪枝比的不同值相关的在图2a-2c中使用的剪枝方法的测试损失。为零的剪枝比对应于预给定的神经网络未被剪枝的情况。在该示例中,经训练的神经网络选择为预给定的神经网络。对于“迭代完全OBD (Iterative Full OBD)”方法或“结构化OBD”方法的经剪枝的网络的整体性能对于小于0.7或0.4的剪枝比的值实际上不受影响,如该图所示。
通常,上述的所有三个剪枝过程都被执行直至简化的神经网络的大小低于所需的大小。在一个示例中,所期望的大小可以通过简化的神经网络中或简化的神经网络的一层内的最小神经元数量给定。在其他示例中,可以通过简化的神经网络中的神经元之间的连接的最小数量或通过简化的神经网络的一层内的神经元之间的连接的最小数量来定义期望的大小。期望的大小例如也可以作为简化的神经网络的未剪枝的层或结构的最小数量给定。在其他示例中,执行剪枝方法直到简化的神经网络的整体性能低于预定义的阈值。例如,可以借助测试损失来估计整体性能(参见例如图3),而这又可以根据损失函数来计算。在一个示例中,预定义的阈值可以定义为简化的神经网络和预给定的神经网络的整体性能之比。在另一示例中,预定义的阈值可以对应于选定的数量。
如前所述,本公开的简化的计算机实施的神经网络可用于各种技术应用中。大体而言,本公开还涉及方法,一方面剪枝计算机实施的神经网络,然后在技术设备中使用计算机实施的神经网络的方法。该使用例如可以包括,通过简化的神经网络控制(或调节)技术设备,通过简化的神经网络识别技术设备的运行状态(例如故障)或技术设备的环境的状态,或通过简化的神经网络评估技术设备的运行状态或技术设备的环境状态。在这种情况下,输入数据可以包含与设备的内部状态相关的状态数据(例如至少部分传感器数据)。附加地或替选地,输入数据可以包含与设备的环境有关的状态数据(例如,至少部分地传感器数据)。简化的神经网络的输出数据可以表征设备的运行状态或其他内部状态(例如,是否存在错误或临界运行状态)。输出数据可用于响应表征的运行状态或另一内部状态来控制所述设备。替选地或附加地,输出数据可以包含所述设备的控制数据。
在一些情况下,该设备可以是电器(例如工具、家用电器或园艺设备)。在其他示例中,该设备可以是物联网设备(“Internet of Things”)。替代地或附加地,该设备可以是电池驱动的设备。如上所述,简化的计算机实施的神经网络在这些环境中可能是有利的,因为它们可以被设计为相对资源高效。
简化的计算机实施的神经网络可用于对时间序列进行分类,尤其是对图像数据进行分类(即设备是图像分类器)。图像数据可以是例如相机图像数据、激光雷达图像数据、雷达图像数据、超声图像数据或热图像数据(例如由相应的传感器生成)。图像数据可以包括单独图像或视频数据。在一些示例中,计算机实施的神经网络可以设计用于监控设备(例如制造过程和/或用于质量保证)或用于医学成像系统(例如用于查找诊断数据)或可以使用于这样的设备中。图像分类器可以设计为接收图像数据并将其分类为若干类别。在一些示例中,这可以包括将包含图像数据的一维()的输入向量形式的输入数据映射到第二维()输出向量形式的输出数据上,所述输出向量表示分类结果。例如,输入向量的分量可以表示多个接收到的图像数据。输出向量的每个分量都可以表示使用简化的计算机实施的神经网络计算的图像分类结果。在一些示例中,图像分类可以包括图像的语义分割(例如,图像的逐像素分类)。例如,图像分类可以是对象分类。例如,可以检测图像数据中的一个或多个物体的存在(例如在驾驶员辅助系统中自动识别交通标志或车道)。
在其他示例中(或附加地),计算机实施的神经网络可以被设计或使用来监控至少半自主机器人的运行状态和/或环境。至少半自主机器人可以是自主车辆(或另一种至少半自主移动或运输工具)。在其他示例中,至少半自主机器人可以是工业机器人。在其他示例中,该设备可以是一台机器或一组机器(例如,工业现场)。例如,可以监控机床的运行状态。在这些示例中,输出数据y可以包含与相应技术设备的运行状态和/或环境有关的信息。
在其他示例中,要监控的系统可以是通信网络。在一些示例中,网络可以是电信网络(例如5G网络)。在这些示例中,输入数据x可以包含网络节点中的利用率数据,并且输出数据y可以包含与资源分配相关的信息(例如信道、网络信道中的带宽或其他资源)。在其他示例中,可以识别网络故障。
在其他示例中(或附加地),计算机实施的神经网络可以被设计或用于控制(或调节)技术设备。该设备又可以是上面(或下面)讨论的设备之一(例如,至少半自主机器人或机器)。在这些示例中,输出数据y可以包含相应技术系统的控制变量。
在其他示例中(或附加地),可以设计或使用计算机实施的神经网络来对信号滤波。在某些情况下,信号可以是音频信号或视频信号。在这些示例中,输出数据y可以包含经滤波的信号。
可以在计算机实施的系统上执行本公开的用于生成和应用简化的计算机实施的神经网络的方法。计算机实施的系统可以包括至少一个处理器、至少一个存储器(其可以包含程序,所述程序在被执行时执行本公开的方法)以及至少用于输入和输出的接口。计算机实施的系统可以是“独立”系统或经由网络(例如互联网)通信的分布式系统。
本公开还涉及利用本公开的方法生成的(简化的)计算机实施的神经网络。本公开还涉及构建为执行本公开的方法的所有步骤的计算机程序。此外,本公开涉及机器可读存储介质(例如光存储介质或固态存储器例如闪存),在所述机器可读存储介质上存储计算机程序,所述计算机程序构成为执行本公开内的方法的所有步骤。
Claims (17)
2.根据权利要求1所述的方法,
其中近似神经网络的计算包括围绕预给定的神经网络的当前权重进行线性化。
6.根据权利要求3所述的方法,
其中所述预给定的神经网络是不完全训练的神经网络,其方式是:损失函数对其在使用当前权重后计算的权重的一阶导数的向量假定如下值,所述值不对应于损失函数对于当前权重的局部最小值。
11.根据上述权利要求8至10中任一项所述的方法,
其中执行迭代去除,直到简化的神经网络的大小低于期望的大小。
12.根据上述权利要求8至10中任一项所述的方法,
其中执行迭代去除,直到简化的神经网络的整体性能低于预定义的阈值。
13.根据上述权利要求1至12中任一项所述的方法,
其中通过使用预给定的神经网络围绕其当前权重的二阶泰勒级数近似损失函数的变化,可选地其中泰勒级数还包含一阶的项。
14.根据上述权利要求1至13之一所述的方法,
其中所述神经网络是图像分类器,其中图像分类器被设计为接收图像数据形式的输入数据并且可选地基于图像数据的语义分割将图像数据分类成一个或多个类别。
15.根据上述权利要求1至14中任一项所述的方法,还包括:
通过简化的神经网络控制所述设备;或者
通过简化的神经网络识别所述设备的运行状态或所述设备的环境的状态;或者
通过简化的神经网络评估所述设备的运行状态或环境的状态。
16.一种计算机程序,所述计算机程序被设立为,执行根据权利要求1至14中任一项所述的方法的所有步骤。
17.一种机器可读的存储介质,在所述机器可读的存储介质上存储有根据权利要求16所述的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020213238.0A DE102020213238A1 (de) | 2020-10-20 | 2020-10-20 | Erzeugung von vereinfachten computer-implementierten neuronalen netzwerken |
DE102020213238.0 | 2020-10-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114386558A true CN114386558A (zh) | 2022-04-22 |
Family
ID=80929041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111215634.5A Pending CN114386558A (zh) | 2020-10-20 | 2021-10-19 | 生成简化的计算机实施的神经网络 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220121960A1 (zh) |
JP (1) | JP2022067651A (zh) |
CN (1) | CN114386558A (zh) |
DE (1) | DE102020213238A1 (zh) |
-
2020
- 2020-10-20 DE DE102020213238.0A patent/DE102020213238A1/de active Pending
-
2021
- 2021-10-13 US US17/450,773 patent/US20220121960A1/en active Pending
- 2021-10-19 CN CN202111215634.5A patent/CN114386558A/zh active Pending
- 2021-10-19 JP JP2021170953A patent/JP2022067651A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220121960A1 (en) | 2022-04-21 |
DE102020213238A1 (de) | 2022-04-21 |
JP2022067651A (ja) | 2022-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Uribe et al. | Optimal algorithms for distributed optimization | |
Rao et al. | Machine learning for solar array monitoring, optimization, and control | |
Dimitrov | Surrogate models for parameterized representation of wake‐induced loads in wind farms | |
Mikaelian et al. | A logical approach to real options identification with application to UAV systems | |
CN108563863B (zh) | 城市轨道交通系统的能耗计算与调度方法 | |
Guo et al. | Fixed-time consensus of nonlinear multi-agent system with uncertain disturbances based on event-triggered strategy | |
CN110929844A (zh) | 芯片成品率预测方法、装置、设备及存储介质 | |
Eslami et al. | Consensus of multi-agent systems with heterogeneous unknown nonlinear switching dynamics: A dwelling time approach | |
Tan et al. | Targeted adversarial attacks against neural network trajectory predictors | |
CN114626510A (zh) | 一种无人机检测用轻量卷积神经网络搭建的方法及设备 | |
Rodríguez et al. | Updating digital twins: Methodology for data accuracy quality control using machine learning techniques | |
Shakeri et al. | Optimal measurement scheduling for state estimation | |
WO2020185207A1 (en) | Computerized system and method for generative circuit design with machine-learned networks | |
CN114386558A (zh) | 生成简化的计算机实施的神经网络 | |
Zhang et al. | Finite time controller design of nonlinear quantized systems with nonstrict feedback form | |
Barton | Issues in development of simultaneous forward-inverse metamodels | |
CN115906990A (zh) | 对计算机实现的神经网络的高效的二阶剪枝 | |
Huang et al. | Finite-time multi-surrounding control of networked marine surface vehicles: A three-layer-hierarchical approach | |
Chen et al. | An integrated hybrid algorithm based on nature inspired evolutionary for radial basis function neural network learning | |
Chen et al. | Guaranteed cost consensus for a class of fractional-order uncertain multi-agent systems with state time delay | |
de Paula et al. | Zonotopic and Gaussian state estimator: the predictor and filter algorithms | |
JPH0535710A (ja) | ニユーラルネツトワークの学習方法および学習装置 | |
Booker et al. | Learning to actively reduce memory requirements for robot control tasks | |
Kostiuk et al. | Information and Intelligent Forecasting Systems Based on the Methods of Neural Network Theory | |
CN111353587B (zh) | 一种深度神经网络的可解释生成方法 |
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 |