CN111886604A - 用于运行人工神经网络的方法 - Google Patents
用于运行人工神经网络的方法 Download PDFInfo
- Publication number
- CN111886604A CN111886604A CN201980019465.2A CN201980019465A CN111886604A CN 111886604 A CN111886604 A CN 111886604A CN 201980019465 A CN201980019465 A CN 201980019465A CN 111886604 A CN111886604 A CN 111886604A
- Authority
- CN
- China
- Prior art keywords
- matrix
- input
- neural network
- modified
- entries
- Prior art date
Links
- 230000001537 neural Effects 0.000 title claims abstract description 167
- 239000011159 matrix materials Substances 0.000 claims abstract description 394
- 239000010410 layers Substances 0.000 claims abstract description 182
- 238000010606 normalization Methods 0.000 claims abstract description 103
- 230000000875 corresponding Effects 0.000 claims description 25
- 239000000126 substances Substances 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 2
- 239000007789 gases Substances 0.000 claims 2
- 238000007796 conventional methods Methods 0.000 description 11
- 238000000034 methods Methods 0.000 description 3
- 230000002596 correlated Effects 0.000 description 2
- 238000010586 diagrams Methods 0.000 description 2
- 239000000203 mixtures Substances 0.000 description 2
- 206010012601 Diabetes mellitus Diseases 0.000 description 1
- 230000001276 controlling effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metals Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reactions Methods 0.000 description 1
- 239000009033 nas Substances 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003908 quality control methods Methods 0.000 description 1
- 238000004805 robotics Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06N—COMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computer systems based on biological models
- G06N3/02—Computer systems based on biological models using neural network models
- G06N3/04—Architectures, e.g. interconnection topology
- G06N3/0454—Architectures, e.g. interconnection topology using a combination of multiple neural nets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06N—COMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computer systems based on biological models
- G06N3/02—Computer systems based on biological models using neural network models
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Abstract
Description
技术领域
本发明一般性地涉及人工智能领域。本发明尤其涉及一种用于运行人工神经网络的方法以及一种人工神经网络,该人工神经网络例如可以用于车辆中的对象识别。
背景技术
为了训练人工神经网络,尤其是多层的和/或卷积的神经网络,通常对提供给神经网络的训练数据(例如训练图像)进行归一化和/或标准化。这还可以用于使训练数据组的训练数据均匀化。通过标准化在某些情况下也可以突出和/或强调在训练数据中存在的对象和/或特征。
在训练神经网络之后和/或在已训练的神经网络的运行期间(这通常也被称为推理),通常对提供给神经网络的用于解读和/或分类的输入数据类似于训练数据地进行归一化和/或标准化。在此,输入数据的归一化可能是计算密集的和/或耗时的并且需要功能强大的硬件来执行。
发明内容
借助本发明的实施方式可以以有利的方式提供一种用于运行人工神经网络的有效且快速的方法。借助本发明的实施方式还可以提供改善的人工神经网络。
本发明的一方面涉及一种用于运行人工神经网络的方法。该人工神经网络具有至少一个卷积层和/或至少一个卷积的层,所述卷积层和/或卷积的层设置为用于,基于卷积运算和移位运算、例如线性移位,将卷积层的输入矩阵转化为输出矩阵。在此,该方法具有以下步骤:基于神经网络的输入矩阵的录入项和/或基于神经网络的训练数据组求取至少一个第一归一化参量和第二归一化参量。该方法的特点尤其在于以下步骤:
基于所述至少一个卷积层的原始过滤矩阵并且基于所求取的第一归一化参量和第二归一化参量中的至少一个求取修改后的过滤矩阵;
基于所述至少一个卷积层的原始移位矩阵并且基于所求取的第一归一化参量和第二归一化参量中的至少一个求取修改后的移位矩阵;
应用和/或基于修改后的过滤矩阵和修改后的移位矩阵,将输入矩阵转化为输出矩阵。
该方法可以表示用于训练神经网络的方法和/或用于运行已训练的神经网络的方法。神经网络例如可以表示可以具有多个卷积层的多层人工神经网络。替代地或附加地,神经网络可以表示卷积的神经网络。神经网络例如可以具有彼此相继的多个卷积层,例如隐藏层。在本公开的上下文中,至少一个卷积层例如可以表示神经网络的输入层和/或第一层、处于输入层下游的卷积层和/或神经网络的隐藏层。
输入矩阵可以一般地表示至少一个卷积层的任意输入数据元素。如果神经网络具有多个卷积层,则输入矩阵可以表示用于这些卷积层中的每个任意卷积层的输入数据元素。对于神经网络的输入层和/或第一层,输入矩阵可以表示提供给神经网络的输入数据元素,例如输入图像。对于处于输入层下游的卷积层,输入矩阵还可以表示提供给该卷积层的输入数据元素,该输入数据元素例如可以与上游卷积层的输出矩阵相关和/或可以相当于该输出矩阵。输入矩阵还可以具有任意维度。输入矩阵尤其可以是一维的或多维的。换句话说,输入矩阵可以表示一维的或多维的输入张量。
输出矩阵可以表示至少一个卷积层的任意输出数据元素,该输出数据元素可以基于输入矩阵通过应用卷积运算和移位运算通过卷积层生成。如果神经网络具有多个卷积层,则输出矩阵可以是每个任意卷积层的输出数据元素。在彼此相继的多个卷积层的情况下,上游卷积层的输出矩阵还可以形成处于该上游卷积层的下游的卷积层的输入矩阵、与下游卷积层的输入矩阵相关和/或相当于下游卷积层的输入矩阵。输出矩阵还可以具有任意维度。输出矩阵尤其可以是一维或多维的。换句话说,输出矩阵可以表示一维的或多维的输出张量。输出矩阵还可以具有与对应的卷积层的输入矩阵相同的维度,或者可以具有与对应的卷积层的输入矩阵不同的维度。
原始过滤矩阵例如可以表示卷积层的如在训练神经网络时所使用的和/或针对该卷积层所求取的过滤矩阵。修改后的过滤矩阵可以表示在已训练的神经网络运行期间(也称为推理)由相关的卷积层使用的过滤矩阵。类似地,原始移位矩阵可以表示卷积层的在训练神经网络时使用的和/或针对该卷积层求取的移位矩阵。修改后的移位矩阵可以表示在已训练的神经网络运行期间由相关的卷积层使用的移位矩阵。
第一归一化参量和第二归一化参量可以分别用于输入矩阵的归一化和/或分别表示用于输入矩阵的归一化的参量。第一归一化参量和/或第二归一化参量可以是标量、向量、矩阵和/或张量。第一归一化参量和第二归一化参量一般可以分别是可以从输入矩阵的录入项和/或从训练数据组中推导出的参量,例如统计学参量。第一归一化参量例如可以与标准差相关和/或第二归一化参量可以与平均值相关。平均值在此也可以是加权平均值,其中,可以对输入矩阵的录入项进行不同的加权和/或可以对练数据集的各个训练图像进行不同的加权。第一归一化参量和第二归一化参量也可以是统计学的高阶要素(Momente),例如偏度(英:Skewness,德:Schiefe)或峰度(英:Kurtosis,德:)。通常,在根据本发明的方法的范畴中可以求取任意多的归一化参量,借助这些归一化参量,可以通过使用加法、减法、乘法和/或除法来对输入矩阵进行归一化。
本发明尤其可以视为基于以下描述的知识。在训练人工神经网络期间,可以通过从训练数据元素的录入项中减去平均值并将训练数据元素的录入项除以标准差来对训练数据元素(例如训练图像)进行归一化和/或标准化。平均值和标准差在此可以是全局值和/或可以基于具有多个训练数据元素的整个训练数据组来求取。然后,可以借助标准差和平均值的全局值来对各个卷积层的所有训练数据元素、所有输入数据元素和/或所有输入矩阵进行归一化。替代地,平均值和标准差也可以是局部值,所述局部值对于提供给神经网络的每个训练数据元素和/或提供给神经网络的每个输入数据元素单独地求取并且可以被用于归一化。在用于运行神经网络的常规方法和/或在常规神经网络中,在已训练的神经网络运行期间通常以这种方式对馈入神经网络中的每个输入数据元素(例如输入图像)进行归一化。也可以以这种方式对一个或多个卷积层的输入矩阵进行归一化。有时这会需要大量的计算费用和/或计算时间。
因此,根据本发明设置,将归一化和/或标准化与由卷积层进行的卷积运算和/或移位运算相结合。因此,在修改后的过滤矩阵和修改后的移位矩阵中可以包含和/或集成用于对输入矩阵进行归一化的归一化运算,尤其是线性的归一化运算。归一化运算在此通常可以包括输入矩阵与第一归一化参量和/或第二归一化参量和/或与其他归一化参量的加、减、乘和/或除。归一化运算尤其可以包括从输入矩阵的录入项中减去平均值和/或将输入矩阵的录入项除以标准差。因此,通过将第一归一化参量和第二归一化参量考虑和/或集成到修改后的过滤矩阵和修改后的移位矩阵中,卷积运算、移位运算和归一化运算可以组合和/或在一个步骤中实施。因此可以省去用于执行归一化运算的单独的步骤。换句话说,通过将第一和/或第二归一化参量集成到修改后的过滤矩阵和/或修改后的移位矩阵中,可以将归一化运算集成到修改后的过滤矩阵和/或修改后的移位矩阵中。归一化与卷积运算和/或移位运算的组合可以在神经网络的输入层和/或第一层中实现,通过该输入层和/或第一层可以为神经网络提供输入数据元素,例如输入图像。替代地或附加地,也可以将由任意其他卷积层应用到该卷积层的输入矩阵上的卷积运算和/或移位运算与该输入矩阵的对应的归一化运算相结合。由此可以避免输入数据元素和/或输入矩阵的显式的和/或单独的归一化。因此,总体上可以降低计算费用和/或计算时间,使得神经网络可以构型得更快且更高效。因此,已训练的神经网络可以在几乎任何硬件上实施和/或移植到几乎任何硬件上,而只很少影响硬件的性能或完全不影响硬件的性能。如此还可以使用于运行神经网络的硬件、尤其是处理器和/或图形处理器实施得能力较弱,由此可以节省成本。
根据本发明的一种实施方式,第一归一化参量是与标准差相关的参量和/或是标准差。第一归一化参量例如也可以是标准差的倒数和/或与标准差的倒数相关。替代地或附加地,第二归一化参量是与平均值相关的参量和/或是平均值。第二归一化参量例如也可以是平均值与标准差的负比例和/或与该比例相关。第一和第二归一化参量可以基于输入矩阵的录入项和/或基于训练数据组来求取。
根据本发明的一种实施方式,基于、尤其仅基于原始过滤矩阵和所求取的第一标准差来确定修改后的过滤矩阵。替代地或附加地,基于原始移位矩阵、基于所求取的标准差并且基于所求取的平均值来确定修改后的移位矩阵。因此,可以将用于对输入矩阵进行归一化的标准差和平均值集成到修改后的过滤矩阵和/或移位矩阵中,使得可以省去要单独待执行的输入矩阵归一化。
根据本发明的一种实施方式,所求取的平均值是输入矩阵的录入项的平均值。替代地或附加地,所求取的标准差是输入矩阵的录入项的标准差。因此,可以将平均值和标准差作为卷积层的输入矩阵的局部值来求取。如此,可以对于每个输入矩阵分别求取配属于该输入矩阵的平均值和/或配属于该输入矩阵的标准差。如果对应的卷积层是输入层,则所求取的平均值可以是对应的输入数据元素的录入项的平均值,例如输入图像的像素的平均值。类似地,标准差可以是对应的输入数据元素的录入项的标准差,例如输入图像的像素的标准差。
根据本发明的一种实施方式,训练数据组具有多个训练数据元素,尤其是训练图像,其中,基于训练数据组的训练数据元素求取标准差和平均值。因此,可以将平均值和标准差作为卷积层的输入矩阵的全局值来求取。因此,对于每个任意输入矩阵和/或每个任意输入数据元素可以使用相同的平均值和相同的标准差。这可以进一步降低所需的计算费用和/或计算时间。
根据本发明的一种实施方式,将输入矩阵转化成输出矩阵的步骤具有:将输入矩阵与修改后的过滤矩阵进行卷积并且将修改后的移位矩阵与卷积后的输入矩阵相加。如上所述,修改后的过滤矩阵和修改后的移位矩阵包含用于对输入矩阵进行归一化的归一化运算。因此,可以同时对输入矩阵进行归一化、卷积和移位以生成输出矩阵。因此,输入矩阵在提供给卷积层之前不必再进行归一化,而是可以在一个步骤中进行应用于输入矩阵上的所有计算运算。
根据本发明的一种实施方式,求取修改后的过滤矩阵的步骤具有:求出原始过滤矩阵的录入项与所求取的标准差的比。换句话说,可以通过将原始过滤矩阵的录入项除以所求取的标准差来求取修改后的过滤矩阵。由此可以确保正确地对输入矩阵进行归一化。在此,原始过滤器矩阵的录入项可以表示对应的卷积层的在神经网络训练期间求取的参数值和/或权重。
根据本发明的一种实施方式,求取修改后的移位矩阵的步骤具有:将修改后的过滤矩阵与归一化矩阵进行卷积的步骤,其中,归一化矩阵的所有录入项均具有所求取的平均值;以及从原始移位矩阵中减去与归一化矩阵的卷积后的、修改后的过滤矩阵的步骤。换句话说,可以通过求出原始移位矩阵和归一化矩阵与修改后的过滤矩阵之间的卷积结果的差来求取修改后的移位矩阵。由此可以确保正确地对输入矩阵进行归一化。在此,原始移位矩阵的录入项可以表示对应的卷积层的在神经网络训练期间求取的参数值和/或权重。
根据本发明的一种实施方式,该方法还具有以下步骤:通过给输入矩阵添加录入项,将输入矩阵转化为更高维度的输入矩阵。在此,如果神经网络是已训练的和/或在已训练的神经网络运行期间或者说在推理期间,所添加的录入项分别具有所求取的平均值。替代地或附加地,在神经网络训练期间,所添加的录入项分别具有零值。有利地,通过将录入项添加到输入矩阵中,在应用卷积运算之后的输出矩阵的维度与在添加录入项之前的输入矩阵的维度一致。录入项的添加通常称为“填充”。因此,如果在神经网络训练期间给卷积层的输入矩阵添加“零”,则可以在训练后、即在已训练的网络运行期间到给卷积层的输入矩阵中添加具有平均值的录入项。
根据本发明的一种实施方式,如果神经网络是已训练的,则添加给输入矩阵的录入项的值分别具有零值。替代地或附加地,在神经网络训练期间,所添加的录入项分别具有所求取的平均值与所求取的标准差的比的负值。因此,如果在神经网络训练期间给卷积层的输入矩阵添加录入项,这些录入项相当于所求取的平均值与所求取的标准差的负的比,则在训练之后、即在已训练的网络运行期间可以将“零”添加给该卷积层的输入矩阵。如此,尤其输出矩阵的维度可以保持不变和/或与在添加录入项之前的输入矩阵的维度一致。
根据本发明的一种实施方式,所述至少一个卷积层是神经网络的输入层和/或第一层。替代地或附加地,输入矩阵是输入数据元素,尤其是输入图像,该输入数据元素被提供给神经网络用于解读和/或分类。在此,输入数据元素可以具有任意维度和/或是具有任意多像素阵列的输入图像。输入图像的像素在此可以是输入数据元素的录入项和/或输入层的输入矩阵的录入项。
根据本发明的一种实施方式,仅在神经网络的输入层中使用修改后的过滤矩阵和修改后的移位矩阵。因此可以进一步提高用于运行神经网络的方法的效率和/或可以进一步减少计算费用或计算时间。
根据本发明的一种实施方式,神经网络具有多个卷积层,所述卷积层分别设置为用于将对应的卷积层的输入矩阵转化为对应的卷积层的输出矩阵,其中,对于每个卷积层求取修改后的卷积矩阵和修改后的移位矩阵,并且,每个卷积层的每个输入矩阵通过应用为对应的卷积层求取的修改后的过滤矩阵和为对应的卷积层求取的修改后的移位矩阵被转化为输出矩阵。在此,修改后的过滤矩阵和修改后的移位矩阵可以基于对应的卷积层的原始过滤矩阵和原始移位矩阵来求取。
根据本发明的一种实施方式,至少一个卷积层的输出矩阵形成处于该卷积层下游的至少一个卷积层的输入矩阵,使得基于该输出矩阵求取用于该下游卷积层的平均值和标准差。换句话说,上游卷积层的输出矩阵可以相当于与直接处于该上游卷积层的下游的卷积层的输入矩阵。
本发明的另一方面涉及一种人工神经网络。该人工神经网络在此设置为用于执行如上下文所述的用于运行神经网络的方法。该神经网络尤其可以在处理器上实现和/或可以具有处理器。
用于运行神经网络的方法的特征、元素和/或步骤可以是所述神经网络的特征和/或元素,反之亦然。换句话说,关于该方法的公开内容同样适用于关于神经网络的公开内容,反之亦然。
该神经网络尤其可以具有至少一个卷积层,所述卷积层设置为用于:将输入矩阵与修改后的过滤矩阵进行卷积并且将卷积后的输入矩阵与修改后的移位矩阵相加以生成卷积层的输出矩阵。在此,修改后的过滤矩阵的录入项可以与卷积层原始过滤矩阵录入项和标准差之比相关。修改后的过滤矩阵的录入项例如可以通过原始过滤矩阵的录入项和标准差的比给出。修改后的移位矩阵的录入项还可以与原始移位矩阵和修改后的过滤矩阵与归一化矩阵卷积之后的结果的差相关,归一化矩阵的录入项分别具有所求取的平均值。换句话说,可以通过原始移位矩阵和修改后的过滤矩阵与归一化矩阵卷积之后的结果的差来给出修改后的移位矩阵的录入项。在此可以基于输入矩阵的录入项和/或基于神经网络的训练数据组来求取标准差和平均值。
根据本发明的用于运行神经网络的方法和/或神经网络可以有利地用于许多工业领域。该方法和/或神经网络尤其可以用于自动驾驶领域,例如在机动车辆中使用。该方法和/或神经网络例如可以用于基于图像数据的对象识别。借助根据本发明的方法和神经网络尤其可以执行识别图像数据中的交通标识、行人、障碍物和/或其他对象。图像数据和/或图像例如可以借助机动车辆的摄像机来记录并且被提供给神经网络用于对象识别。神经网络可以解读、加工和/或处理图像数据。在此,神经网络尤其可以对包含在图像数据中的对象进行分类并且输出相应的输出项。例如神经网络可以基于对图像数据的处理来求取可以将包含在图像数据中的对象配属给特定的对象分类和/或对象类别的至少一个概率值和/或概率。替代地或附加地,神经网络可以求取包含在图像数据中的对象可以配属的对象分类和/或对象类别。可以由神经网络输出和/或提供所述对象类别和/或至少一个概率值。输出项例如可以提供给机动车的控制器,该控制器基于该输出项来推导出车辆操控,例如绕行操作和/或制动操作。控制器还安排机动车辆执行所推导出的或求取的车辆操控,尤其执行绕行操作和/或制动操作。因此,可以借助神经网络来实现用于运行车辆的方法。替代地或附加地,可以基于神经网络的输出项来操纵警报装置,例如用于输出声音的和/或光学的警报信号。
该方法和神经网络也可以有利地用于分割图像数据。该方法和神经网络还可以用于分析医学图像和/或医学图像数据,例如用于识别患者的糖尿病。该方法和神经网络也可以在机器人技术中使用和/或应用,例如用于尤其基于图像数据来控制机器人。该神经网络和/或方法的其他可能使用领域是质量控制,例如用于基于图像数据和/或其他数据来辨识有制造缺陷的商品。
下面参照附图阐述本发明的实施例。
附图说明
下面参照附图详细地描述本发明的实施例。
图1示出根据本发明的一种实施例的人工神经网络;
图2示出用于图解用于运行根据本发明的一种实施例的神经网络的方法的步骤的流程图;
图3示出用于图解用于运行根据本发明的一种实施例的神经网络的方法的步骤的流程图;
图4示出用于图解用于运行根据本发明的一种实施例的神经网络的方法的步骤的流程图。
这些附图仅是示意性的并且没有按比例绘制。在附图中,相同的、作用相同或相似的元素设置有相同的附图标记。
具体实施方式
图1示出根据本发明一种实施例的人工神经网络10。在图1中示出的人工神经网络10示例性地实施为多层神经网络10。
例如在机动车辆中的对象识别范畴中,神经网络10可以用于解读图像数据。神经网络10例如可以与存储设备11耦合和/或可以具有用于存储图像数据的存储设备11。图像数据例如可以借助机动车辆的摄像机来记录并且可以存储在存储设备11中以便通过神经网络10来进行进一步处理和/或解读。图像数据在此可以具有一个或多个图像,所述图像可以被提供给神经网络10和/或被馈入神经网络10。
人工神经网络10具有输入层12a和/或第一层12a,输入矩阵I0被提供给该输入层和/或第一层。通常,神经网络10的输入层12a是卷积层。因此,第一层和/或输入层12a可以表示神经网络10的第一卷积层12a。提供给输入层12a的输入矩阵I0例如可以是输入数据元素I0和/或输入图像I0。第一层12a的输入数据元素、输入图像和/或输入矩阵I0在此可以是具有任意数量像素的任意阵列,其中,像素相当于输入矩阵I0的录入项。输入层12a的输入数据元素、输入图像和/或输入矩阵I0在此尤其可以是存储在存储设备11中的图像数据的单个图像。在此,输入层12a的输入数据元素、输入图像和/或输入矩阵I0可以在不进行预处理的情况下提供给神经网络10,尤其是不事先执行归一化和/或标准化,这在下面详细阐述。
神经网络10还具有多个卷积层12b、12c。神经网络10可以具有任意数量的卷积层12b、12c。卷积层12b在此直接位于输入层12a下游和/或与该输入层耦合。类似地,卷积层12c位于卷积层12b下游,其中,在卷积层12b、12c之间可选地能够布置有神经网络10的其他卷积层和/或其他层。
输入层12a和卷积层12b、12c通常设置为用于,基于卷积运算和移位运算、尤其是线性移位,将提供给对应的层12a-c的输入矩阵I0、I1、In转化成对应层12a-c的输出矩阵A0、A1、An-1。换句话说,层12a-c中的每个实施成用于执行卷积运算和移位运算。在图1中示出的实施例中,输入层12a通过使用卷积运算和移位运算由输入层12a的输入矩阵I0产生输出矩阵A0。基于输入层12a的输出矩阵A0则可以为直接处于输入层12a下游的卷积层12b生成输入矩阵I1。为此可以修改输入层12a的输出矩阵A0,和/或输入层12a的输出矩阵A0可以构成卷积层12b的输入矩阵I1。类似地,直接处于卷积层12c上游的卷积层的输出矩阵An-1可以构成卷积层12c的输入矩阵In,如图1所示。
在后面的附图中将阐述由卷积层12a-c中的每个执行的卷积运算和移位运算的细节。
作为处理和/或解读输入矩阵、输入数据元素和/或输入图像I0的结果,神经网络10可以求取、提供和/或输出输出项14。输出项14例如可以是对象类别,可以将包含在输入图像I0中的对象配属于该对象类别。替代地或附加地,输出项14可以具有一个或多个概率值。每个概率值在此可以说明以下概率:包含在输入图像I0中的对象能够以该概率配属于所确定的对象类别。
如果神经网络10用于在机动车辆中识别障碍物,则输出项14还可以被提供给机动车辆的控制器,该控制器基于输出项14例如求取绕行操作和/或制动操作并且可以安排机动车辆执行这些绕行操作和/或制动操作。
图2示出流程图,该流程图用于图解用于运行根据本发明的一种实施例的神经网络10的方法的步骤。如果没有另外的说明,则在图2中描述的神经网络10具有与参照图1描述的神经网络10相同的元素和特征。
参照图2描述的神经网络10通常具有至少一个卷积层12a-c,所述卷积层设置为用于将输入矩阵Ii,i=0…n转化为输出矩阵Ai,i=0…n。出于简化,后面省略角标i=0…n。下面所描述的方法可以针对每个任意的卷积层12a-c来执行。换句话说,下面描述的方法可以涉及一个、多个或所有卷积层12a-c。
在第一步骤S1中,确定至少一个第一归一化参量v和第二归一化参量w。第一归一化参量v在此可以与标准差σ相关,可以是标准差的倒数和/或可以是标准差σ。第二归一化参量w可以与平均值μ相关,可以是平均值μ和/或可以是平均值与标准差的负比例。在此可以基于对应的卷积层12a-c的输入矩阵I和/或基于输入矩阵I的录入项来求取第一归一化参量v、第二归一化参量w、标准差σ和/或平均值μ。为此,可以将平均值μ求取为输入矩阵I的所有录入项的平均值μ。也可以对输入矩阵的各个录入项进行不同的加权以求取平均值μ。类似地,可以将标准差σ求取为输入矩阵I的所有录入项的标准差σ。在此,针对一个或多个卷积层12a-c,可以分别针对相应的卷积层12a-c基于提供给该卷积层12a-c的输入矩阵I来求取标准差σ和平均值μ。
替代地或附加地,可以基于神经网络10的训练数据组来求取第一归一化参量v、第二归一化参量w,标准差σ和/或平均值μ。训练数据组可以具有多个训练数据元素,尤其是多个训练图像。因此,平均值μ可以是训练数据组的所有训练数据元素的所有录入项的平均值。也可以对各个训练图像进行不同的加权以求取平均值μ。类似地,标准差σ可以是训练数据组的所有训练数据元素的所有录入项的标准差。以这种方式求取的标准差σ和平均值μ则可以用于一个、多个或所有卷积层12a-c。
在步骤S1中也可以修改第一归一化参量v和/或第二归一化参量,尤其是标准差和/或平均值μ,例如通过加一个值和/或通过乘以一个因子。
在另一步骤S2中,基于卷积层12a-c的原始过滤矩阵f并且基于所求取的第一归一化参量v(例如所求取的标准差σ)来确定修改后的过滤矩阵
在另一步骤S3中,基于卷积层12a-c的原始移位矩阵b、基于第一归一化参量v并且基于第二归一化参量w来确定修改后的移位矩阵例如可以基于卷积层12a-c的原始移位矩阵b、基于所求取的标准差σ并且基于所求取的平均值μ来确定修改后的移位矩阵
因此,在修改后的过滤矩阵和修改后的移位矩阵中可以包含用于输入矩阵I的归一化运算,使得可以将由卷积层12a-c执行的卷积运算以及由卷积层12a-c执行的移位运算与归一化运算相结合。由此可以避免输入矩阵的显式的和/或单独的归一化。
在用于运行神经网络的常规方法中,首先对输入矩阵I进行归一化,随后与原始过滤矩阵f进行卷积并且用原始移位矩阵b进行移位。一般可以借助第一归一化参量v和第二归一化参量w来对输入矩阵I进行归一化和/或标准化。为了进行归一化,尤其可以将一个输入矩阵I和/或多个输入矩阵I的录入项与第一归一化参量v相乘,第二归一化参量w可以与相乘的结果相加。在常规的神经网络中则将已归一化的输入矩阵I与原始过滤矩阵f进行卷积并且用原始移位矩阵b进行移位,如在下面的等式中所示。
(vI+w)*f+b
通过在步骤S2中求取的修改后的过滤矩阵以及在步骤S3中求取的修改后的移位矩阵上面的等式能够如下变换。
其中
是修改后的过滤矩阵,而
是修改后的移位矩阵。
然后,在另一步骤S4中,将输入矩阵I转化成输出矩阵A。为此,对输入矩阵I与修改后的过滤矩阵进行卷积并且将卷积的结果通过与修改后的移位矩阵相加进行移位,如在下面的等式中所示。
下面针对这种情况描述以上阐述的方法:第一归一化参量v是与标准差σ相关的参量,第二归一化参量w是与平均值μ相关的参量。
在常规的神经网络10和/或用于运行神经网络10的常规的方法中,为了对输入矩阵进行归一化,通常从输入矩阵I的每个录入项中减去平均值μ,并且将该差的结果除以标准差σ。然后,对归一化的结果与原始过滤矩阵f进行卷积并且用原始移位矩阵b进行线性移位,如在下面的等式中所示。
其中,是归一化矩阵和/或平均值矩阵,该归一化矩阵和/或平均值矩阵的录入项全部具有平均值μ并且具有与输入矩阵I相同的维度。原始移位矩阵b具有与已归一化的输入矩阵与原始过滤矩阵f进行卷积后的结果相同的维度,并且移位矩阵b的所有录入项具有常数值b。
借助在步骤S2中求取的修改后的过滤矩阵以及在步骤S3中求取的修改后的移位矩阵能够将上面的等式如下变换。
其中
是修改后的过滤矩阵,而
是修改后的移位矩阵。
因此,第一归一化参量v可以是标准差σ的倒数和/或与该倒数相关,而第二归一化参量w可以是平均值μ与标准差σ的负比例和/或与该比例相关。
然后,在另一步骤S4中,将输入矩阵I转化为输出矩阵A。为此,将输入矩阵与修改后的过滤矩阵进行卷积并且将卷积的结果通过与修改后的移位矩阵相加进行移位,如在下面的等式中所示:
因此,如从以上四个等式可以得知,通过修改后的过滤矩阵和修改后的移位矩阵可以将输入矩阵I的归一化有利地与输入矩阵与修改后的过滤矩阵进行卷积一起以及与卷积的结果通过修改后的移位矩阵进行移位一起进行。
以上阐述的方法可以在输入层12a中进行。所阐述的方法尤其可以仅在输入层12a中进行。替代地,所阐述的方法也可以在任意的、尤其所有的卷积层12a-c中执行。
下面将根据本发明的方法与用于运行神经网络的常规方法进行比较。在常规方法中,首先对输入矩阵I进行归一化,然后将归一化的结果与原始过滤矩阵f进行卷积。然后将卷积的结果与原始移位矩阵相加以生成输出矩阵A。因此,常规方法可以用等式来描述。因此,在常规方法中,归一化运算以及卷积和移位是分开的。在此,第一步骤是归一化,不仅在神经网络10的训练期间、而且在已训练的神经网络的运行期间都是对于每个输入矩阵执行第一步骤。在此,归一化包括从输入矩阵I的所有录入项中减去平均值μ以及除以标准差σ,在第二步骤中,在常规方法中,将归一化的输入矩阵与原始过滤矩阵f进行卷积并且将卷积的结果通过用原始移位运算进行加法来移位。
与之相反,在根据本发明的方法中,通过应用修改后的过滤矩阵和修改后的移位矩阵将归一化运算与卷积运算以及移位运算相结合。为了求取修改后的过滤矩阵将原始过滤矩阵f中的录入项除以标准差σ。因此,步骤S2可以包括子步骤:求取原始过滤矩阵f的录入项和标准差σ的比例。为了求取修改后的移位矩阵还将修改后的过滤矩阵与归一化矩阵进行卷积并且将卷积的结果从原始移位矩阵b中减去。由此,可以将输入矩阵I以不变的和/或未归一化的形式用修改后的过滤矩阵和修改后的移位矩阵转化成输出矩阵。
如果基于训练数据组求取标准差σ和平均值μ,则可以一次性地求取修改后的过滤矩阵和修改后的移位矩阵并且在已训练的神经网络10运行期间不必对输入矩阵I、修改后的过滤矩阵和/或修改后的移位矩阵进行另外的匹配。与常规方法相比这可以显著减少通过神经网络10处理输入数据元素和/或输入图像I的计算费用和/或计算时间,因为在常规方法中首先将每个输入矩阵归一化之后才能够把每个输入矩阵提供给神经网络10。
而如果基于输入矩阵I求取标准差σ和平均值μ,则可能需要针对对应的卷积层12a-c基于输入矩阵I的标准差σ并且基于输入矩阵I的平均值μ来匹配修改后的过滤矩阵和修改后的移位矩阵然而,因为修改后的过滤矩阵和修改后的移位矩阵通常具有比输入矩阵I小的维度,所以即使在这种情况下与常规方法相比也可以显着降低计算费用和/或计算时间。
图3示出一个流程图,该流程图用于图解用于运行根据本发明的一种实施例的神经网络10的方法的步骤。如果没有其他说明,则在图3中描述的方法具有与在图2中描述的方法相同的元素、特征和步骤。尤其步骤S1至S4可以类似于图2的方法来构型。
图3中示出的方法具有可选的步骤S2',在该步骤中,通过添加录入项将输入矩阵I转化为更高维度的输入矩阵该过程通常也称为“填充”,并且尤其可以用于补偿输出矩阵A的与输入矩阵I相比由卷积引起的维度下降,使得输出矩阵A可以具有与输入矩阵I相同的维度
在图2中描述的等式主要适用于不应用填充的情况。在这种情况下输入矩阵I与修改后的过滤矩阵进行的对应卷积运算也被称为“有效卷积”。在此可以以通常方式、即类似于常规方法来训练神经网络10,其中,可以用第一归一化参量v和第二归一化参量w,例如标准差σ和平均值,来对输入矩阵I进行归一化。然而可选地,通过添加零值的录入项,即所谓的零填充(Zero-Padding),可以将处于执行根据本发明的方法的卷积层的下游的卷积层的输入矩阵I转化为更高维度的输入矩阵
因此,如果在训练神经网络10期间没有对执行本发明方法的卷积层12a-c、提供给该卷积层12a-c的输入矩阵I(例如训练图像或训练数据元素)添加录入项,则也可以在已训练的神经网络10运行期间将所提供的输入矩阵I在没有向输入矩阵I添加录入项的情况下提供给该卷积层12a-c。因此,在神经网络10经训练之后,即在已训练的神经网络10运行期间,可以根据在图2中描述的本发明方法来进行卷积运算和移位运算。
而如果在神经网络10训练期间执行填充和/或在训练期间将录入项添加到实施本发明方法的卷积层12a-c的输入矩阵I中,则可能需要在已训练的神经网络10运行期间也将元素添加到该卷积层12a-c的输入矩阵I中,以便将输入矩阵I转化成更高维度的输入矩阵如果如此选择所添加的录入项的数量,使得在卷积之后维度相同,则通常也称为“相同卷积(Same Convolution)”。根据实现神经网络10的硬件,可以给输入矩阵I添加“零”录入项(所谓零填充)和/或非零常数值的录入项(所谓非零填充)。
在神经网络10训练期间,例如可以以常规的方式通过将输入矩阵乘以第一归一化参量v并且通过与第二归一化参量w相加来对输入矩阵进行归一化。此外,在训练期间也可以将具有零值的录入项添加到实施本发明方法的卷积层12a-c的输入矩阵I中(零填充)。在训练后,已训练的神经网络10可以在硬件上实现和/或可以移植到硬件上,可以在对应的卷积层12a-c中使用修改后的过滤矩阵和修改后的移位矩阵其中,在这种情况下,在步骤S2'中,在已训练的神经网络10运行期间将给输入矩阵I添加录入项,所述录入项可以分别具有第二归一化参量v与第一归一化参量w的负比例(非零填充)。
如果在神经网络10训练期间以常规方式通过从输入矩阵I的录入项中减去平均值μ并且通过除以标准差σ来对输入矩阵进行归一化而在训练期间将具有零值的录入项添加到实施根据本发明方法的卷积层12a-c的输入矩阵I中(零填充),则已训练的神经网络10可以在训练后在硬件上实施和/或移植到硬件上,可以在对应的卷积层12a-c中使用修改后的过滤矩阵和修改后的移位矩阵其中,在这种情况下,在步骤S2'中,在已训练的神经网络10运行期间给输入矩阵I中添加录入项,所述录入项分别具有在步骤S1中求取的平均值μ(非零填充)。
替代地,在神经网络10训练期间,可以以常规方式通过将输入矩阵乘以第一归一化参量v并且通过与第二归一化参量w相加来对输入矩阵进行归一化,在训练期间可以给实施本发明方法的卷积层12a-c的输入矩阵I添加录入项,所述录入项分别具有第二归一化参量w的值(非零填充)。已训练的神经网络10在训练后可以在硬件上实施和/或移植到硬件上,可以在对应的卷积层12a-c中使用修改后的过滤矩阵和修改后的移位矩阵其中,在这种情况下,在步骤S2'中,在已训练的神经网络10运行期间给输入矩阵I添加录入项,所述录入项分别具有零值(零填充)。
如果在神经网络10训练期间以常规方式通过从输入矩阵I的录入项中减去平均值μ并且通过除以标准差σ来对输入矩阵进行归一化而在训练期间将给实施本发明方法的卷积层12a-c的输入矩阵I添加录入项,所述录入项分别具有平均值μ与标准差σ的负比例的值,即-μ/σ的值(非零填充),则已训练的神经网络10在训练后可以在硬件上实施和/或移植到硬件上,可以在对应的卷积层12a-c中使用修改后的过滤矩阵和修改后的移位矩阵其中,在这种情况下,在步骤S2'中,在已训练的神经网络10运行期间给输入矩阵I添加录入项,所述录入项分别具有零值(零填充)。
例如可以仅在神经网络的输入层12a中进行以上描述的“给输入矩阵I添加录入项”。对于所有其他卷积层12b、12c,可以在已训练的神经网络10运行期间使用与在训练期间相同的填充。然而替代地,可以在卷积层12a-c中的每个中进行以上描述的“给输入矩阵I添加录入项”。
图4示出一个流程图,该流程图用于图解用于运行根据本发明的一种实施例的神经网络10的方法的步骤。图4中示出的方法尤其包括训练神经网络10和运行已训练的神经网络10。下面示例性地仅在输入层12a中执行本发明方法,然而可选地,也可以在每个任意的卷积层12a-c中实施本发明方法。如果没有其他说明,则图4中描述的方法具有与在先前的附图中描述的方法相同的元素、特征和步骤。
在处于“训练神经网络10”上游的步骤S0中,基于训练数据组求取平均值μ和准偏差σ,如在图2中所阐述的那样。因此,步骤S0还可以包括例如在存储设备11中提供训练数据组的子步骤。替代地,如在图2中所描述的那样,也可以基于输入矩阵I来计算平均值μ和准偏差σ。
在神经网络10训练期间,在步骤S1中将训练数据元素、例如训练图像提供给神经网络10或者说输入层12a。这些训练数据元素可以在步骤S1中通过从每个训练数据元素的录入项中减去平均值μ并且将减法结果除以标准差σ来归一化。如在以上附图中描述的那样,这些训练数据元素可以犹如用于输入层12a的输入矩阵I。
在可选的步骤S2中,输入矩阵I或者说训练数据元素可以通过添加具有零值的录入项或通过添加具有值-μ/σ的录入项转化为更高维度的输入矩阵或更高维度的训练数据元素,如在图3中所描述的。如果没有给输入层12a的输入矩阵I添加录入项,则可以给输入层12a的输出矩阵A添加例如具有零值的录入项,以补偿在输入层12a之后由卷积引起的维度损失。
在步骤S3中则可以进行神经网络10的真正的训练。作为训练的结果,可以求得原始过滤矩阵f的和原始移位矩阵b的录入项,这些录入项可以犹如表示神经网络10的经训练的权重、参数和/或参数值。
已训练的神经网络10可以在硬件上实施和/或移植到硬件上,以运行已训练的神经网络10。在步骤S4中将未归一化的输入数据元素I、输入矩阵I和/或输入图像I提供给神经网络10和/或输入层12a用于解读和/或分类。
如果在可选步骤S2中将具有零值的元素添加给训练数据元素,则在步骤S4中将具有μ的值的录入项添加给输入矩阵I。而如果在可选步骤S2中将具有值-μ/σ的录入项添加给训练数据元素,则在步骤S4中将具有零值的录入项添加给输入矩阵I。而如果未执行可选步骤S2,则不给输入矩阵I添加录入项。
在步骤S5中则通过应用修改后的过滤矩阵和修改后的移位矩阵将输入层12a的输入矩阵I转化为输出矩阵A,如在图2和图3中详细阐述的那样。
神经网络10还可以通过其他层12b、12c来传播输出矩阵A并且输出输出项14。输出项14例如可以是预计的对象类别、语义分割和/或任意其他参量。
补充地要指出,“包括”不排除其他元件并且“一”不排除多个。还要指出,参考以上实施例之一描述的特征也可以与上述其他实施例的其他特征结合使用。权利要求中的附图标记不应视为限制。
Claims (15)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018200534.6 | 2018-01-15 | ||
DE102018200534.6A DE102018200534A1 (de) | 2018-01-15 | 2018-01-15 | Verfahren zum Betreiben eines künstlichen neuronalen Netzes |
PCT/EP2019/050092 WO2019137845A1 (de) | 2018-01-15 | 2019-01-03 | Verfahren zum betreiben eines künstlichen neuronalen netzes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111886604A true CN111886604A (zh) | 2020-11-03 |
Family
ID=65010778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980019465.2A CN111886604A (zh) | 2018-01-15 | 2019-01-03 | 用于运行人工神经网络的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20200394519A1 (zh) |
EP (1) | EP3740904A1 (zh) |
CN (1) | CN111886604A (zh) |
DE (1) | DE102018200534A1 (zh) |
WO (1) | WO2019137845A1 (zh) |
-
2018
- 2018-01-15 DE DE102018200534.6A patent/DE102018200534A1/de active Pending
-
2019
- 2019-01-03 EP EP19700203.3A patent/EP3740904A1/de active Pending
- 2019-01-03 WO PCT/EP2019/050092 patent/WO2019137845A1/de unknown
- 2019-01-03 US US16/961,491 patent/US20200394519A1/en active Pending
- 2019-01-03 CN CN201980019465.2A patent/CN111886604A/zh active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
DE102018200534A1 (de) | 2019-07-18 |
EP3740904A1 (de) | 2020-11-25 |
WO2019137845A1 (de) | 2019-07-18 |
US20200394519A1 (en) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pelt et al. | A mixed-scale dense convolutional neural network for image analysis | |
Hoang et al. | A survey on deep learning based bearing fault diagnosis | |
Kokkinos | Ubernet: Training a universal convolutional neural network for low-, mid-, and high-level vision using diverse datasets and limited memory | |
Chen et al. | Searching for efficient multi-scale architectures for dense image prediction | |
Li et al. | Learning a discriminative prior for blind image deblurring | |
Rahman et al. | Optimizing intersection-over-union in deep neural networks for image segmentation | |
Springenberg et al. | Improving deep neural networks with probabilistic maxout units | |
Zhang et al. | 100+ times faster weighted median filter (WMF) | |
Montavon et al. | Layer-wise relevance propagation: an overview | |
Harley et al. | Segmentation-aware convolutional networks using local attention masks | |
US20180053091A1 (en) | System and method for model compression of neural networks for use in embedded platforms | |
Liu et al. | Learning recursive filters for low-level vision via a hybrid neural network | |
US10296813B2 (en) | Training method and apparatus for neural network for image recognition | |
Samek et al. | Evaluating the visualization of what a deep neural network has learned | |
Sherrah et al. | The evolutionary pre-processor: Automatic feature extraction for supervised classification using genetic programming | |
Goodfellow et al. | Maxout networks | |
Gadde et al. | Superpixel convolutional networks using bilateral inceptions | |
Tkachenko et al. | Model and principles for the implementation of neural-like structures based on geometric data transformations | |
US6778697B1 (en) | Color image processing method and apparatus thereof | |
CN108228703B (zh) | 图像问答方法、装置、系统和存储介质 | |
US10510146B2 (en) | Neural network for image processing | |
US20160071010A1 (en) | Data Category Identification Method and Apparatus Based on Deep Neural Network | |
DE102017120452A1 (de) | Auswerten von Eingangsdatenseltenheit in Berechnungseinheiten eines neuronalen Netzes | |
Terekhov et al. | Knowledge transfer in deep block-modular neural networks | |
CN109409222B (zh) | 一种基于移动端的多视角人脸表情识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |