CN117057444A - 用于非线性归一化的神经网络层 - Google Patents
用于非线性归一化的神经网络层 Download PDFInfo
- Publication number
- CN117057444A CN117057444A CN202310539496.9A CN202310539496A CN117057444A CN 117057444 A CN117057444 A CN 117057444A CN 202310539496 A CN202310539496 A CN 202310539496A CN 117057444 A CN117057444 A CN 117057444A
- Authority
- CN
- China
- Prior art keywords
- layer
- machine learning
- learning system
- input
- signal
- 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
- 238000010606 normalization Methods 0.000 title claims abstract description 34
- 238000013528 artificial neural network Methods 0.000 title abstract description 10
- 238000010801 machine learning Methods 0.000 claims abstract description 79
- 238000012549 training Methods 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 29
- 238000009826 distribution Methods 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 23
- 238000009499 grossing Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 238000002493 microarray Methods 0.000 description 7
- 239000000523 sample Substances 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005406 washing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 239000007788 liquid Substances 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000000018 DNA microarray Methods 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000012805 animal sample Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000009189 diving Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000009187 flying Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000003211 malignant effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000001429 stepping effect Effects 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012285 ultrasound imaging Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/0499—Feedforward 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
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- 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/047—Probabilistic or stochastic 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
-
- 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/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39102—Manipulator cooperating with conveyor
-
- 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/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Analysis (AREA)
Abstract
用于非线性归一化的神经网络层。计算机实现的机器学习系统(60),其中机器学习系统(60)被配置为通过经由机器学习系统(60)的多个层(L,61)转发输入信号(x)来基于输入信号(x)提供输出信号(y),其中多个层(L,61)中的至少一个层(61)被配置为接收基于输入信号(x)的层输入(l),并且提供层输出(o),基于该层输出(o)确定输出信号(y),其中层(61)的特征在于层(61)被配置为借助于层输入(l)的非线性归一化来确定层输出(l)。
Description
技术领域
本发明涉及计算机实现的机器学习系统、用于训练机器学习系统的计算机实现的方法、用于在机器学习系统上执行推断的计算机实现的方法、计算机程序和机器可读存储介质。
现有技术
Ioffe和Szegedy的“Batch Normalization:Accelerating Deep NetworkTraining by Reducing Internal Covariate Shift”(2015,https://arxiv.org/abs/1502.03167)公开了批量规范(Batch Norm,BN),这是一种在神经网络训练期间归一化小批量的方法。
Wu和He的“Group Normalization”(2018,https://arxiv.org/abs/1803.08494)公开了组归一化(GN)作为BN的简单替代。GN将通道划分成组,并在每个组内计算归一化的均值和方差。
Ba等人的“Layer Normalization”(2016,https://arxiv.org/abs/1607.06450)公开了一种称为层归一化(LN)的方法,这是BN的转置应用。
Ulyanov等人的“Instance Normalization:The Missing Ingredient for FastStylization”(2016,https://arxiv,org/abs/1607.08022)公开了一种称为实例归一化(IN)的归一化方法。
背景技术
深度神经网络用作各种技术领域中许多技术应用的骨干。尤其是当自动分析诸如自动化制造机器或机器人之类的机器的环境或内部状态时。已经提出了用于深度神经网络的不同归一化层。这样的归一化技术的主要益处之一是使训练稳定化,因为信号的前向流动和梯度的后向流动被归一化,并且消失/爆炸梯度问题被减轻。
这是通过线性映射来自这样的归一化层的输入的值的子集来实现的,使得映射之后子集的值具有预定义的均值(通常为0)和预定义的方差(通常为1)。
然而,发明人发现已知归一化方法的线性性质限制了归一化的有效性。发明人发现情况就是这样,因为已知的归一化技术使用中心趋势(均值)和离散度(方差/标准偏差)的非鲁棒估计器,这可能受到异常值的严重影响。
因此,本发明提出了一种非线性归一化方法,该方法在内部使用不受单个异常值强烈影响的更鲁棒的百分位数估计器。有利地,所提出的方法可以更好地处理引入归一化层输入值的偏斜、重尾分布或者归一化层输入值的多模态分布的域移位。因此,所提出的方法允许采用所提出的归一化技术的机器学习系统的性能增加。
发明内容
在第一方面,本发明涉及一种计算机实现的机器学习系统,其中所述机器学习系统被配置为通过经由机器学习系统的多个层转发输入信号来基于输入信号提供输出信号,其中多个层中的至少一个层被配置为接收基于输入信号的层输入,并且提供基于其确定输出信号的层输出,其中该层的特征在于该层被配置为借助于层输入的非线性归一化来确定层输出。
优选地,机器学习系统可以是神经网络,其中该层是神经网络的归一化层。然而,该层可以用于包括层(即接受输入并提供输出的封装模块)的任何机器学习系统中。例如,机器学习系统可以包括一堆支持向量机(SVM),其中每个SVM被认为是一层,并且上面提到的层可以被插入在堆叠的SVM之间。
到机器学习系统的输入信号通过机器学习系统的各层转发,以便确定输出信号。这可以理解为输入信号被提供给机器学习系统的第一层,其中第一层取决于输入信号确定层输出。然后,层输出可以被转发到另一层或多个层,其中从第一层确定的层输出用作到另一层或多个层的输入。以这种方式,机器学习系统中的每一层可以被理解为接收基于输入信号确定的层输入,并提供层输出。然后,机器学习系统的最终层的层输出可以作为输出信号被提供。
该层的特征在于它执行非线性归一化操作的事实。这尤其可以理解为层接受任意形状(例如,向量、矩阵或张量)的层输入,并归一化输入的每个元素,从而确定与层输入相同形状的层输出。然而,与层输入中的元素值相比,层输出中的元素值是归一化的。
输入信号尤其可以表征传感器信号和/或技术系统的内部状态。例如,机器学习系统可以用作被配置为借助于传感器感知其环境的元素的自主或至少部分自动化系统的一部分。替代地或附加地,输入信号可以表征关于技术系统的内部信息,例如温度、电流或电压、线速度或角速度和/或穿过管道或喷嘴的流体或气体的量。因此,输入信号可以表征传感器数据。也就是说,输入信号可以是来自传感器的传感器信号,或者可以包括来自相同类型的传感器和/或不同类型的传感器的多个传感器信号。一个或多个传感器可以是例如相机、LiDAR传感器、雷达传感器、超声传感器、热感相机、麦克风、压电传感器。
机器学习系统被配置为推断输入信号中编码的信息。机器学习系统可以例如分析输入信号,例如执行输入信号的分类和/或基于输入信号执行回归分析。替代地或附加地,机器学习系统可以被配置为确定所供应的输入信号相对于训练输入信号数据集的可能性(例如,机器学习系统可以是归一化流程)。机器学习系统还可以被配置为生成数据。例如,输出信号可以表征基于用作输入信号的另一图像生成的图像。输出信号还可以表征音频信号,例如表征作为输入信号提供的图像场景的听觉描述的音频信号。
有利地,该层能够执行非线性归一化。也就是说,层输出的元素值是借助于非线性函数基于层输入的元素而获得的。这是有利的,因为层输入的元素值通常遵循多模态和/或偏斜和/或重尾分布。发明人发现,尤其是对于被损坏的输入信号,所提出的方法能够实现更好的性能,尤其是对于在诸如CIFAR-10C之类的标准基准中被称为常见损坏的损坏。
优选地,为了确定层输出,层被配置为归一化层输入的至少一组值,其中该组包括层输入的所有值或层输入的值的子集。
尤其可以将层输入拆分成组,如在组归一化中所做的那样。特别地,层输入可以是至少包括批量轴、通道轴和空间轴的张量。张量然后可以被拆分成组,其中每个组包括沿着批量轴的一个元素的元素、沿着通道轴的多个元素以及空间轴的所有元素。优选地,每个组包括相同量的元素。
然而,非线性归一化对于组的实际大小和量是不可知的。也就是说,层输入可以作为整体被归一化。这可以被认为是仅使用单个组。然而,优选地,层输入被拆分成多个组,其中每个组基于相应组的元素值被单独归一化。层输入应该被拆分成的组的实际量可以被认为是机器学习系统的超参数。为了简单起见,使用层输入的所有元素进行归一化也将被认为是对一组元素执行归一化,尽管仅有单个组要被处理。
作者发现,与仅使用单个组相比,将层输入拆分成多个组导致机器学习系统的更好性能。
在优选实施例中,非线性归一化的特征在于将来自该组的值的经验百分位数映射到预定义概率分布的百分位数。
这可以理解为一组的值被认为是从某个概率分布中抽取的随机值。目的是将值映射到归一化值,使得归一化值的密度(即,在层输出中提供的值)尽可能接近预定义概率分布的密度。以这种方式,即使该组的值遵循某个多模态、偏斜和/或重尾分布,映射仍然能够将值归一化为预定义概率分布的密度。
预定义概率分布的类型(例如,正态分布、标准t分布、拉普拉斯分布)也可以被认为是该方法的超参数。
在优选实施例中,预定义概率分布是标准正态分布。有利地,发明人发现这种分布甚至进一步增加抗损坏的性能。
机器学习系统可以优选地被配置为执行以下步骤,以便进行映射:
·接收层输入的一组值;
·对接收到的值进行排序;
·计算排序值的每个位置的百分位数值;
·借助于预定义概率分布的分位函数计算插值目标;
·确定表征插值目标和排序值的线性插值的函数;
·通过用函数处理接收到的值来确定层输出。
接收一组值可以简单地理解为接收一组要归一化的值。然后,接收到的值(即,组中的值)可以按升序排序,其中对于排序值中的每个位置,可以确定百分位数值。多个排序值的索引i处的百分位数值Pi可以优选地根据以下函数来确定
其中N是接收到的值的量(即,该组中值的量)。
在下一步骤中,所确定的百分位数值可以被输入到预定义概率分布的百分点函数或分位函数中,以便确定插值目标。例如,如果预定义概率分布是标准正态分布,则概率单位函数(probit function)用作分位函数。
然后可以使用排序值和确定的插值目标以便确定函数。排序值中其位置处的值和基于该位置处的百分位数值确定的插值目标可以被理解为映射元组,即,当输入该值时,由函数执行的映射应该给出插值目标作为结果。因为仅存在这样元组的离散集合,所以可以优选地基于元组来确定1维分段线性插值,并将其作为函数来提供。然后,接收到的值可以由插值处理,以便确定然后可以在层输出中提供的归一化值。
优选地,可以对层输入被拆分成的每个组进行这些步骤。
在另外的优选实施例中,确定层输出包括借助于平滑操作平滑排序值的附加步骤。然后可以在元组中使用平滑值来确定线性插值。
平滑操作的特征例如可以在于在排序值上滑动的平滑滤波器。例如,平滑操作可以是高斯滤波器。
发明人发现,当确定值的经验分布的百分位数时,平滑排序值导致噪声的减少。这导致机器学习系统的甚至更好的性能。
在优选实施例中,确定层输出的步骤进一步包括缩放和/或移位在用函数处理接收到的值之后获得的值的步骤。
通过缩放和/或移位值,机器学习系统能够适配层输出,使得层输出的期望值和值的方差在使用层输出作为层输入的层的合适范围内。移位中使用的缩放因子和/或偏置尤其可以是机器学习系统的可训练参数。
在另一个方面,本发明涉及一种用于训练根据上面呈现的任何一个实施例的机器学习系统的计算机实现的方法。
由于基于层输入来确定层输出的操作是可微分的,因此可以使用标准方法——诸如基于由反向传播确定的梯度的梯度下降——来训练机器学习系统。在任何情况下,也可以使用诸如进化算法的无梯度优化方法。
在另一个方面,本发明涉及一种用于基于输入信号确定输出信号的计算机实现的方法,其中通过向根据上面呈现的任何一个实施例的机器学习系统提供输入信号来确定输出信号。
该方法中的输入信号和输出信号也可以具有如先前针对机器学习系统所讨论的形式。
附图说明
将参考以下各图更详细地讨论本发明的实施例。各图示出了:
图1机器学习系统;
图2包括控制其环境中的致动器的机器学习系统的控制系统;
图3控制至少部分自主的机器人的控制系统;
图4控制制造机器的控制系统;
图5控制自动化个人助理的控制系统;
图6控制访问控制系统的控制系统;
图7控制监督系统的控制系统;
图8控制成像系统的控制系统;
图9控制医学分析系统的控制系统;
图10用于训练分类器的训练系统。
具体实施方式
图1示出了机器学习系统(60)的实施例。在该实施例中,机器学习系统(60)可以是前馈神经网络,例如多层感知器、卷积神经网络、变换器、视觉变换器或视景变换器。向机器学习系统(60)提供输入信号(x),该输入信号(x)由机器学习系统(60)的多个层(L,61)处理。
机器学习系统(60)的层(L,61)中的至少一个层(61)被配置为基于层(61)的层输入(l)确定非线性归一化作为层(61)的层输出(o)。层(61)可以优选地包括拆分单元(61a),其接收层输入(l)并将层输入(l)拆分成预定义量的组,其中组的量是机器学习系统(60)的超参数。替代地,层输入(l)也可以在单个组的意义上作为整体使用。
随后的百分位数单元(61b)然后确定一组的每个值的经验百分位数值。百分位数单元(61b)通过首先以升序对该组的值进行排序来实现这一点。优选地,百分位数单元(61b)然后借助于平滑操作、优选地高斯滤波器来平滑排序值。无论是否平滑,百分位数单元(61b)然后为排序值列表的每个位置(即索引)确定百分位数值。排序值列表的索引i处的百分位数值Pi可以优选地根据以下函数来确定
其中N是该组中值的量。此外,百分位数单元(61b)通过将每个Pi提供给预定义概率分布的分位函数来确定插值目标Yi。优选地,预定义概率分布是标准正态分布,并且分位函数是概率单位函数。因此,存在N个百分位数值Pi和N个插值目标Yi,其中每个百分位数值存在一个插值目标。
该组的值、确定的百分位数值和插值目标然后被转发到插值单元(61c)。插值单元(61c)然后根据以下公式确定N个索引si:
设置第一个索引s1=1,以及最后一个索引sN=N。此外,插值单元(61c)确定N个另外的索引ti的列表,其中ti=i。因此存在索引s和t的两个列表,其中元素si和ti被认为是对应的。然后,插值单元从s中移除所有重复的索引,并且还从t中移除对应于从s中移除的索引的值。在移除之后,列表s和t具有新的大小K。
基于列表s和k,然后形成以下元组集合
其中Xi是位置i处的排序值的值。基于元组,然后确定1维线性插值。然后,由插值处理该组的值,以在仅一个组用于层输入(l)的情况下确定层输出(o),或者在层输入(l)被拆分成多个组的情况下确定层输出(o)的一部分。如果层输入(l)被拆分成多个组,则优选地对每个组进行所描述的过程,以归一化每个组。确定的结果然后被组合并作为层输出(o)提供。优选地进行组合,使得层输出(o)与层输入(l)具有相同的形状。
优选地,机器学习系统(60)包括多个归一化层(61)。一个或多个归一化层(61)可以位于机器学习系统(60)中的任何位置处,例如,归一化层(61)可以是机器学习系统(60)的输入层、机器学习系统(60)的输出层或机器学习系统(60)的隐藏层。
图2示出了在其环境(20)中的致动器(10)的实施例。致动器(10)与包括机器学习系统(60)的控制系统(40)交互。致动器(10)及其环境(20)将被统称为致动器系统。在优选均匀间隔的时间点,传感器(30)感测致动器系统的状况。传感器(30)可以包括若干传感器。优选地,传感器(30)是取得环境(20)图像的光学传感器。传感器(30)的输出信号(S)(或者在传感器(30)包括多个传感器的情况下,每个传感器的输出信号(S))被传输到控制系统(40),该输出信号(S)对所感测的状况进行编码。
由此,控制系统(40)接收传感器信号(S)流。然后,它取决于传感器信号(S)流计算一系列控制信号(A),然后将该系列控制信号(A)传输到致动器(10)。
控制系统(40)在可选的接收单元(50)中接收传感器(30)的传感器信号(S)流。接收单元(50)将传感器信号(S)变换成输入信号(x)。替代地,在没有接收单元(50)的情况下,每个传感器信号(S)可以直接取作输入信号(x)。输入信号(x)可以例如作为来自传感器信号(S)的摘录给出。替代地,可以处理传感器信号(S)以产生输入信号(x)。换句话说,输入信号(x)是根据传感器信号(S)提供的。
输入信号(x)然后被传递到机器学习系统(60)。
机器学习系统(60)由存储在参数存储装置(St1)中并由参数存储装置(St1)提供的参数(Φ)来参数化。
机器学习系统(60)从输入信号(x)中确定输出信号(y)。输出信号(y)包括将一个或多个标签分配给输入信号(x)的信息。输出信号(y)被传输到可选的转换单元(80),该转换单元(80)将输出信号(y)转换成控制信号(A)。控制信号(A)然后被传输到致动器(10)以用于相应地控制致动器(10)。替代地,输出信号(y)可以直接取作控制信号(A)。
致动器(10)接收控制信号(A),被相应地控制,并实行对应于控制信号(A)的动作。致动器(10)可以包括控制逻辑,该控制逻辑将控制信号(A)变换成另外的控制信号,该另外的控制信号然后用于控制致动器(10)。
在另外的实施例中,控制系统(40)可以包括传感器(30)。在更另外的实施例中,控制系统(40)替代地或附加地可以包括致动器(10)。
在仍另外的实施例中,可以设想控制系统(40)控制显示器(10a)代替于致动器(10),或者除了致动器(10)之外还控制显示器(10a)。
此外,控制系统(40)可以包括至少一个处理器(45)和其上存储指令的至少一个机器可读存储介质(46),所述指令如果实行,则使控制系统(40)实行根据本发明的一个方面的方法。
图3示出了一个实施例,其中控制系统(40)用于控制至少部分自主的机器人,例如至少部分自主的车辆(100)。
传感器(30)可以包括一个或多个视频传感器和/或一个或多个雷达传感器和/或一个或多个超声传感器和/或一个或多个LiDAR传感器。这些传感器中的一些或全部优选地但不一定集成在车辆(100)中。因此,输入信号(x)可以理解为输入图像,并且机器学习系统(60)可以理解为图像分类器。
图像分类器(60)可以被配置为基于输入图像(x)检测至少部分自主的机器人附近的对象。输出信号(y)可以包括表征对象位于至少部分自主的机器人附近何处的信息。然后可以根据该信息确定控制信号(A),例如以避免与检测到的对象碰撞。
优选集成在车辆(100)中的致动器(10)可以由车辆(100)的制动器、推进系统、引擎、传动系或转向装置给出。可以确定控制信号(A),使得致动器(10)被控制,使得车辆(100)避免与检测到的对象碰撞。检测到的对象也可以根据图像分类器(60)认为它们最可能是什么来分类,例如行人或树木,并且控制信号(A)可以取决于分类来确定。
替代地或附加地,控制信号(A)也可以用于控制显示器(10a),例如用于显示由图像分类器(60)检测的对象。还可以想象,控制信号(A)可以控制显示器(10a),使得如果车辆(100)接近与至少一个检测到的对象碰撞,则显示器(10a)产生警告信号。警告信号可以是警告声音和/或触觉信号,例如车辆方向盘的振动。
在另外的实施例中,至少部分自主的机器人可以由另一个移动机器人(未示出)给出,该移动机器人可以例如通过飞行、游泳、潜水或步进来移动。移动机器人尤其可以是至少部分自主的割草机,或者至少部分自主的清洁机器人。在所有上面的实施例中,可以确定控制信号(A),使得移动机器人的推进单元和/或转向装置和/或制动器被控制,使得移动机器人可以避免与所述标识的对象碰撞。
在另外的实施例中,至少部分自主的机器人可以由园艺机器人(未示出)给出,其使用传感器(30)、优选为光学传感器来确定环境(20)中植物的状态。致动器(10)可以控制用于喷洒液体的喷嘴和/或切割设备,例如刀片。取决于植物的所标识的种类和/或所标识的状态,可以确定控制信号(A)以使致动器(10)用合适量的合适液体喷洒植物和/或切割植物。
在更另外的实施例中,至少部分自主的机器人可以由家用电器(未示出)给出,如例如洗衣机、炉子、烤箱、微波炉或洗碗机。例如光学传感器的传感器(30)可以检测要由家用电器进行处理的对象的状态。例如,在家用电器是洗衣机的情况下,传感器(30)可以检测洗衣机内部衣物的状态。然后,控制信号(A)可以取决于检测到的衣物材料来确定。
图4示出了一个实施例,其中控制系统(40)用于控制制造系统(200)的制造机器(11)——例如冲压机、切割机、枪钻或夹具——例如作为生产线的一部分。制造机器可以包括移动制造产品(12)的运输设备,例如传送带或装配线。控制系统(40)控制致动器(10),致动器(10)又控制制造机器(11)。
传感器(30)可以由捕获例如制造产品(12)的属性的光学传感器给出。机器学习系统(60)因此可以被理解为图像分类器。
图像分类器(60)可以确定制造产品(12)相对于运输设备的位置。然后,可以取决于所确定的制造产品(12)的位置来控制致动器(10),用于制造产品(12)的后续制造步骤。例如,可以控制致动器(10)在制造产品本身的特定位置处切割制造产品。替代地,可以设想图像分类器(60)对制造产品是否破损或展现缺陷进行分类。然后,可以控制致动器(10)以便从运输设备中移除制造产品。
图5示出了一个实施例,其中控制系统(40)用于控制自动化个人助理(250)。传感器(30)可以是光学传感器,例如,用于接收用户(249)的姿势的视频图像。替代地,传感器(30)也可以是音频传感器,例如,用于接收用户(249)的语音命令。
控制系统(40)然后确定用于控制自动化个人助理(250)的控制信号(A)。根据传感器(30)的传感器信号(S)确定控制信号(A)。传感器信号(S)被传输到控制系统(40)。例如,机器学习系统(60)可以被配置为例如实行手势识别算法来标识用户(249)做出的手势。控制系统(40)然后可以确定控制信号(A)以用于传输到自动化个人助理(250)。然后,它将控制信号(A)传输到自动化个人助理(250)。
例如,控制信号(A)可以根据由机器学习系统(60)识别的所标识的用户手势来确定。它可以包括使自动化个人助理(250)从数据库中检索信息并以适合用户(249)接收的形式输出该检索到的信息的信息。
在另外的实施例中,可以设想,代替于自动化个人助理(250),控制系统(40)控制根据所标识的用户手势控制的家用电器(未示出)。家用电器可以是洗衣机、炉子、烤箱、微波炉或洗碗机。
图6示出了一个实施例,其中控制系统(40)控制访问控制系统(300)。访问控制系统(300)可以被设计成物理地控制访问。例如,它可以包括门(401)。传感器(30)可以被配置为检测与决定是否授予访问权相关的场景。例如,它可以是用于提供图像或视频数据的光学传感器,例如用于检测人的面部。机器学习系统(60)因此可以被理解为图像分类器。
图像分类器(60)可以被配置为对人的身份进行分类,例如,通过将检测到的人的面部与存储在数据库中的已知人的其他面部进行匹配,从而确定人的身份。然后,可以取决于图像分类器(60)的分类、例如根据所确定的身份,来确定控制信号(A)。致动器(10)可以是取决于控制信号(A)打开或关闭门的锁。替代地,访问控制系统(300)可以是非物理的、逻辑的访问控制系统。在这种情况下,控制信号可以用于控制显示器(10a)来示出关于人的身份和/或人是否被给予访问权的信息。
图7示出了一个实施例,其中控制系统(40)控制监督系统(400)。该实施例在很大程度上与图6中所示的实施例等同。因此,将仅详细描述不同的方面。传感器(30)被配置为检测监督下的场景。控制系统(40)不一定需要控制致动器(10),但是可以替代地控制显示器(10a)。例如,图像分类器(60)可以确定场景的分类,例如,由光学传感器(30)检测的场景是否正常,或者场景是否展现异常。被传输到显示器(10a)的控制信号(A)然后可以例如被配置为使显示器(10a)取决于所确定的分类来调整所显示的内容,例如突出显示被图像分类器(60)认为异常的对象。
图8示出了由控制系统(40)控制的医学成像系统(500)的实施例。成像系统例如可以是MRI装置、x射线成像装置或超声成像装置。传感器(30)例如可以是成像传感器,其取得患者的至少一个图像,所述图像例如显示患者的不同类型的身体组织。
机器学习系统(60)然后可以确定感测图像的至少一部分的分类。因此,图像的至少一部分被用作到机器学习系统(60)的输入图像(x)。机器学习系统(60)因此可以被理解为图像分类器。
然后可以根据分类选择控制信号(A),从而控制显示器(10a)。例如,图像分类器(60)可以被配置为检测感测图像中的不同类型的组织,例如通过将图像中显示的组织分类成恶性或良性组织。这可以借助于图像分类器(60)对输入图像(x)的语义分割来完成。然后可以确定控制信号(A)以使显示器(10a)显示不同的组织,例如通过显示输入图像(x)并以相同的颜色对等同组织类型的不同区域着色。
在另外的实施例(未示出)中,成像系统(500)可以用于非医学目的,例如,确定工件的材料属性。在这些实施例中,图像分类器(60)可以被配置为接收工件的至少一部分的输入图像(x),并且执行输入图像(x)的语义分割,从而对工件的材料属性进行分类。然后可以确定控制信号(A)以使显示器(10a)显示输入图像(x)以及关于检测到的材料属性的信息。
图9示出了由控制系统(40)控制的医学分析系统(600)的实施例。医学分析系统(600)被供应有微阵列(601),其中微阵列包括已经暴露于医学样本的多个点(602,也称为特征)。医学样本可以是例如人类样本或动物样本,例如从拭子获得的样本。
微阵列(601)可以是DNA微阵列或蛋白质微阵列。
传感器(30)被配置为感测微阵列(601)。传感器(30)优选为光学传感器,诸如视频传感器。机器学习系统(60)因此可以被理解为图像分类器。
图像分类器(60)被配置为基于由传感器(30)供应的微阵列的输入图像(x)对样本的结果进行分类。特别地,图像分类器(60)可以被配置为确定微阵列(601)是否指示样本中病毒的存在。
然后可以选择控制信号(A),使得显示器(10a)示出分类的结果。
图10示出了用于借助于训练数据集(T)来训练控制系统(40)的机器学习系统(60)的训练系统(140)的实施例。训练数据集(T)包括用于训练机器学习系统(60)的多个输入信号(xi),其中对于每个输入信号(xi),训练数据集(T)进一步包括对应于输入信号(xi)并且表征输入信号(xi)的分类的期望的输出信号(ti)。
对于训练,训练数据单元(150)访问计算机实现的数据库(St2),该数据库(St2)提供训练数据集(T)。训练数据单元(150)从训练数据集(T)中优选地随机确定至少一个输入信号(xi)和对应于输入信号(xi)的期望的输出信号(ti),并将输入信号(xi)传输到机器学习系统(60)。机器学习系统(60)基于输入信号(xi)确定输出信号(yi)。
期望的输出信号(ti)和确定的输出信号(yi)被传输到修改单元(180)。
基于期望的输出信号(ti)和确定的输出信号(yi),修改单元(180)然后为机器学习系统(60)确定新参数(Φ′)。出于该目的,修改单元(180)使用损失函数来比较期望的输出信号(ti)和确定的输出信号(yi)。损失函数确定第一损失值,该第一损失值表征所确定的输出信号(yi)偏离期望的输出信号(ti)多远。在给定的实施例中,负对数似然函数被用作损失函数。在替代实施例中,也可想到其他损失函数。
此外,可想到,确定的输出信号(yi)和期望的输出信号(ti)各自包括多个子信号,例如以张量形式的子信号,其中期望的输出信号(ti)的子信号对应于确定的输出信号(yi)的子信号。例如,可想到,机器学习系统(60)被配置用于对象检测,并且第一子信号表征对象相对于输入信号(xi)的一部分的出现概率,而第二子信号表征对象的确切位置。如果确定的输出信号(yi)和期望的输出信号(ti)包括多个对应的子信号,则优选地借助于合适的损失函数为每个对应的子信号确定第二损失值,并且所确定的第二损失值被合适地组合以形成第一损失值,例如借助于加权和。
修改单元(180)基于第一损失值确定新参数(Φ′)。在给定的实施例中,这是使用梯度下降方法——优选地是随机梯度下降、Adam或AdamW——来完成的。在另外的实施例中,训练也可以基于用于训练神经网络的进化算法或二阶方法。
在其他优选实施例中,所描述的训练被迭代地重复预定义数量的迭代步骤,或者被迭代地重复,直到第一损失值落在预定义阈值以下为止。替代地或附加地,也可想到,当相对于测试或验证数据集的平均第一损失值落在预定义阈值以下时,训练终止。在至少一次迭代中,在前一次迭代中确定的新参数(Φ′)被用作机器学习系统(60)的参数(Φ)。
此外,训练系统(140)可以包括至少一个处理器(145)和至少一个包含指令的机器可读存储介质(146),当由处理器(145)执行时,所述指令使训练系统(140)执行根据本发明的一个方面的训练方法。
术语“计算机”可以理解为覆盖用于处理预定义计算规则的任何设备。这些计算规则可以以软件、硬件或软件和硬件混合的形式。
一般而言,多个可以被理解为被索引,即多个中的每个元素被分配唯一的索引,优选地通过将连续的整数分配给多个中包含的元素。优选地,如果多个包括N个元素,其中N是多个中元素的数量,那么元素被分配从1到N的整数。还可以理解,多个中的元素可以通过它们的索引来访问。
Claims (13)
1.一种计算机实现的机器学习系统(60),其中所述机器学习系统(60)被配置为通过经由机器学习系统(60)的多个层(L,61)转发输入信号(x)来基于输入信号(x)提供输出信号(y),其中所述多个层(L,61)中的至少一个层(61)被配置为接收基于输入信号(x)的层输入(l),并且提供层输出(o),基于所述层输出(o)确定输出信号(y),其中所述层(61)的特征在于层(61)被配置为借助于层输入(l)的非线性归一化来确定层输出(l)。
2.根据权利要求1所述的机器学习系统(60),其中为了确定层输出,所述层被配置为归一化层输入(l)的至少一组值,其中所述组包括层输入(l)的所有值或者层输入(l)的值的子集。
3.根据权利要求2所述的机器学习系统(60),其中所述非线性归一化的特征在于,将来自所述组的值的经验百分位数映射到预定义概率分布的百分位数。
4.根据权利要求3所述的机器学习系统(60),其中所述预定义概率分布是标准正态分布。
5.根据权利要求3或4所述的机器学习系统(60),其中确定层输出(o)包括以下步骤:
·接收层输入(l)的一组值;
·对接收到的值进行排序;
·计算排序值的每个位置的百分位数值;
·借助于预定义概率分布的分位函数计算插值目标;
·确定表征插值目标和排序值的线性插值的函数;
·通过用所述函数处理接收到的值来确定层输出(o)。
6.根据权利要求5所述的机器学习系统(60),其中在确定所述函数之前,确定层输出(o)包括借助于平滑操作平滑排序值的附加步骤。
7.根据权利要求5或6所述的机器学习系统(60),其中确定层输出(o)的步骤进一步包括缩放和/或移位在用所述函数处理接收到的值之后获得的值的步骤。
8.根据权利要求1至7中任一项所述的机器学习系统(60),其中输入信号(x)表征从传感器(30)获得的信号。
9.一种用于训练根据权利要求1至8中任一项所述的机器学习系统(60)的计算机实现的方法。
10.一种用于基于输入信号(x)确定输出信号(y)的计算机实现的方法,其中通过向根据权利要求1至8中任一项所述的机器学习系统(60)提供输入信号(y)来确定输出信号(y)。
11.一种训练系统(140),其被配置为实行根据权利要求9所述的训练方法。
12.一种计算机程序,其被配置为如果所述计算机程序由处理器(45,145)实行,则使计算机实行根据权利要求9或10所述的方法及其所有步骤。
13.一种机器可读存储介质(46,146),其上存储根据权利要求12所述的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22173331.4A EP4276692A1 (en) | 2022-05-13 | 2022-05-13 | Neural network layer for non-linear normalization |
EP22173331.4 | 2022-05-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117057444A true CN117057444A (zh) | 2023-11-14 |
Family
ID=81653725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310539496.9A Pending CN117057444A (zh) | 2022-05-13 | 2023-05-12 | 用于非线性归一化的神经网络层 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230368007A1 (zh) |
EP (1) | EP4276692A1 (zh) |
JP (1) | JP2023168314A (zh) |
KR (1) | KR20230159293A (zh) |
CN (1) | CN117057444A (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784420B (zh) * | 2019-01-29 | 2021-12-28 | 深圳市商汤科技有限公司 | 一种图像处理方法及装置、计算机设备和存储介质 |
US11593617B2 (en) * | 2019-12-31 | 2023-02-28 | X Development Llc | Reservoir computing neural networks based on synaptic connectivity graphs |
CN113627356B (zh) * | 2021-08-13 | 2024-02-23 | 上海无线电设备研究所 | 一种海面舰船智能识别方法 |
-
2022
- 2022-05-13 EP EP22173331.4A patent/EP4276692A1/en active Pending
-
2023
- 2023-04-04 US US18/295,791 patent/US20230368007A1/en active Pending
- 2023-05-10 KR KR1020230060373A patent/KR20230159293A/ko unknown
- 2023-05-12 CN CN202310539496.9A patent/CN117057444A/zh active Pending
- 2023-05-12 JP JP2023079301A patent/JP2023168314A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4276692A1 (en) | 2023-11-15 |
US20230368007A1 (en) | 2023-11-16 |
JP2023168314A (ja) | 2023-11-24 |
KR20230159293A (ko) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114239671A (zh) | 用于训练尺度等变卷积神经网络的设备和方法 | |
KR20210068993A (ko) | 분류기를 훈련하는 디바이스 및 방법 | |
CN117057444A (zh) | 用于非线性归一化的神经网络层 | |
CN116596045A (zh) | 用于确定机器学习系统的对抗补片的设备和方法 | |
US20230004826A1 (en) | Device and method for classifying a signal and/or for performing regression analysis on a signal | |
US20220198781A1 (en) | Device and method for training a classifier | |
US20220019890A1 (en) | Method and device for creating a machine learning system | |
EP4145402A1 (en) | Device and method for training a neural network for image analysis | |
CN114358276A (zh) | 使用自标准化梯度训练标准化流的设备和方法 | |
EP4343619A1 (en) | Method for regularizing a neural network | |
EP4141808A1 (en) | Denoising layer for neural networks for image analysis | |
US20220284289A1 (en) | Method for determining an output signal by means of a neural network | |
EP4258177A1 (en) | Method for initializing a neural network | |
EP4258176A1 (en) | Method for initializing a neural network | |
US20220101128A1 (en) | Device and method for training a classifier using an invertible factorization model | |
US20220101129A1 (en) | Device and method for classifying an input signal using an invertible factorization model | |
US20240135699A1 (en) | Device and method for determining an encoder configured image analysis | |
EP4296910A1 (en) | Device and method for determining adversarial perturbations of a machine learning system | |
US20220012636A1 (en) | Method and device for creating a system for the automated creation of machine learning systems | |
EP3965019A1 (en) | Device and method for training a normalizing flow | |
US20220230416A1 (en) | Training of machine learning systems for image processing | |
CN118076957A (zh) | 用于进行不变分类和/或回归的神经网络 | |
KR20230042664A (ko) | 이미지의 인스턴스 세그먼트화 및/또는 시맨틱 세그먼트화를 결정하기 위한 디바이스 및 방법 | |
CN117744707A (zh) | 用于训练变分自编码器的设备和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |