首页 / 专利库 / 人工智能 / 人工神经网络 / 生成鲁棒的自动化学习系统并测试经训练自动化学习系统

生成鲁棒的自动化学习系统并测试经训练自动化学习系统

阅读:1058发布:2020-06-17

专利汇可以提供生成鲁棒的自动化学习系统并测试经训练自动化学习系统专利检索,专利查询,专利分析的服务。并且生成鲁棒的自动化学习系统并测试经训练自动化学习系统。本 发明 关于一种用于训练神经网络100的方法、一种用于测试神经元网络100的方法,以及一种用于检测可能欺骗神经网络100的对抗性示例的方法。 叠加 的分类通过第二神经网络500向后传播,并且第二神经网络500的输出值用于确定神经元网络100的输入是否是对抗性示例。本发明的设置方法基于对第二神经网络500的这种利用。本发明此外关于配置成实施所述方法的一种 计算机程序 以及一种装置。,下面是生成鲁棒的自动化学习系统并测试经训练自动化学习系统专利的具体信息内容。

1.一种用于测试自动化学习系统(100)、特别是人工神经网络的方法,其中所述方法确定对自动化学习系统(100)的测试输入值(x)的小修改(Δ)是否可使得自动化学习系统(100)的输出值( )对应于预定义的目标输出值( ),
其中如果对测试输入值(x)的修改的大小小于或等于预定修改量级 ,则所述修改是小修改(Δ),
其中自动化学习系统(100)包括用于接收测试输入值(x)的输入层以及用于输出自动化学习系统(100)的输出值( )的输出层,其中所述方法包括以下步骤:
- 确定取决于预定义的目标输出值( )以及参考输出值的第二输出值(c),其中参考输出值是a)被指派给测试输入值(x)的输出值( )或b)自动化学习系统(100)的输出值( )中的一个;
- 基于自动化学习系统(100)而提供第二自动化学习系统(500),
其中第二自动化学习系统(500)的每层对应于自动化学习系统(100)的一个对应的层(110),
其中第二自动化学习系统(500)的输出层对应于自动化学习系统(100)的输入层,并且第二自动化学习系统(500)的输入层对应于自动化学习系统(100)的输出层;
- 将第二输出值(c)馈送到第二自动化学习系统(500)的输入层中,并且通过第二自动化学习系统(500)来传播第二输出值(c);
- 取决于从第二输出值(c)通过第二自动化学习系统(500)的传播所得到的输出值来确定对测试输入值(x)的小修改(Δ)是否可使得自动化学习系统(100)的输出值对应于预定义的目标输出值( )。
2.根据权利要求1所述的方法,其中如果修改(Δ)不使得自动化学习系统(100)的输出值对应于目标输出值,则发布鲁棒性证明。
3.根据权利要求2所述的用于控制技术系统的方法,其中取决于自动化学习系统(100)的输出值以及取决于根据权利要求2所发布的鲁棒性证明来控制技术系统的物理致动器(1210)。
4.根据以上权利要求中任一项所述的方法,此外包括如下步骤:
- 取决于第二自动化学习系统(500)的输出值、以及取决于修改量级 、以及取决于测试输入值(x)来确定目标函数(J);
- 将所确定的目标函数(J)与预定阈值进行比较;以及
- 取决于所述比较的结果而确定对测试输入值(x)的小修改(Δ)是否不使得所述测试输入值(x)的输出值( )对应于预定义的目标输出值( )。
5.一种用于确定不使得对应输出值( )的改变对应于预定义的目标输出值( )的对测试输入值(x)的修改(Δ)的最大安全修改量级的方法,其中所述方法此外包括以下步骤:
- 确定取决于预定义的目标输出值( )以及参考输出值的第二输出值(c),其中参考输出值是a)被指派给测试输入值(x)的输出值( )或b)自动化学习系统(100)的输出值( )中的一个;
- 基于自动化学习系统(100)而提供第二自动化学习系统(500),
其中第二自动化学习系统(500)的每层对应于自动化学习系统(100)的一个对应的层(110),
其中第二自动化学习系统(500)的输出层对应于自动化学习系统(100)的输入层,并且第二自动化学习系统(500)的输入层对应于自动化学习系统(100)的输出层;
- 将第二输出值(c)馈送到第二自动化学习系统(500)的输入层中,并且通过第二自动化学习系统(500)来传播第二输出值(c);
- 取决于测试输入值(x)以及取决于从第二输出值(c)通过第二自动化学习系统(500)的传播所得到的输出值、以及取决于修改量级 来确定目标函数(J),
- 取决于目标函数(J)来确定最大安全修改量级,使得目标函数(J)不变得小于预定阈值。
6.根据权利要求4或5所述的方法,其中针对目标函数(J)的预定阈值不小于零。
7.根据权利要求4至7中任一项所述的方法,其中为多个预定义的目标输出值中的每一个确定多个第二输出值(c)中的一个,
其中所述多个预定义的目标输出值中的每一个对应于不同于参考输出值的不同输出值,
其中所述多个第二输出值(c)通过第二自动化学习系统(500)被传播,所述第二自动化学习系统(500)输出多个对应的输出值,
其中取决于所述多个对应的输出值来确定目标函数(J)。
8.一种用于检测自动化学习系统(100)的提供的输入值(x)是否异常的方法,包括如下步骤:
利用根据权利要求5至7中任一项所述的方法来确定最大安全修改量级 ;
通过利用根据权利要求1所述的方法测试所述自动化学习系统(100)来确定所述自动化学习系统(100)的所述提供的输入值是异常的,
其中预定修改量级 被选择成不大于所述最大安全修改量级 ,并且其中测试输入值(x)被选择成等于所述输入值(x),并且其中如果根据权利要求1所述的方法产生:通过使输入值经受小修改(Δ)可以使得自动化学习系统(100)的输出值改变,则确定所述输入值是异常的。
9.一种用于训练自动化学习系统(100)的方法,其中所述方法包括如下步骤:
-提供预定的修改量级 和训练数据,所述训练数据包括训练输入值(x)以及对应的训练输出值( )二者;
-基于自动化学习系统(100)而提供第二自动化学习系统(500),
其中第二自动化学习系统(500)的每层对应于自动化学习系统(100)的一个对应的层(110),
其中第二自动化学习系统(500)的输出层对应于自动化学习系统(100)的输出层,并且第二自动化学习系统(500)的输入层对应于自动化学习系统(100)的输出层;
-为每个训练输入值( )、取决于预定义的目标输出值( )以及取决于与相应训练输入值( )对应的输出值( )来确定对应的第二输出值( );
-将对应的第二输出值( )中的每一个馈送到第二自动化学习系统(500)的输入层中,并且通过第二自动化学习系统(500)来传播对应的第二输出值( ),以产生第二自动化学习系统(500)的对应输出值;
-取决于预定修改量级 以及取决于训练输入值( )中的至少一个以及取决于第二自动化学习系统(500)的对应输出值中的至少一个来至少确定目标函数 ;
-确定损失函数(L),其取决于所确定的目标函数 ,并且其还至少取决于与训练输入值( )中的所述至少一个相对应的训练输出值( );
-调节自动化学习系统(100)的参数以用于优化所确定的损失函数(L)。
10.根据权利要求9所述的方法,其中对于每个训练输入值( ),取决于与由自动化学习系统(100)取决于相应的训练输入值( )所确定的输出值( )不同的多个不同输出值来确定多个对应的不同的第二输出值( ),
其中每个训练输入值的所述多个对应的不同的第二输出值( )被馈送到第二自动化学习系统(500)的输入层中,并且通过第二自动化学习系统(500)被传播,其中取决于训练输入值( )中的至少一个、以及取决于从通过第二自动化学习系统(500)传播与训练输入值( )中的所述至少一个相对应的多个不同第二输出值( )中的至少一个所得到的第二自动化学习系统(500)输出值来确定目标函数(J)。
11.根据权利要求9或10所述的方法,此外包括如下步骤:
利用根据权利要求5或根据从属于权利要求5的权利要求6或7所述的方法来确定所训练的自动化学习系统(100)的最大安全修改量级(ϵ);以及
如果所述最大安全修改量级小于预定第二阈值,则继续对所训练的自动化学习系统(100)的训练。
12.根据以上权利要求9至11中任一项所述的方法,其中层被分组,其中所分组的层与彼此分离地被训练。
13.一种用于控制技术系统、特别是机器人、载具、机器或电动工具的方法,其中利用根据权利要求9或10所述的方法的情况下的训练方法来训练自动化学习系统(100),其中所训练的自动化学习系统(100)接收对技术系统状态进行表征的输入数据和/或用于控制技术系统的参数,并且其中取决于所训练的自动化学习系统(100)的输出值来控制技术系统的致动器(1210)。
14.根据以上权利要求4至13中任一项所述的方法,其中目标函数(J)取决于第一项()和第二项( )而被确定,所述第一项表征第二自动化学习系统(500)的输出()乘以自动化学习系统(100)的输入值的乘积,并且所述第二项表征通过修改量级(ϵ)加权的第二自动化学习系统(500)的输出值的预定规范。
15.根据权利要求14所述的方法,其中取决于第二自动化学习系统(500)的输出的预定第二规范值( )来确定目标函数的第一项,
其中通过随机柯西投影来近似第二规范值,
其中对于所述近似,通过第二自动化学习系统(500)来传播随机柯西矩阵,其中通过在所传播的随机柯西矩阵的输出值上确定中值来确定第二规范,并且其中还通过随机柯西投影来近似目标函数(J)的第二项。
16.根据以上权利要求中任一项所述的方法,其中自动化学习系统(100)的每一层取决于相应层的输入值通过预定的相应变换(130)来计算输出值,
其中第二自动化学习系统(500)的每一层取决于相应的预定第二变换来计算输出值,其中通过相应的函数 来表征自动化学习系统(100)的层的每个变换,
其中每个第二变换由第二函数 表征,所述第二函数有关于自动化学习系统(100)的相应对应层的函数 的共轭、特别是Fenchel共轭函数 。
17.根据权利要求16所述的方法,其中为自动化学习系统(100)的每层(i)定义指示符函数 ,
其中,对于每层(i),如果所述层(i)的输入连接到自动化学习系统(100)的确切一个另外的层,则将对应的指示符函数 设置成零,
其中第二函数 取决于所述指示符函数 而被确定,
其中,对于每层(i),如果所述层(i)的输入连接到自动化学习系统(100)的至少两个另外的层,则将对应的指示符函数 设置成零。
18.根据权利要求17所述的方法,其中相应指示符函数 的每个共轭函数 通过指示符函数 的共轭函数 的上界来近似,
其中通过至少两个辅助函数(g,h)来表征上界,
其中第一辅助函数(h)表征指示符函数 的共轭函数 的上界的值,
其中第二辅助函数(g)是用于确定第一辅助函数(h)的预定义约束。
19.根据权利要求18所述的方法,其中确定目标函数(J)此外取决于在第二自动化学习系统(500)的所有层(i)的共轭函数 的上界的第一辅助函数(h)上的总和。
20.根据以上权利要求中任一项所述的方法,其中层中的至少一个连接到至少两个其它层,并且接收所述连接的层的输出值作为其输入值,
其中变换中的至少一个是非线性函数、特别是经矫正的线性函数,并且
其中变换中的至少一个部分地是通过参数(W,b)来表征的线性变换,
其中至少其变换是非线性函数的那层的输入值具有有限可允许的输入值集合,所述有限可允许的输入值集合由上界和下届(u,l)来表征,并且
其中,其变换是ReLu函数的所述层的第二变换被如下定义:
a) 如果上界 小于零,则输入值的第二变换是每个输入值对值零的映射,
b) 如果下界 大于零,则输入值的第二变换是每个输入值在与输入值相同的值上的线性映射,
c) 如果下界和上界 跨越零,于是第二变换是通过参数(α)来对输入值加权的第二线性映射。
21.根据权利要求20所述的方法,其中取决于上界(u)和下界(l)来选择第二变换的参数(α),
其中线性变换被给出为输入值与矩阵(W)的乘法,
其中通过输入值与所述矩阵(W)的转置矩阵(WT)的乘法来表征线性变换的第二变换,其中自动化学习系统(100)此外包括批量归一化层,
其中批量归一化层的变换通过如下来被表征:取决于预定均值和预定方差的输入值均值和方差移位,
其中批量归一化层的第二变换通过输入值除以预定方差来被表征。
22.根据权利要求20或21所述的方法,其中有限可允许的输入值集合此外被限制到满足线性不等式( )的输入值,其中线性不等式至少由第一参数(A)以及由第二参数(b)表征。
23.根据权利要求22所述的方法,其中第一参数(A)表征在层的输入值的元素之间的相关性,所述层的变换由非线性函数表征。
24.根据权利要求22或23所述的方法,其中第一参数是矩阵(A),所述矩阵(A)包括前一层的上界和下界,其中所述矩阵(A)乘以表征前一层变换的另外的矩阵,其中所述另外的矩阵是所述前一层的权重矩阵的伪逆。
T
25.根据以上权利要求22至24中任一项所述的方法,其中取决于矩阵(A)的转置(A)乘以通过经受预定约束的相应层的输入值所给出的向量或矩阵的优化、特别是最小化来确定第二参数(b)。
26.一种通过根据权利要求9所述的方法或从属于权利要求9的权利要求10至12或14至
25所述的方法之一的训练方法所获得的自动化学习系统(100)。
27.一种包括指令的计算机程序,所述指令在被计算机执行的时候使得计算机实施根据权利要求1至25中任一项的方法。
28.一种计算机可读数据载体,其包括根据权利要求27所述的计算机程序。

说明书全文

生成鲁棒的自动化学习系统并测试经训练自动化学习系统

技术领域

[0001] 本发明尤其关于一种用于生成具有针对对抗性输入修改的被保证的鲁棒性的自动化学习系统的方法。本发明此外关于一种装置以及一种计算机程序,其被配置成实施所述方法。现有技术
[0002] 尚未预公布的德国专利申请DE 10 2018 200 724公开了一种用于为自动化学习系统确定通用对抗性扰动的方法。取决于若干训练图像以及对应的目标语义分割来确定所述通用对抗性扰动。通用对抗性扰动被配置成当它被叠加在神经网络的任意输入图像上的时候对神经网络有欺骗性。
[0003] 尚未预公布的德国专利申请DE 10 2018 208 763公开了一种用于训练神经网络以便实现经训练的神经网络针对对抗性扰动的鲁棒性的方法。所述方法包括如下步骤:训练神经网络、确定通用对抗性扰动,以及取决于所述通用对抗性扰动来重训练神经网络。
[0004] 有可能由于对人眼不可见的对抗性图像修改而使人在图像中消失,如Metzen等人的“Universal adversarial perturbations against semantic image segmentation”(于The IEEE International Conference on Computer Vision (关于计算机视觉的IEEE国际会议)(ICCV) 2017中)所示出的。
[0005] 本发明的优点现今,自主驾驶可以基于相机,所述相机感测自主车辆的环境。智能图像处理包括神经网络处理这样的相机的图像以便取决于所感测的图像来控制自主车辆。然而,有可能的是智能图像处理、特别是神经网络被受扰动的图像欺骗。扰动可以是对抗性图像修改,诸如以上在现有技术章节中所描述的。扰动图像能够欺骗神经网络,尽管经修改的图像并没有不同于针对人眼的原始描绘的场景。因此,神经网络高度易受对抗性攻击。可能的防御是在相应训练图像的附加生成的对抗性修改的情况下重训练神经网络。这是不利的,因为生成可能欺骗神经网络的图像修改是耗时且成本高的,并且有很高的可能性是修改仍然在,其没有被手工对抗性示例覆盖,但是其仍能欺骗神经网络。特别地,利用该途径,不可能提供神经网络针对所有可能的输入图像对抗性扰动的鲁棒性。
[0006] 本发明提出一种方法用于确定神经网络针对诸如对抗性扰动之类的扰动是否是可证鲁棒的。因此,本发明允许设计分类器,即使在给了攻击者对分类器的充分认知的情况下,也保证所述分类器对于对抗性扰动是鲁棒的。该保证在输入的可能的对抗性示例的整个空间上有效。

发明内容

[0007] 根据本发明的第一方面,公开了一种用于测试自动化学习系统的方法。测试的是自动化学习系统针对小于或等于给定量级的修改是否是鲁棒的。这意味着考虑量级约束的所有任意和/或可能的修改并不将自动化学习系统的输出值改变成给定的目标输出值。此外,可以测试的是自动化学习系统的测试输入值的至少一修改是否改变自动化学习系统的输出值,该输出值对应于、优选地等于给定的目标输出值。
[0008] 自动化学习系统的输出值对应于目标输出值,可以理解的是输出值等于目标输出值,或者输出值在与目标输出值相同的范围或定位处具有其最大值。
[0009] 经受小修改的测试输入值当它被馈送到自动化学习系统中并且通过自动化学习系统被传播的时候使得自动化学习系统输出目标输出值。测试输入值的修改小于或等于给定的修改量级。特别地,如果修改的大小是小于或等于预定修改量级的并且仅仅在此情况下,修改是小修改。自动化学习系统至少包括输入层输出层,所述输入层接收测试输入值,所述输出层输出自动化学习系统的输出值。自动化学习系统的输出值可以对如下进行表征:将测试输入值分类到若干类中的至少一类中。
[0010] 用于测试自动化学习系统的方法包括以下步骤:-确定第二、优选地叠加的输出值,其取决于目标输出值,并且取决于被指派给测试输入值并且可以表征测试输入值的真实分类(特别地被指派给测试输入值的标签)的输出值。
叠加的输出值可以表征叠加的分类,并且可以表征第二分类。
[0011] 提出的是第二输出值是叠加的输出值,并且其中其取决于以下各项中的任一个而被确定:在输出值与目标输出值之间的差异,或在所确定的自动化学习系统输出值与目标输出值之间的差异。
[0012] -基于自动化学习系统而提供第二自动化学习系统。第二自动化学习系统与自动化学习系统具有相同的层、特别是相同的架构、特别是以相反次序的相同被连接的层。第二自动化学习系统的每层对应于——优选确切地对应于——自动化学习系统的一个对应的层。
[0013] 第二自动化学习系统的输出层对应于自动化学习系统的输入层,即第二自动化学习系统的输出由所述第二自动化学习系统的输出层来输出,并且所述输出层对应于自动化学习系统的输入层。第二自动化学习系统的输入层对应于自动化学习系统的输出层,即第二自动化学习系统的输入被馈送到所述第二自动化学习系统的输入层中,并且所述输入层对应于自动化学习系统的输出层。
[0014] -通过第二自动化学习系统来传播第二输出值。
[0015] -取决于从第二输出值通过第二自动化学习系统的传播所得到的输出值、取决于修改量级、并且取决于测试输入值来确定修改是否导致与目标输出值对应的自动化学习系统输出值。
[0016] 该方面的优点是:由于自动化学习系统作为第二自动化学习系统的重用,能够高效地确定自动化学习系统的鲁棒性。
[0017] 如果自动化学习系统不确定目标输出值而是确定正确的输出值,则关于所述修改小于或等于给定量级的限制,自动化学习系统针对每个可能的修改是鲁棒的。可以取决于本发明的不同方面来选择目标输出值。在第一方面中,给定的目标输出值不同于与测试输入值对应的有标签的输出值。在第二方面中,输出值不同于由自动化学习系统取决于测试输入值所确定的输出值。
[0018] 优选地,自动化学习系统包括隐藏层,所述隐藏层通过提供输出值作为针对至少一个隐藏层的输入值而与彼此连接。输入层可以与至少一个隐藏层连接。输入层接收隐藏层的至少一个输出值和/或输入层的输出作为输入。
[0019] 其中第二自动化学习系统的隐藏层以与自动化学习系统的隐藏层相反的次序被排序;即,自动化学习系统的每个隐藏层在其输出处提供中间值,所述中间值被传递到后续隐藏层的输入,并且与后续隐藏层对应的第二自动化学习系统的层在其输出处提供中间值,所述中间值被传递到与所述隐藏层对应的第二自动化学习系统的层。换言之,被馈送到第二自动化学习系统的输入层中的信号通过以与自动化学习系统的层相反的次序的一系列对应层被传播。
[0020] 量级表征输入值修改的强度或度。量级可以是对修改进行表征的值。修改的示例可以是对抗性扰动。可以通过确定修改的规范值来测量修改。优选地,相对于没有修改的原始输入值来测量修改。
[0021] 自动化学习系统的架构可以通过层而被描述,并且优选地通过层被布置并且与彼此连接的方式来被描述。相同架构因此意指第二自动化学习系统包括与自动化学习系统类似的相同层布置。
[0022] 自动化学习系统可以是计算机实现的,例如被实现为(深度)神经网络或卷积神经网络递归神经网络或胶囊网络或支持向量机,或高斯过程。
[0023] 所提出的是利用自动化学习系统来用于机器学习系统。机器学习系统可以是智能机器,比如机器人,其学习以解决预定义的任务,例如通过探索其环境,并且从通过其环境的反馈中或从给定的反馈中学习。
[0024] 所提出的是取决于第二自动化学习系统的输出值、以及取决于修改量级、以及取决于测试输入值来确定目标函数。然后,将所确定的目标函数与预定阈值进行比较。取决于所述比较的结果而确定对测试输入值的小修改是否不使得所述测试输入值的输出值对应于目标输出值。如果所确定的目标函数超过预定阈值,则确定所述小修改不使得所述测试输入值的输出值对应于目标输出值。
[0025] 有利地,测试经训练的自动化学习系统。在经训练的自动化学习系统下,可以理解是,自动化学习系统能够解决给定任务,并且解决的方式是通过自动化学习系统自学习的,特别地在自动化学习系统的参数化中被捕获。典型地,自动化学习系统学习数据内的复杂关系,诸如传感器值,并且利用所学习的关系来解决给定任务。用于分类的经训练的自动化学习系统有利地在训练过程之后被参数化,使得优选地根据被指派给训练输入值的类来正确地对完整训练数据集进行分类。然而,在达到给定准则之后应当终止训练过程,以便不记住训练数据集。
[0026] 在可替换的实施例中,根据第一方面的方法可以用于认可自动化学习系统。
[0027] 自动化学习系统可以是分类器。自动化学习系统、特别是分类器被配置成确定输出值,其对如下进行表征:将输入值分类到若干类中的至少一类中。在另一实施例中,自动化学习系统被配置成实施分割或回归。
[0028] 术语分类可以被宽泛地理解。分类可以是:自动化学习系统向自动化学习系统的每个输入值指派至少一类,其中所述类表征输入值的性质和/或特征和/或对象。分割可以被视为特殊种类的分类,其中为了分割,输入值的至少一些元素被指派到至少一个类,而且语义区可以被指派到若干类中的至少一类。图像加字幕以及对象识别/检测也可以被视为特殊种类的分类。术语回归意味着自动化学习系统的输入值将由自动化学习系统以恰当方式继续。
[0029] 被配置成实施分类或回归的自动化学习系统输入值不限于给定示例,它们可以如期望的那样被选择。被配置成实施分类或回归的自动化学习系统输出值可以表征自动化学习系统的对应输入值的分类或回归。
[0030] 提出的是:当修改不导致与目标输出值对应的自动化学习系统输出值的时候,发布鲁棒性证明。
[0031] 注意到,还可以在实施了本发明其它方面之后生成鲁棒性证明。
[0032] 根据本发明的第二方面,公开了一种方法用于对导致由自动化学习系统所确定的、与目标输出值对应的输出值的测试输入值的修改、特别是对抗性示例进行检测。目标输出值可以不同于所确定的自动化学习系统输出值。
[0033] 第二方面可以用于检测对自动化学习系统的测试输入值是否可能已经利用小修改、特别是测试输入值的对抗性示例而被修改,使得所述测试输入值的输出值、即当所述测试输入值被馈送到自动化学习系统中并且通过自动化学习系统被传播的时候自动化学习系统所输出的输出值导致与目标输出值对应的输出值。
[0034] 对于本发明的不同方面,所提出的是确定目标函数,其取决于第二自动化学习系统的输出值、以及取决于修改量级、以及取决于测试输入值。
[0035] 目标函数表征关于确定修改是否将输出值改变成目标输出值的解的有保证的下界。
[0036] 根据本发明的第三方面,公开了一种方法用于确定不引起对应输出值到目标输出值的改变的、对测试输入值的修改的最大可能修改量级。输出值是当测试输入值、特别是经受修改的测试输入值被馈送到自动化学习系统中并且通过自动化学习系统被传播的时候由自动化学习系统所输出的那个值。
[0037] 该方面是有利的,因为可以确定没有例如将输入误分类到错误类中的最强修改量级,使得可证地,自动化学习系统的输出不能被经修改的输入值翻转到目标输出值。
[0038] 提出的是相应地为若干不同的目标输出值确定若干不同的第二输出值,其相应地不同于所确定的输出值或不同于被指派给测试输入值的输出值。所述第二输出值通过自动化学习系统被传播,所述自动化学习系统输出多个对应的输出值,其中取决于所述多个对应的输出值、即取决于所述多个对应输出值的所有输出值而确定目标函数。
[0039] 这具有如下优点:保证没有任何在给定修改量级内的输入值修改将欺骗自动化学习系统,因为没有任何其它类由自动化学习系统可证地确定为由输入值修改引起。
[0040] 根据本发明的第四方面,公开了一种用于训练自动化学习系统的方法。所述方法包括以下步骤:-提供给定的修改量级和训练数据,其包括训练输入值以及对应的训练输出值。训练输出值可以表征相应输入值的真实/有标签的分类。
-基于自动化学习而提供第二自动化学习系统。
-为每个训练输入值确定对应的第二输出值,其取决于目标输出值并且取决于与相应训练输入值对应的输出值、即当相应训练输入值被馈送到自动化学习系统中并且通过自动化学习系统被传播的时候由自动化学习系统所输出的输出值。
-作为第二自动化学习系统的输入值而馈送所述第二输出值,并且通过第二自动化学习系统而传播所述第二输出值。
-至少确定目标函数,其取决于给定修改量级、以及取决于训练输入值中的至少一个、以及取决于通过传播与相应训练输入值中的所述至少一个相对应的第二输出值而确定的第二自动化学习系统的至少一个输出值。
-确定损失函数,其取决于所确定的目标函数并且至少取决于与用于确定目标函数的相应训练输入值对应的训练输出值。
-调节自动化学习系统的参数以便关于给定的优化准则而优化、特别地最小化损失函数。
[0041] 损失函数测量或表征两个值之间的差异,特别地通过数学距离测量。损失函数可以是交叉熵损失、铰链损失或零-一损失。有利地,在损失函数的和上进行优化,其中在至少一个目标函数上确定每个损失函数。
[0042] 根据第四方面提出的是,所述方法此外包括如下步骤:利用根据本发明第三方面的方法来确定经训练的自动化学习系统的最大修改量级。如果所述最大安全修改量级小于预定第二阈值,则继续对所训练的自动化学习系统的训练。这可以包括如下步骤:在继续训练之前重设置自动化学习系统的所训练参数中的一些或全部参数的值。
[0043] 对于每个方面,提出的是,层的每个变换由相应的函数来表征。第二变换由第二函数表征,所述第二函数有关于函数的共轭,特别是Fenchel共轭函数。
[0044] 函数可以根据变换相应地将相应层的输入值映射到对应输出值上或关联输入值集合与对应输出值集合。函数可以由一些参数限定。
[0045] 对于每个方面,提出的是为自动化学习系统的每一层定义指示符函数,其中对于每一层,如果所述层的输入被(直接地)连接到自动化学习系统的确切一个另外的层则将对应的指示符函数设置成零。如果不是,则指示符函数可以被选择成等于被解释为“无穷”的值,其中取决于所述指示符函数来确定第二函数。优选地,它是指示符函数的共轭函数的近似。
[0046] 注意到,如果没有任何跳跃连接被使用,则有关的共轭函数是指示符函数的确切共轭函数。
[0047] 对于每个方面,提出的是取决于第一项和第二项来确定目标函数,所述第一项表征第二自动化学习系统的输出乘以自动化学习系统的输入值的乘积,所述第二项表征通过修改量级被加权的第二自动化学习系统输出值的给定规范。
[0048] 注意到,当通过第一规范(例如 -规范)来确定自动化学习系统的输入值修改的修改量级的时候,于是给定规范是第一规范的对偶(dual)规范(例如 -规范)。对偶规范被定义为: 。
[0049] 对于每个方面,提出的是,层中的一个与至少两个其它层连接,并且接收所连接的层的输出值作为其输入值。对于每个方面,提出的是,至少一个变换由非线性函数、特别是经矫正的线性函数(所谓的ReLu函数)表征。对于每个方面,提出的是,至少一个变换部分地是通过参数来表征的线性变换。
[0050] 对于每个方面,所提出的是,至少其变换由非线性函数来表征的那层的输入值具有有限可允许的输入值集合,其由上界和下届来表征。
[0051] 这具有如下优点:值被限界,从而导致更准确的目标函数。
[0052] 对于每个方面,提出的是自动化学习系统包括批量归一化(batch normalization)层。批量归一化层的变换通过如下来被表征:取决于给定均值和给定方差的输入值均值和方差移位。
[0053] 注意到,优选地,为输入值的每个元素单独地给出给定均值和给定方差。
[0054] 对于每个方面,提出的是,有限可允许的输入值集合此外被限制到满足线性不等式的输入值。
[0055] 输入值集合从而被进一步限制。从而可以确定更准确的目标函数。此外,参数捕获界限的相关性,并且产生在可允许的值集合周围的更紧的界限、以及因此在自动化学习系统的输出处的对抗性多面体的界限、改善的性能,特别是对于具有许多层的大型自动化学习系统。另外,激活函数的界限更紧,从而导致更小的误差,并且可以实现导致更鲁棒自动化学习系统的训练。
[0056] 对于每个方面,提出的是,参数之一是一矩阵,所述矩阵包括先前连接的层的上界和下界。
[0057] 对于每个方面,提出的是,针对目标函数的阈值不小于零,并且优选地不大于预定正偏置。
[0058] 偏置表征判定的容差或安全裕度,例如,自动化学习系统针对对抗性示例是否是鲁棒的。从而增大目标函数的可靠性。
[0059] 对于第四方面,提出的是,层被分组,并且经分组的层与彼此分离地被训练。
[0060] 这具有如下优点:减小目标函数中修改量级的影响。稍后,可以训练整个级联。
[0061] 特别地根据本发明的每个方面,可以取决于自动化学习系统的输出值来控制技术系统的物理致动器。在已经根据本发明的第一方面而测试了自动化学习系统的情况中,通过自动化学习系统的输出值可以至少并行地或即时地控制物理致动器。此外,可以根据第二方面来测试自动化学习系统的输入值,无论它是否是对抗性示例。如果判定了输入值不是对抗性示例,那么可以取决于自动化学习系统的输出值来控制物理致动器,否则可以卸下地拒绝自动化学习系统的输出值。物理致动器可以是技术系统的部分。技术系统可以例如是至少部分自主的机器、机器人、载具、机械工具、工厂、或飞行物(诸如无人机)。物理作用物可以是引擎或刹车的部分。
[0062] 提出的是具有一种计算机实现的方法,其中至少处理器实施本发明的不同方面的方法的步骤。自动化学习系统还可以用硬件或者硬件和软件的混合来被实现。
[0063] 在另一实施例中,自动化学习系统的输出值可以用于确定控制信号或控制命令。控制信号或控制命令可以用于控制物理致动器。可以与控制信号或控制命令对应地来控制物理致动器。在另一实施例中,控制单元控制物理致动器。控制单元可以被配置成取决于自动化学习系统的输出来确定控制信号或控制命令。还可能的是控制单元取决于自动化学习系统的输出值来直接或间接地控制物理致动器。
[0064] 自动化学习系统的输入值可以接收自传感器,或可以经由因特网或另一数据传输系统或通信系统而从外部接收。
[0065] 在本发明的另外的方面中,提出一种计算机程序,所述计算机程序被配置成实施本发明的先前提及的方面中的任一个。所述计算机程序包括命令,所述命令当在计算机上被执行的时候使得所述计算机实施方法,所述方法具有所有其根据本发明不同方面的步骤。此外,提出一种计算机可读介质,在其上存储所述计算机程序。此外,提出一种装置,所述装置被配置成实施本发明的方法。
[0066] 在本发明的另一方面中,提出一种产品,所述产品通过实施本发明的第一到第四方面的方法之一而被获得。
[0067] 在参考以下各图的以下描述中描述本发明的以上提及的方面的实施例。附图说明
[0068] 图1示出了神经网络的示意性描绘,所述神经网络具有输入值和可能的输入值扰动,以及具有对抗性多面体的输出值;图2示出了输出值的两个示意性描绘,其各自具有对抗性多面体以及判定边界;
图3示意性地示出了用于确定目标函数的方法的流程图的实施例;
图4示意性地示出了用于确定激活函数的上界和下界的方法的流程图的实施例,并且示出了具有跳跃连接的神经网络的示意性描绘;
图5示出了用于通过对偶神经网络来传播输入值的方法的流程图的示意性实施例,并且此外示出了对偶神经网络的示意性描绘;
图6示意性地示出了用于通过目标函数来训练神经网络的方法的流程图的实施例;
图7示出了用于确定随机柯西投影的方法的流程图的示意性实施例;
图8示意性地示出了用于在神经网络干扰期间检测对抗性示例的方法的流程图的实施例;
图9示出了用于找到(多个)输入值的最大可允许扰动的方法的流程图的示意性实施例;
图10示出了用于确定激活函数的较紧界限的方法的流程图的示意性实施例;
图11示意性地示出了用于利用神经网络来操作至少部分自主的机器人的方法的流程图的实施例;
图12是致动器控制系统,其具有控制致动器的自动化学习系统;
图13是控制部分自主的机器人的致动器控制系统;
图14是控制制造机器的致动器控制系统;
图15是控制自动化个人助理的致动器控制系统;
图16是控制访问控制系统的致动器控制系统;
图17是控制监视系统的致动器控制系统;
图18是控制成像系统、特别是医学成像系统的致动器控制系统;
图19是被配置成训练鲁棒神经网络的训练系统。

具体实施方式

[0069] 图1示出了作为神经网络100的自动化学习系统的实施例的示意性描绘。神经网络100包括若干层110。每个层110包括神经元120,所述神经元120具有输入150和输出。在神经元120的输入150处所接收的输入值被称为神经元120的激活。
[0070] 神经元120取决于其激活而确定输出值。此外,神经元包括激活函数130,所述激活函数130被用于取决于相应神经元120的激活而确定输出值。图1中所描绘的激活函数130是经矫正的线性函数(所谓的ReLu)。
[0071] 神经网络100的层通过连接140而与彼此(直接地)连接。连接140连接第一被连接的层的神经元的输出与对应于第二被连接的层的神经元的输入,并且提供输出值作为对第二被连接的层的所连接的神经元的输入值。优选地,连接140将输出值乘以参数,并且提供经相乘的输出值作为输入值。层110中之一是神经网络100的输入层。输入层接收神经网络100的输入值151作为输入值。神经网络100此外包括输出层。在输出层的输出170处所提供的输出值是神经网络100的输出值171。
[0072] 如图1中所描绘的,层110可以被布置成行,其中层相应地与后续层连接。神经网络100可以包括批量归一化层和/或最大池化层和/或线性池化层。
[0073] 神经网络100的输入值151可以是标量、向量、矩阵或张量。例如,输入值可以是图画或音频信号或传感器值。输出值171在该实施例中可以是向量,其例如对如下进行表征:将输入值分类到若干类之一中。在该实施例中,输出层的每个输出170表征类中的一个。取决于对应层110的尺寸,激活可以是标量、向量、矩阵或张量。
[0074] 考虑k层,通过以下等式而给出神经网络 :其中具有神经网络的输入值 和 ,以及从层j到层i的函数 ,以及参
数化θ。
[0075] 如图1中所示,神经网络100的输入值151可以在给定的范围内变化(输入扰动160)。例如,由于测量噪声,输入值可能变化,其可以由扰动值 来表征。输入值还可能由于输入值的对抗性修改而变化。修改可以被限制在局部,例如仅仅修改输入图像的语义区,其也由扰动值 表征。扰动值 可以是修改的最大值或修改的均值。
[0076] 在图1中通过受限界的输入扰动160来示意性地描绘最大扰动。受限界的输入扰动160可以在数学上被描述为:
其中B(x)表示针对最大可允许输入扰动160的输入约束,并且 表征输入值x的p-规范限界的修改 。修改 可以例如是噪声或输入值x的对抗性扰动,其中修改 描述由于例如噪声或输入值x的对抗性示例所引起的所有可能的修改。扰动 可以被视为输入值(x)的修改 的上界。
[0077] 为了判定是否存在可能欺骗神经网络100的B(x)内输入值x修改 ,必须求解以下优化问题:其中输入值x已经指派了给定的类 ,以及目标类 和 。目标
类 可以被任意地选择,并且是不同于给定类 的类。方程(3)的结果是一标量,其描述内最具对抗性的输入值 ,其被神经网络分类为目标类 ,尽管输入值 属于给定类 。如果该标量是正的,那么不存在输入值 的对抗性示例,所述对抗性示例由于对抗性示例的误分类而欺骗神经网络。如果所述标量是正的,于是存在针对 内所有修改的有保证的鲁棒性。
[0078] 根据方程(3)的优化问题可以针对不同于给定类 的所有不同目标类而被求解。如果根据方程(3)的优化问题的结果针对不同于给定类的所有目标类都是正的,于是不存在可能被神经网络100误分类的输入值 的规范限界的对抗性修改 。重要的点是:如果方程(3)的最小值是正的,则保证在 内不存在任何对抗性示例。
[0079] 由于求解根据方程(3)的优化问题将会是非常低效的,所以问题可以被限界,特别是通过对偶优化问题。注意到,对偶问题的解是可行对偶解,并且在如方程(3)中所给出的原始优化问题的解上提供有保证的下界。
[0080] 可以通过将约束添加到原始优化问题中、例如利用拉格朗日乘法来构建对偶问题。
[0081] 对该情况,当使用跳跃连接的时候,方程(3)的约束取决于彼此。因此,指示符函数用于确定对偶优化问题。指示符函数可以被给出为:针对 。
[0082] 指示符函数的与Fenchel共轭函数有关的“伪”共轭函数通过如下被给出:针对 。注意到,方程(5)的共轭函数不是方程(4)的确切共轭函数,因此被称为“伪”共轭函数。
[0083] 指示符函数的“伪”共轭可以通过如下而有上界:利用先前的方程,根据方程(3)的优化问题可以被重写为方程(3)的下界。该下界通过如下来被表述:
其中 是对方程(2)中的 规范的对偶规范。
[0084] 项可以被写为目标函数J:可以通过使用由方程(7)的以下方程所给出的对偶神经网络来高效地确定目标函数J:
其中 是对偶层,其表征通过所述层的对偶激活函数的对偶变换。
[0085] 在下文中,示例性地示出了两个不同的对偶层。针对线性层 的对偶层可以被表述为:
针对具有ReLu激活函数 的层的对偶层被给出为:
其中 是对矩阵:
并且 分别标示负、正以及跨零激活的集合。这些激活集合取决于对应激活的下界和上界 ,并且可以被视为辅助约束。如果激活的上界 小于零,则激活对应于具有负激活的激活集合 。如果下界 是正的,那么激活对应于具有正激活的激活集合 。如果下界和上界跨越零点,于是激活对应于集合 。在图4中示出用于确定下界和上界的方法。
[0086] 如已经讨论的,如果目标函数是正的,于是不存在欺骗神经网络100的输入值 的修改。然而,如果目标函数是负的,则不可能保证输入值 的修改是否将输入值分类改变到目标分类。如图2中示意性地示出的,神经网络100的输出值171被输出对抗性多面体180接合。输出对抗性多面体180是非凸集,这是由于神经网络100的非线性激活函数、诸如ReLu激活函数所致。为了简化,非线性激活函数可以被近似,这导致输出对抗性多面体180的近似。
[0087] 可以通过对具有凸包的ReLu限界来完成ReLu激活函数的近似。凸包通过三个线性方程来描述,一个用于负输入值,一个用于正输入值,以及第三线性方程,该第三线性方程闭合这两个线性方程到凸包所跨越的区域。
[0088] 在图2中通过被限界的凸多面体200来示出输出对抗性多面体的近似。
[0089] 此外,图2示出了判定边界201,其与输出对抗性多面体180以及被限界的凸多面体200相交。这暗指神经网络100的输出值171如果在输出对抗性多面体180的区域200内的话则它可能被误分类。如果输入值的修改导致神经网络100的输出值往区域220中的移位,则这将会导致输入值的错误分类。对该情况,目标函数将会是负的,因为输出值171的移位当与判定边界201相交的时候可导致另一分类。对该情况,不存在针对输入值误分类修改的鲁棒性。
[0090] 如果第二判定边界202仅仅与受限界的凸多面体200相交,而不与输出对抗性多面体180相交,于是目标函数J也是负的,尽管输入值 的任何修改将不会导致错误分类,因为所有可能的输出值位于不被第二判定边界202划分的输出对抗性多面体180内。对该情况,将会存在针对输入值误分类修改的鲁棒性。然而由于输出对抗性多面体180的近似,目标函数(J)不准确。
[0091] 因此,如果目标函数J是负的,则不可能判定输入修改是否可能欺骗神经网络100。仅仅对于正目标函数,可以做出有保证的判定,即,输入值修改不欺骗神经网络100。
[0092] 图3示出了用于确定方程(8)的目标函数J的方法的示意性流程图300。
[0093] 方法开始于步骤301。在该步骤301中,提供输入值 ,以及输入值 的真实分类,以及目标分类 ,以及给定扰动 。
[0094] 然后,在步骤302中,确定根据方程(3)的变量 。
[0095] 在随后的步骤303中,输入值 通过神经网络100传播,并且确定神经元(或激活函数)的激活的上界和下界 。在图4中示出用于确定这些界限 的方法。
[0096] 在结束了步骤303之后,实施步骤304。在该步骤中,根据方程(9)来构建对偶神经网络。然后,实施步骤305。在该步骤中,变量 通过根据方程(9)的对偶神经网络而传播。在图5中给出步骤304和305的更详细的描述。
[0097] 在步骤306中,取决于输入值 并且取决于对偶神经网络的输出值 以及给定的扰动 来确定根据方程(8)的目标函数J。
[0098] 图4示出了具有跳跃连接410的神经网络100。在神经网络100的该实施例中,所有神经元可具有ReLu激活函数。此外,图4示出了用于确定具有跳跃连接410的神经网络100的层的输入值的上界和下界的方法的流程图400的实施例,特别是一种用于确定具有ReLu激活函数的神经元的激活的上界和下界的方法。
[0099] 用于确定层的输入值的上界和下界的方法开始于步骤401。在该步骤中,提供输入值 和扰动 ,并且根据以下方程来初始化不同的变量:其中对于该示例, 标示所有列的矩阵 规范。其它规范也是可设想的。
[0100] 在步骤402中,在神经网络的层上开始循环。所述循环通过 初始化,并且重复直到i等于k-1为止。在循环的第一步骤403中,取决于层(i)的上界和下界的值来确定激活集合 。
[0101] 然后,在步骤404中,根据如下方程来初始化新的项:然后(步骤405),现有项根据如下方程而传播:
在步骤406中,界限被计算为:
附加地,在步骤406中增大循环索引i。如果i等于 ,则实施步骤407。在该步骤中,返回上界和下界 。否则 ,重复步骤403到406。注意到,如果不是每个神经元都具有非线性激活函数,则不需要为每个神经元确定界限。
[0102] 注意到,如果神经网络包括其它非线性激活函数,则可以关于方程(6)来修改方程(16),这通过相应地用 替换每个和 。另外,在步骤404和405中必须应用对偶变换 。
[0103] 图5示出了具有对偶跳跃连接510的对偶神经网络510。在对偶神经网络510的该实施例中,基于图4中所示的神经网络100来创建对偶神经网络510。此外,图5示出了用于构建对偶神经网络510并且根据方程(9)通过对偶神经网络510来传播输入值-c的方法的流程图500的实施例。
[0104] 该方法开始于步骤501,其通过创建对偶神经网络510而开始。示例性地,神经网络100的架构被拷贝,并且神经网络100的输入层和输出层分别被重配置为对偶神经网络510的输出层和输入层。这意味着当输入值-c通过对偶网络510被传播的时候,相对于神经网络
100的输入的传播,对偶神经网络510的输入向后传播。注意到,当图5中的对偶网络旋转180度的时候,于是对偶神经网络的输入值通过对偶神经网络相对于神经网络100向前传播。
[0105] 在步骤502中,每个层的激活函数被相应的对偶激活函数取代。可以根据方程(6)或方程(10)到(12)来确定对偶激活函数。
[0106] 在随后的步骤503中,对偶神经网络510的输入接收变量c作为输入,或根据方程(9),利用 作为输入值来确定目标函数J作为对偶问题的解。
[0107] 此后(步骤504),对偶神经网络510的输入通过对偶网络500按层传播。在输出层已经在步骤504中确定了其输出值之后,在随后的步骤506中,该输出值被返回,作为对偶神经网络510的输出值。
[0108] 图6示出了用于训练神经网络100成为针对神经网络100的输入值的对抗性扰动是有保证的鲁棒的方法的流程图600的实施例。
[0109] 该训练方法开始于步骤601。此处,训练数据包括N个训练输入值 ,以及N个训练输出值 ,其分别被指派给训练输入值 。输出值 可以是相应输入值 的真实分类。还在步骤601中给出扰动值 。注意到,包括N对输入值和输出值的训练数据被称为批(batch)。如果多于一个批可用,则可以为每一批重复该方法。附加地或可替换地,可以为相同的批重复所述方法若干次,直到满足给定准则为止。注意到,该训练方法还可以用于非监督式学习,其中根据非监督式学习途径,训练数据应当被相应地结构化和/或加标签。还可设想的是,每个训练输入值 可以具有多于一个对应的训练输出值 。
[0110] 随后,在步骤602中开始在训练数据上针对 的循环。
[0111] 在步骤603中,针对第i训练输入值 ,为不同于所指派的真实分类 的每个期望的目标分类 生成根据方程(3)的变量 。针对每个期望的目标分类的变量 可以被表述为矩阵: 。被包括在所述矩阵中的每个所确定的变量 可以用于确定针对第i训练输入值 的目标函数J。然后,根据图3中所示的方法来确定目标函数 。
[0112] 然后(步骤604),确定损失函数 ,其表征在所确定的目标函数 与训练输出值之间的差异。优选地,利用0-1损失函数。还可能的是使用若干不同的损失函数来用于神经网络500的不同输出值、目标函数和/或用于不同利用的训练输出值。循环的索引i被增大一,并且步骤603和604被重复直到索引i等于N为止,如在步骤602中所定义的那样。
[0113] 当所有训练数据上的循环结束的时候,实施步骤605。此处,每个所确定的损失函数 被求和,并且所有损失函数上的总和被优化,例如:可以通过梯度下降来优化方程(17)。梯度下降确定神经网络(100)的参数 的改变以便最小化损失函数 上的总和。有利地,参数 的改变 用于调节所述参数,并且重复步骤605直到参数 的所确定的改变 小于给定阈值为止。
[0114] 图7示意性地示出了用于增大效能并且使如图6中所述的神经网络100的训练加速、特别是使步骤603加速的方法的流程图700。还有可能利用该方法来使图3的步骤306加速。
[0115] 扼要重述通过方程(8)所定义的目标函数:。第二和第三项( )的计算取决于整个对偶神经元网络500,并且因此在
计算上是昂贵的。然而,根据图7中所示的方法可以高效地近似这些项。
[0116] 在第一步骤701中,给出针对对偶网络500的每个层的下界和上界。
[0117] 在下一步骤702中,利用 的大小来初始化矩阵 。矩阵 的元素采样自柯西分布。注意到,该矩阵 对应于 界限。
[0118] 随后,在步骤703中,层 上的循环开始于循环索引i。
[0119] 在步骤704中,在索引 上迭代,其中对于索引j的每个值,确定新的随机矩阵 ,并且确定 。这对应于通过对偶网络来传播 随机向量(以及附加向量,例如 )。
[0120] 在步骤704已经结束之后,实施步骤705。在步骤705中,确定新矩阵和 (根据方程(19)确定 )。然后,索引i增大一,并且重复步骤704和705直到 被满足为止。
[0121] 在步骤706中,针对ReLu层的项 和项 可以被更高效地计算。对于对偶规范等于 规范的情况,这可以通过如下而被高效计算:其中 是 标准柯西随机矩阵,并且在第二轴上取中值。
[0122] ReLu函数的第二项被表述为:图8示出了用于检测输入值x的可能的对抗性示例的方法的流程图800的实施例。
[0123] 在第一步骤801中,神经网络100取决于输入值而确定输出值 。
[0124] 在步骤802中,根据以下方程而为所有可能的目标分类确定目标函数J:在随后的步骤803中,将目标函数J与阈值相比较。例如: ,
于是不存在可被神经网络100误分类的输入修改。如果目标函数J是正的,于是比较的结果为真,这对如下进行表征:在球 内不存在可被误分类的输入图像修改。否则,如果目标函数不是正的,则比较的结果为假。
[0125] 可选地,实施步骤804。在该步骤中,神经网络100的输出值 取决于比较结果而被释放或拒绝。例如,如果比较结果为真,则输出值 可以用于控制技术系统(为了更多信息,参见图12)。可替换地,当步骤803的结果为真的时候,可以生成授权信号或鲁棒性证明。授权信号或鲁棒性证明可以用于在利用输出值 之前进行检查。优选地,授权信号和/或鲁棒性证明被加密以防止恶意的操纵。
[0126] 图9示意性地示出了用于确定最大扰动值 使得神经网络100的输出值不能被神经网络100可能地翻转到与所确定的类相比的另一类的方法的流程图900。这也可以被视为测量,判定边界距离神经网络输出多远。
[0127] 在第一步骤901中,神经网络100取决于输入值而确定输出值 。
[0128] 在步骤902中,为所有可能的目标分类 确定目标函数J。
[0129] 随后(步骤903),确定最大扰动值 。这可以根据以下方程而被确定:特别地,可以通过利用顿方法来求解方程(21)。可选地或可替换地,二分搜索可以用于求解方程(21)。用于求解方程(21)的另一方式可以是通过在目标函数保持为正的时候递增地增大 。
[0130] 可选地,如果确定了针对给定输入值的最大扰动值,则步骤901直到903可以被重复以用于另一输入值。如果为不同的输入值确定了多于两个最大扰动,则可以实施步骤904。此处,所确定的最小扰动值被探明并且返回。取决于所返回的该扰动值,可以生成鲁棒性证明。该鲁棒性证明可以使用在所述方法之一中,其中需要给定的扰动值 。
[0131] 图10示意性地示出了用于确定激活函数的、特别是具有ReLu激活函数的神经元的较紧界限的方法的流程图1000的实施例。
[0132] 方法开始于步骤1001。在该步骤中,给定神经网络100,其中神经网络可以通过具有ReLu激活函数并且示例性具有批量归一化层的 来被描述。此外,在步骤1001中,提供输入值x和扰动 。
[0133] 在后续步骤1002中,为每个层 、特别地为层的每个神经元确定上界和下界 。可以根据图4中所示的方法来确定上界和下界。可替换地,可以通过将变量c通过对偶神经网络500传播来确定上界,所述变量针对该情况通过正对角矩阵 而被给出,所述正对角矩阵可以是通过对偶神经网络500按列传播的,并且取决于输入值(x)而被缩放的所述传播的对角矩阵的每个层的最大值被用作上界。相同的过程可以通过传播 并且从其中确定最大值而被完成,所述最大值是下界。
[0134] 然后,在步骤1003中,除了步骤1002所确定的上界和下界之外,线性不等式被初始化,并且层的输入值 被限于以下可允许的输入值集合 :矩阵 的初始化通过选择矩阵 的第一维度的任意大小 来被完成,其中第二维度取决于层的大小: 。 矩阵 的第一维度可以与神经网络100中的对应层i的定位成比例,并且对于对应层i的神经元的数目是多项式的。
[0135] 优选地,神经网络100的第一层包括矩阵 ,其具有如下优点:能够描述输入值的规范限界的修改的更好近似。更深的层、例如最后几层应当包括矩阵 以便最小化在输出对抗性多面体180和受限界的凸多面体200之间的误差。此外,神经元网络100的层变得越深,矩阵 的大小应当被选择得越大。通过选择某个大小 的矩阵 ,添加 个附加约束用于限制可允许的输入值集合 。
[0136] 在矩阵 的另一实施例中,所述矩阵可以是卷积矩阵。
[0137] 在步骤1004中,确定矩阵 的元素。存在用于确定矩阵 的元素的两个选项。在第一选项中,元素随机地采样自给定分布(例如高斯分布,其对准在原点周围)。在另一选项中,元素是前一层的上界和下界。
[0138] 线性不等式 的向量 可以根据如下可替换方法而被确定:所述可替换方法用于通过使 通过对偶神经网络按行传播用以确定向量 来确定上界(类似于步骤1002,所述步骤1002用于通过使矩阵I通过对偶神经网络传播来确定上界和下界)。
[0139] 在随后的步骤1005中,优化矩阵 的元素。对于激活函数通过ReLu激活函数被给出的情况,在矩阵 的元素上的优化可以通过求解以下方程、特别地通过取决于矩阵 的元素的梯度下降来完成:在另外的实施例中,梯度下降的步进大小可以取决于寻找方程(23)最小值的进度而变化。
[0140] 如果矩阵 的元素被选择成是前一层的上界和下界,则矩阵 的元素可以根据方程(23)、类似地通过利用梯度下降来被优化。附加地或可替换地,经初始化的矩阵 可以通过如下来被优化:将矩阵 乘以对前一层的变换进行表征的逆矩阵。优选地,所述逆矩阵是尤其包含前一层权重的矩阵 的逆或伪逆、左逆或右逆。
[0141] 在步骤1005中优化了矩阵 的元素之后,在步骤1006中可以更新向量 。例如,如在步骤1004中所做的那样。
[0142] 在可选的后续步骤中,可以更新上界和下界,例如根据步骤1002。有可能重复步骤1005和步骤1006,因为矩阵 和向量 与彼此链接,并且如果它们中的一个改变,则另一个必须适配。
[0143] 对偶神经网络的相应对偶层i的对偶变换可以通过矩阵 连同相应对偶层i的已经确定的或更新的上界和下界来被确定。根据方程(23)的优化问题必须取决于 被求解(例如通过梯度下降)(找到最小化方程(23)的优化问题的 值),用以确定对偶变换,其由方程(23)表征为共轭ReLu函数根据方程(6)的上界。
[0144] 图11描绘了用于利用经训练的神经网络100用于控制技术系统、诸如部分自主的机器人或载具并且可选地在控制技术系统之前检测对抗性示例的方法的流程图1100。注意到,在随后的图12到18中示例性地示出技术系统的不同配置。
[0145] 该方法开始于步骤1101。该步骤用于获取训练数据D,包括训练输入图像和所指派的训练输出值。训练输入图像可以是相机的图像,并且相应的训练输出值可以对如下进行表征:将训练图像分类到若干类中的一类中,例如类:行人或不同的道路标志。这些训练数据D可以由训练系统提供,如图19中所示,所述训练系统被配置成根据图6中所述的方法来训练神经网络100。
[0146] 随后(步骤1102),神经网络100根据图6中所述的方法、利用步骤1101的训练数据D来被训练。在训练了神经网络100之后,用于确定如图9中所述的最大扰动 的方法可以被实施,优选地,每个训练输入图像被用于确定最大扰动 。可以在服务器上或在技术系统本身中实施步骤1102。经训练的神经网络、特别是参数化和可选的架构、以及在可适用的时候最大扰动 可以从服务器被传输到技术系统中并且被存储在技术系统的存储装置中。附加地,可以实施如下方法:所述方法用于根据图3关于输入图像修改是否可能欺骗经训练的神经网络来测试经训练的神经网络。
[0147] 在步骤1103中,技术系统的传感器、例如相机感测环境,并且经训练的神经网络接收传感器值、例如图像。
[0148] 在步骤1104中,经训练的神经网络取决于传感器值而确定输出值。
[0149] 可以实施步骤1105。此处,检查所接收的传感器值,是否它是如图8中所述的传感器值的对抗性示例。取决于对抗性示例的检测的结果,可以生成认证信号。
[0150] 在步骤1104或步骤1105之后,实施步骤1106。取决于步骤1104的输出值,生成用于技术系统的控制信号。控制信号可以取决于步骤1105的认证信号。在一个实施例中,仅仅在认证信号表征了神经网络输入不是对抗性示例的情况下,于是生成控制信号。在另一实施例中,取决于控制信号可以丢弃所生成的控制信号。可以通过步骤1106的控制信号来控制技术系统的发动机或刹车系统。
[0151] 图12中所示的是致动器1210在其环境1220中的一个实施例。致动器1210与致动器控制系统1240交互。致动器1210与其环境1220将共同被称为致动器系统。以优选均匀间隔的距离,传感器1230感测致动器系统的状况。传感器1230可以包括若干传感器。对所感测的状况进行编码的传感器1230的输出信号S(或在传感器1230包括多个传感器的情况中,针对每个传感器的输出信号S)被传输到致动器控制系统1240。在另一实施例中,致动器控制系统1240可以接收假想的传感器值用于测试致动器控制系统1240。
[0152] 致动器控制系统1240从而接收传感器信号S的流。它取决于传感器信号S的流来计算一系列致动器控制命令A,其然后被传输到致动器1210。
[0153] 致动器控制系统1240在可选的接收单元1250中接收传感器1230的传感器信号S的流。接收单元1250将传感器信号S变换成输入信号x。可替换地,在没有接收单元1250的情况中,每个传感器信号S可以直接被取为输入信号x。输入信号x可以例如作为从传感器信号S中的选录而被给出。可替换地,传感器信号S可以被处理以产生输入信号x。输入信号x可以例如包括图像、或视频记录的。换言之,根据传感器信号S来提供输入信号x。
[0154] 输入信号x然后被传递到自动化学习系统1260,所述自动化学习系统1260可以例如通过神经网络100给出。
[0155] 自动化学习系统1260通过参数θ来被参数化,所述参数被存储在参数存储装置P中并且由参数存储装置P提供。
[0156] 自动化学习系统1260根据输入信号x来确定输出信号y。输出信号y被传输到转换单元1280,所述转换单元1280将输出信号y转换成控制信号或控制命令A。致动器控制命令A然后被传输到致动器1210用于相应地控制致动器1210。
[0157] 致动器1210接收致动器控制命令A,被相应地控制,并且实施与致动器控制命令A对应的动作。致动器1210可以包括控制逻辑,所述控制逻辑将致动器控制命令A变换成另外的控制命令,其然后用于控制致动器1210。
[0158] 在另外的实施例中,致动器控制系统1240可以包括传感器1230。传感器1230可以是相机、雷达或激光雷达传感器。传感器不限于那些,其它可设想的传感器、如音频传感器也可适用。在甚至另外的实施例中,致动器控制系统1240可替换地或附加地可以包括致动器1210。
[0159] 此外,致动器控制系统1240可以包括处理器45(或多个处理器),以及至少一个在其上存储了指令的机器可读存储介质46,所述指令如果被实施则使得致动器控制系统1240实施根据先前各图中之一所述的方法。
[0160] 对于致动器1210可替换地或附加地,实施例可以包括显示单元1210a,所述显示单元1210a也可以根据致动器控制命令A而被控制。可替换地,显示单元1210a属于测量系统,其中自动化学习系统用于取决于输入值而确定测量值。
[0161] 在致动器控制系统1240的另外的实施例中,致动器控制系统1240包括鲁棒性证明生成器1247。鲁棒性证明生成器1247被配置成生成鲁棒性证明,其对应于例如图8中所示的方法。所生成的鲁棒性证明可以被显示在显示单元1210a上,或可以用于释放控制命令A以用于控制致动器1210。在另一实施例中,致动器控制系统1240包括对抗性示例检测器1248,所述对抗性示例检测器1248执行根据图8的方法。
[0162] 在所有以上的实施例中,自动化学习系统1260可以包括分类器,所述分类器被配置成对属于若干预定义的类中一类的输入信号x进行分类。在另一实施例中,自动化学习系统1260被配置成对图像区进行分类,或被配置成按像素地对图像进行分类。
[0163] 附加地或可替换地,输出信号y或控制信号或控制命令A被显示在显示单元1210a上。
[0164] 图13示出一实施例,其中致动器控制系统1240用于取决于自动化学习系统1260的输出值来控制至少部分自主的机器人,例如至少部分自主的载具1300。
[0165] 传感器1230可以包括一个或多个视频传感器和/或一个或多个雷达传感器和/或一个或多个超声传感器和/或一个或多个激光雷达传感器和或一个或多个定位传感器(比如例如GPS)。这些传感器中的一些或全部是优选的,但是不一定被集成在载具1300中。
[0166] 可替换地或附加地,传感器1230可以包括信息系统,用于确定致动器系统的状态。针对这样的信息系统的一个示例是天气信息系统,其确定环境1220中的天气的目前或未来的状态。另外的信息可以由通信系统或经由因特网被接收。
[0167] 例如,通过使用输入信号x,自动化学习系统1260可以例如检测在至少部分自主的机器人附近的对象。输出信号y可以包括表征对象的信息,所述对象位于至少部分自主的机器人附近。然后可以根据该信息来确定控制命令A,例如用于避免与所述检测到的对象的碰撞。
[0168] 致动器1210,其优选被集成在载具1300中,可以由载具1300的刹车、推进系统、引擎、动力传动系统(drivetrain)、或转向装置给出。致动器控制命令A可以被确定使得致动器(或多个致动器)1210被控制使得载具1300避免与所述检测到的对象的碰撞。所检测到的对象还可以被分类,这根据自动化学习系统1260认为它们最有可能是什么、例如行人或树,并且可以取决于所述分类来确定致动器控制命令A。
[0169] 在另外的实施例中,所述至少部分自主的机器人可以通过另一移动机器人(未示出)来被给出,所述移动机器人可以例如通过飞行、游泳、潜或步进来移动。移动机器人可以尤其是至少部分自主的割草机,或至少部分自主的清洁机器人。在所有以上的实施例中,致动器控制命令A可以被确定使得移动机器人的推进单元和/或转向装置和/或刹车被控制使得移动机器人可以避免与所述经标识的对象的碰撞。
[0170] 在另外的实施例中,所述至少部分自主的机器人可以通过园艺机器人(未示出)给出,所述园艺机器人使用传感器1230、优选地光学传感器确定环境1220中植物的状态。致动器1210可以是用于喷洒化学品的喷嘴。取决于所标识的种类和/或所标识的植物状态,致动器控制命令A可以被确定以使得致动器1210用合适量的合适化学品喷洒植物。
[0171] 在甚至另外的实施例中,所述至少部分自主的机器人可以由家用器具(未示出)给出,比如例如洗衣机、火炉、烤箱微波炉或洗碗机。传感器1230、例如光学传感器可以检测将经历通过家用器具的处理的对象的状态。例如,在家用器具是洗衣机的情况中,传感器1230可以检测洗衣机内要洗的衣服的状态。然后可以取决于所检测的要洗衣服的材质来确定致动器控制信号A。
[0172] 图14中示出的是一实施例,其中致动器控制系统1240用于控制制造机器1411,例如制造系统200的冲压切割机、切割机或枪管钻,其例如作为生产线的部分。取决于致动器控制系统1240的自动化学习系统1260的输出值,致动器控制系统1240控制致动器1210,所述致动器1210进而控制制造机器1413。
[0173] 传感器1230可以由光学传感器给出,所述光学传感器捕获例如所制造的产品1412的性质。自动化学习系统1260可以根据这些所捕获的性质来确定所制造的产品1412的状态或所制造的产品1412本身。控制制造机器1411的致动器1210然后可以取决于所确定的所制造产品1412的状态来被控制,以用于由自动化学习系统1260所确定的或由致动器控制系统1240所确定的所制造产品1412的后续制造步骤。可替换地,可以设想在后续制造的产品
1412的制造期间、取决于所确定的所制造产品1412的状态来控制致动器1210。
[0174] 在图15中示出的是一实施例,其中致动器控制系统1240用于控制自动化个人助理1502。在优选实施例中,传感器1230可以是声学传感器,其接收人类用户1501的语音命令。
传感器1230还可以包括光学传感器,例如用于接收用户1501的手势的视频图像。
[0175] 致动器控制系统1240然后确定致动器控制命令A以用于控制自动化个人助理1502。根据传感器1230的传感器信号S来确定致动器控制命令A。传感器信号S被传输到致动器控制系统1240。例如,自动化学习系统1260可以被配置成例如实施手势识别算法以标识由用户1501所做的手势,或它可以被配置成实施语音命令识别算法以标识由用户1501所发出的口头命令。致动器控制系统1240然后可以确定致动器控制命令A以用于传输到自动化个人助理1502。它然后将所述致动器控制命令A传输到自动化个人助理1502。
[0176] 例如,可以根据由自动化学习系统1260所识别的经标识的用户手势或经标识的用户语音命令来确定致动器控制命令A。它于是可以包括信息,所述信息使得自动化个人助理1502从数据库检索信息并且以适合于被用户1501接收的形式来输出所检索的该信息。
[0177] 在另外的实施例中,可以设想的是,代替于自动化个人助理1502,致动器控制系统1240控制家用器具(未示出),所述家用器具根据所标识的用户手势或所标识的用户语音命令来被控制。所述家用器具可以是洗衣机、火炉、烤箱、微波炉或洗碗机。
[0178] 在图16中示出的是一实施例,其中致动器控制系统对访问控制系统1602进行控制。访问控制系统可以被设计成物理地控制访问。它可以例如包括1601。传感器1230被配置成检测对于判定访问是否将被准许相关的场景。它可以例如是光学传感器,用于提供图像或视频数据,用于检测人脸。自动化学习系统1260可以被配置成解释该图像或视频数据,例如通过将身份与数据库中所存储的已知的人进行匹配,从而确定人员的身份。然后可以取决于自动化学习系统1260的解释、例如根据所确定的身份来确定致动器控制信号A。致动器1210可以是,其取决于致动器控制信号A来准许访问或否。非物理的、逻辑访问控制也是可能的。在另一实施例中,致动器控制系统控制供暖系统,其中致动器控制系统被配置成取决于所测量的温度和/或湿度值以及可选地取决于天气预报或日间时间来确定所有者期望的气候
[0179] 在图17中示出的是一实施例,其中致动器控制系统1240对监视系统1701进行控制。该实施例在很大程度上等同于图16中所示的实施例。因此,仅仅将详细描述不同的方面。传感器1230被配置成检测在监视下的场景。致动器控制系统不一定控制致动器1210,而是显示器1210a。例如,自动化学习系统1260可以确定光学传感器1230所检测的场景是否是可疑的。被传输到显示器1210a的致动器控制信号A于是可以例如被配置成使得显示器1210a突出被自动化学习系统1260认为可疑的对象。
[0180] 图18中示出的是致动器控制系统1240的实施例,所述致动器控制系统1240用于控制成像系统1800,例如MRI装置、x-射线成像装置或超声成像装置。传感器1230可以例如是成像传感器,其感测的图像被自动化学习系统1260解释。然后可以根据该解释来选择致动器控制信号A,从而控制显示器1210a。例如,自动化学习系统1260可以将所感测的图像的区解释为是潜在异常的。在该情况中,致动器控制信号A可以被确定成使得显示器1210a显示成像并且突出潜在异常的区。
[0181] 图19中示出的是训练系统1900的实施例,所述训练系统1900用于(重)训练自动化学习系统1260,特别地所述训练系统被配置成实施根据图6的方法。训练数据单元1901确定输入信号x,所述输入信号x被传递到自动化学习系统1260。例如,训练数据单元1901可以访问计算机实现的数据库Q,其中存储训练数据的集合T。集合T包括成对的输入信号x和对应期望的有标签的输出信号 。训练数据单元1901从集合T、例如随机地选择样本。所选择的样本的输入信号x被传递到自动化学习系统1260。所期望的输出信号 被传递到评估单元1902。
[0182] 自动化学习系统1260被配置成根据输入信号x来计算输出信号y。这些输出信号x也被传递到评估单元1902。
[0183] 修改单元1903取决于来自评估单元1902的输入来确定经更新的参数 。经更新的参数 被传输到参数存储装置P,用于取代自动化学习系统现在的参数θ,或根据经更新的参数 来调节参数。
[0184] 例如,可以设想的是,评估单元1902取决于输出信号y和所期望的输出 来确定损失函数 的值。修改单元1903于是可以使用例如随机梯度下降来计算经更新的参数 以优化损失函数 。
[0185] 此外,训练系统1900可以包括处理器1904(或多个处理器),以及至少一个在其上存储了指令的机器可读存储介质1905,所述指令如果被实施则使得致动器控制系统1900实施根据本发明一个方面的方法。
[0186] 优选地,处理器1904至少包括中央处理单元(Central Processing Unit,CPU)、图像处理单元(Graphics Processing Unit,GPU)和/或张量处理单元(Tensor Processing Unit,TPU)。可替换地,处理器1904可以被分区到分布式计算机系统中,所述分布式计算机系统经由通信系统、诸如因特网而与彼此连接。计算机系统可以包括后端组件、例如数据服务器,以及中间件组件、例如应用/客户端服务器,以及前端组件、例如计算机,所述计算机具有图形接口和/或传感器、比如相机或传感器网络。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈