掌桥专利:专业的专利平台
掌桥专利
首页

神经网络的梯度对抗性训练

文献发布时间:2023-06-19 09:52:39


神经网络的梯度对抗性训练

版权声明

本专利文档的公开部分包含受到版权保护的材料。版权所有者不反对任何人以在专利和商标局专利文件或记录中呈现的专利文件或专利公开形式的复制,但在其它方面保留任何所有版权。

相关申请的交叉引用

本申请要求享有2018年5月17日提交的题为“Gradient Adversarial Trainingof Neural Networks(神经网络的梯度对抗性训练)”的美国专利申请号62/673,116的优先权的权益,其全部内容通过引用并入本文。

技术领域

本公开总体上涉及用于机器学习的系统和方法,并且更特别地涉及用于训练神经网络的系统和方法。

背景技术

深度神经网络(DNN)是一种计算机器学习方法。DNN属于人工神经网络(NN)中的一类。利用NN,可以构建模拟生物神经网络特征的计算图。生物神经网络包括对计算很重要并负责生物系统的许多能力的特征,该能力除此之外可能难以通过其它方法捕获。在一些实现方式中,这种网络被布置成其中连接是单向的顺序分层结构。例如,可以将特定层的人工神经元的输出连接到后续层的人工神经元的输入。DNN可以是具有大量层(例如10、100或更多的层)的NN。

不同的NN在不同的观点上彼此不同。例如,拓扑或架构(例如,层的数量以及层如何互连)以及不同NN的权重可以不同。权重可以近似类似于生物系统中神经连接的突触强度。权重影响从一层传播到另一层的效果的强度。人工神经元的输出可以是其输入的加权和的非线性函数。NN的权重可以是出现在这些求和中的权重。

发明内容

公开了用于神经网络的梯度对抗性训练的系统和方法。在梯度对抗性训练的一方面,可以训练辅助神经网络以对梯度张量进行分类,该梯度张量在提供期望任务输出的主神经网络中的反向传播期间被评估。除了标准的基于任务的训练程序之外,主神经网络还可以充当辅助网络的对手。辅助神经网络可以将对抗性梯度信号传递回主神经网络,该主神经网络可以使用该信号来对主神经网络中的权重张量进行正则化。神经网络的梯度对抗性训练可以提供主网络的改进的梯度张量。梯度对抗性训练技术可用于训练多任务网络、知识提取(distillation)网络、对抗性防御网络或任何其它类型的神经网络。梯度对抗性训练技术可以用于训练用于计算机视觉任务的神经网络,并且该训练对于增强、混合或虚拟现实系统可能是有利的。

本说明书中描述的主题的一种或多种实现方式的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,其它特征、方面和优点将变得显而易见。该发明内容或以下详细描述均不旨在定义或限制本发明主题的范围。

附图说明

图1A是示出梯度对抗性训练(GREAT)的一般方法的示例的框图,其中,主网络使用标准反向传播来训练,并且同样用作经由梯度反转的辅助网络的对手。辅助网络在反向传播期间评估的梯度张量上被训练。图1A(也在图1B-1D中示出)的左下和右下的图例示出了网络中不同种类的信息流(左图例110)和不同种类的模块(右图例112)。

图1B是示出用于对抗性防御的GREAT方法的示例的框图。辅助网络执行与主网络相同的分类,采用梯度张量作为输入。

图1C是示出用于知识提取的GREAT方法的示例的框图。辅助网络对来自学生和教师网络的梯度张量执行二进制分类。

图1D是示出用于多任务学习的GREAT方法的示例的框图。辅助网络对来自不同任务解码器的梯度张量进行分类,并通过梯度反转和显式梯度对齐层对其进行对齐。

图2是示出使用梯度对抗性交叉熵损失(有时称为GREACE)针对目标对抗性攻击而定制的GREAT的实施例的框图。图2的左下和右下的图例示出了网络中不同种类的信息流(左图例210)和不同种类的模块(右图例212)。

图3是示出用于修改梯度归一化网络的GREAT的实施例的框图。图3的左下和右下的图例示出网络中不同种类的信息流(左图例310)和不同种类的模块(右图例312)。

图4是使用GREAT训练神经网络的示例过程的流程图。

图5示意性地示出可穿戴显示系统的示例,该可穿戴显示系统可以实现采用GREAT训练的神经网络的实施例。

在所有附图中,参考标记可以被重复使用以指示参考元件之间的对应关系。提供附图以示出在此描述的示例实施例,而不旨在限制本公开的范围。

具体实施方式

代表数据关系和模式的模型,诸如函数、算法、系统等,可以接受输入,并以某种方式产生与输入相对应的输出。例如,模型可以被实现为诸如神经网络(NN)的机器学习方法。示例包括卷积神经网络(CNN)或深度神经网络(DNN)。深度学习是基于与任务特定方法相对的学习数据表示的构思的更广泛的机器学习方法系列的一部分,并且在解决对增强现实、混合现实、虚拟现实以及机器智能有用的视听计算问题方面显示出巨大的希望。在机器学习中,卷积神经网络(CNN或ConvNet)可以包括深层的前馈人工神经网络的类,并且CNN已成功地应用于分析视觉图像。机器学习方法包括可以为各种问题(包括眼睛图像分割、眼睛追踪、图像分类、多任务学习等)实现稳健并准确的解决方案的一系列方法。

其中一个神经网络产生多个预测输出的深度多任务网络可以提供比其单任务同类更好的速度和性能,但需要被适当地训练。例如,深度多任务网络可以被训练或教导以同时解决多个学习任务,同时利用跨任务的共性和差异。使用任务之间的共享表示,多个任务可以被并行学习。例如,多任务神经网络可以在所有任务之间共享隐藏层,同时提供相应的任务特定的输出层(有时称为硬参数共享)。作为另一种方法,每个任务可以具有带有自身参数的其自身的神经网络。可以跨任务特定的网络的层使用正则化约束,以鼓励参数相似(有时称为软参数共享)。多任务网络的训练描述如下。多任务网络可用于增强、混合或虚拟现实情境中,其中任务可包括例如计算机视觉任务,诸如确定身体姿势(例如头部姿势),分析图像以确定用户做出的手势(例如手部的手势)等。其它任务可以包括回归任务、分类任务或其组合。多个任务可以包括例如感知任务,诸如面部识别、视觉搜索、手势标识或识别、语义分割、对象检测、房间布局估计、长方体检测、照明检测、同时定位和映射、对象或头像的重新定位,或语音处理任务(诸如语音识别或自然语言处理)或其组合。

反向传播可以用于神经网络的训练。反向传播可用于计算梯度张量,该梯度张量用于计算网络中使用的权重。在某些反向传播技术中,相对于网络的每层中的权重张量评估损失函数的梯度,并使用学习规则更新权重。使用反向传播递归地评估的梯度张量可以采用跨数百个层的数百万个权重参数成功地训练深度网络,并且可以推广到许多类型的神经网络。使用反向传播训练的深度神经网络的泛化能力的数学形式体系仍然难以捉摸。确实,该形式体系的缺乏已经需要在深度学习的新领域进行创新,诸如DNN的稳健性,特别是对抗性示例、领域自适应、转移学习或多任务学习、模型压缩等。如在此所述,在反向传播期间得出的梯度张量可以为现有或新领域的学习提供附加线索。

辅助深度学习框架、梯度对抗性训练(有时在此称为GREAT)的示例适用于不同的机器学习问题。在梯度对抗性训练中,辅助网络可以被训练以对梯度张量的原点进行分类,并且除了基于标准任务的训练程序以外,主网络还可以用作辅助网络的对手。与其中使用辅助神经网络来改善主神经网络的输出的一些技术相反,在GREAT的一些实施例中,辅助网络被用于改善主网络的梯度张量而不是主神经网络的输出。

梯度对抗性训练的各种实施例可以有利地增加神经网络对针对性对抗性攻击的稳健性,与软目标相比,能够更好地将知识从教师网络提取到学生网络,或者可以通过对齐从任务特定的损失函数得出的梯度张量来改善多任务学习。当与辅助网络集成时,梯度对抗性训练可以揭示所训练任务的潜在信息,并可以支持各种机器学习问题。

梯度对抗性训练的实施例可以应用在许多场景中,包括但不限于:(1)作为对抗性示例的防御,梯度对抗性训练可以对梯度张量进行分类并将其调整为与它们对应的示例的类无关,(2)对于知识提取,从学生或教师网络得到的梯度张量的二进制分类可被执行并用于调整学生梯度张量以模仿教师的梯度张量;以及(3)对于多任务学习,从不同任务损失函数得到的梯度张量可被分类和调整为在统计上无法区分。梯度对抗性训练可以提高网络对对抗性攻击的稳健性,与软目标相比,可以更好地将知识从教师网络提取到学生网络,并且可以通过对齐从任务特定的损失函数得出的梯度张量来增强多任务学习。梯度张量可能包含有关正在被训练的任务的潜在信息,并且当使用辅助网络通过对抗化进行指导时,可能支持各种机器学习问题。梯度对抗性训练可以揭示有关正在训练的任务的该潜在信息。

在各种实施例中,在此公开的梯度对抗性训练方法可以用于训练在计算机视觉、自然语言处理、语音合成、特定领域的应用(诸如交通预测、通用跨领域应用)、课程学习、多任务学习、知识提取或对抗性防御中具有应用的神经网络。GREAT的实施例可以应用于训练用于增强现实、混合现实或虚拟现实的神经网络(例如,参见参考图5描述的增强现实系统)。

相对于输入层或中间层的标量损失函数的梯度张量(被称为雅可比行列式J(Jacobian J))可以是非常有用的或有区别的。在反向传播期间得出的梯度张量可以作为附加线索来帮助这些新领域中的学习。这从针对感知器的反向传播等式得出:

δ

在等式(1a)和(1b)中,δ是梯度张量,l是其中L是最终层的层,

在基于GREAT的某些实施例中,利用的梯度张量可能与网络的任务是对立的。例如,在图1A中所示的神经网络100中,GREAT的实施例旨在通过首先处理辅助网络中的梯度张量,并且然后经由梯度反转程序将对抗性梯度信号传递回主网络,来使梯度张量中的丢失或暗信息无效。该对抗性梯度信号可以使主网络中的权重张量正则化。从数学上讲,在主网络中向前流动的对抗性梯度信号

它具有与δ类似的函数形式,但符号相反,并且受先前的权重矩阵影响,直到所考虑的梯度张量的层为止。由于一旦参数的数量超过数据点的数量,网络就会趋于具有完美的样本表达能力,因此由辅助网络提供的正则化可以有利地提高稳健性,而不会显著影响性能。

在此公开了在三种场景中的梯度张量中存在的暗信息的描述:(1)用于对抗性示例的神经网络102(参见图1B),(2)用于知识提取的神经网络104(参见图1C),以及(3)用于多任务学习的神经网络106(参见图1D)。这三个神经网络102、104、106旨在说明GREAT的应用,但并不限制用于训练神经网络的GREAT方法的范围。

在适于分析图像的神经网络的上下文中,对抗性示例包括应用于正常图像的精心制作的扰动(perturbation),这通常是人类所不易察觉的,但是可严重混淆最新的深度学习模型。对抗性示例生成的常见步骤包括计算目标函数相对于输入的梯度。目标函数可以是任务损失函数,或也可以是其更复杂的导数。处理该梯度张量以扰动原始图像,并且该模型对被扰动的图像进行了错误分类。GREAT的实施例使显著性图不提供信息,并且因此减轻了神经网络对针对性对抗性示例的敏感性(参见图1B)。

知识提取的目的是将复杂而繁琐的DNN(教师网络)或DNN的集合的预测行为压缩为更简单的模型(学生网络)。除了通常的监督损失函数外,还可以通过将分对数(logit)或基于教师网络的类型的软分布与学生网络的输出进行匹配来实现到学生网络的知识提取。如图1C中所示,GREAT提供了一种知识提取的补充方法,其中GREAT方法使用辅助网络代替匹配的输出分布来统计地将学生网络的梯度张量与教师网络进行匹配。

在多任务学习中,可以端到端训练单个网络以在输入上实现多个相关但不同的任务输出。这可以通过具有公共编码器和单独的任务特定的解码器来实现。在理想的多任务学习场景中,各个任务损失函数相对于编码器中最后一个共享层的梯度张量可能是无法区分的,以便相干地训练编码器中的所有共享层。如图1D中所示,多任务神经网络106的实施例可以在编码器和任务特定的解码器之间训练在反向传递中操作的梯度对齐层(GAL),使得任务特定的梯度张量不太能被辅助网络区分。

图2示出经由GREAT训练并且可以减轻针对性对抗性攻击的神经网络200的实施例。针对性对抗性攻击包括比非目标攻击更具恶意的攻击。例如,与将图像解释为让车标志相对的,将速度限制标志的图像解释为错误道路的方式可导致严重事故。对于针对性和非针对性攻击的稳健性,可以将两管齐下的防御应用于对抗性攻击:(1)梯度对抗性训练的实施例,以及(2)梯度对抗性交叉熵损失的实施例(有时称为GREACE)。当容易混淆两种类之间的梯度张量时,梯度对抗性交叉熵损失使交叉熵损失函数适应于对抗性。例如,可以将来自辅助网络的输出概率分布添加到相对于主网络中的分对数的损失梯度,以帮助区分其梯度张量与主类相似的负类。

用于防御对抗性示例的一般目标是:

在等式(3)中,x是输入,y是输出,θ是网络参数,Δ是扰动张量,其p范数被约束为小于∈,并且J包含损失函数和网络架构。可以通过例如在梯度方向中移动的

对抗性防御的一些尝试集中于在训练点处局部地最小化

相反,GREAT程序可以移除存在于梯度张量中的类特定的信息。正式地,对于训练集中的所有N个样本:

在没有类特定的信息的情况下,单步针对性攻击是困难的,因为扰动张量与类无关。然而,对手可能会发动多步攻击或评估可能蒙蔽分类器的普遍对抗性扰动。

因此,作为第二道防御,可以另外地或可替代地使用梯度-对抗性交叉熵(GREACE)损失。GREACE会增加向后梯度幅度的权重,并且因此会增加分配给其梯度容易与主类的梯度混淆的类的损失,其实质类似于焦点损失。这可以从梯度相似的类的角度帮助区分分类器的高维决策边界。

例如,GREACE可以使交叉熵损失函数适应于添加权重到其梯度张量与主类的梯度张量相似的负类。在向后传播通过主网络的其余部分之前,可以将权重添加到从soft-max激活向后流动的梯度张量中的负类(参见图2)。可以使用来自辅助网络的soft-max分布来评估权重,该分布指示主类的梯度张量与负类的相似度。该增加的权重可以帮助区分容易混淆的类之间的高维决策边界,尽管从梯度的角度来看,它们在本质上类似于置信度惩罚和焦点损失。

在数学上,来自交叉熵损失的梯度张量按以下方式修改:

这里,

在一些实施例中,在通过主网络中的soft-max函数后,对梯度张量进行掩蔽,以评估要传递到辅助网络中的梯度张量。这可以避免辅助分类器赶上其它类的梯度线索,并且主要集中在所讨论的类上。在其它实施例中,可以使用未掩蔽的梯度张量。

在一些实施例中,对抗性防御的组合目标是:

其中

表1中示出使用GREAT和GREACE防御对抗性示例的伪代码示例。

表1

GREAT的实施例可以应用于知识提取。如前所述,匹配学生模型和教师模型的梯度分布是匹配软输出分布的补充方法,使得学生的输出分布S(x)模仿教师的输出分布T(x)。可以使用平均值定理示出两个函数在一个区间上具有相等的导数,并且因此它们相差一个常数。这意味着如果

由于对抗性损失比传统的基于回归的损失更成功,因此GREAT可以使用鉴别器来匹配梯度分布。知识提取的GREAT实施例可以平行于梯度对抗性网络训练程序。二进制分类器在学生和教师模型的梯度之间进行区分,类似于区分真实样本和假样本的鉴别器。二进制分类器在学生和教师模型梯度之间进行区分,并驱动学生模型以生成类似于如图1C中所示的教师模型的梯度张量分布。

在一些实施例中,要优化的目标是:

(1-α)min

在等式(8a)和(8b)中,函数f是具有参数ω的二进制分类器;s和t分别是来自学生和教师网络的梯度张量,E表示期望,并且α是损失平衡参数。以上公式相比传统提取的优势在于没有软化分对数分布的温度参数,该温度参数很难设定。然而,GREAT方法可以训练二进制分类器,这相当于通过学生网络的额外反向传递。

表2中示出使用GREAT进行知识分发的伪代码示例。

表2

针对多任务学习的GREAT的示例

图3是示出用于修改梯度归一化网络的利用GREAT的神经网络300的实施例的框图。网络300中的一些梯度归一化技术可以类似于在美国专利公开号2019/0130275“Gradient Normalization Systems and Methods for Adaptive Loss Balancing inDeep Multitask Networks(用于深度多任务网络中的自适应损失平衡的梯度归一化系统和方法)”中描述的那些技术,该专利通过引用全部并入本文。

在图3中所示的实施例中:(1)不需要梯度具有相等的范数,而相反地需要具有相似的统计分布。这可以通过类似于梯度对抗性网络设定中的鉴别器的辅助网络来实现,以及(2)代替分配任务权重,以梯度对齐层(GAL)的形式向网络添加额外的容量。这些层可以放置在共享编码器之后和每一个任务特定的解码器之前,可以具有与减去批处理大小的最后一个共享特征张量相同的维度,并且只能在反向传递期间是活动的。对于N任务网络,GAL中的N*通道*宽度*深度参数有助于使每个任务产生的梯度张量适应为远超其它技术中的N任务权重参数。在一些实施例中,GAL具有与减去批量大小的最后一个共享特征张量相同的维度,并且仅在向后传递期间是活动的,例如,GAL在正向推理期间被丢弃。可以使用来自辅助网络任务分类器的反向梯度来训练GAL。

如图3中所示,辅助网络从每个任务接收梯度张量作为输入,并根据任务对其进行分类。成功的分类意味着梯度张量是可区分的,继而由于梯度未对齐,这又阻碍了共享编码器的训练。在最坏情况的场景中,两个任务的梯度矢量场指向相反的方向,并且在共享编码器中没有学习发生。GAL通过对来自所有任务的梯度张量进行逐元素缩放来减轻未对齐。使用来自辅助网络的反向梯度信号来训练这些层,例如GAL试图使梯度张量无法区分。直观上,GAL观察到统计不规则性,该统计不规则性促使辅助分类器成功地区分梯度张量,并且然后使张量适应以移除不规则性或对统计分布进行均衡。注意,任务损失由初始损失归一化,使得对齐层的任务是局部对齐而不是全局损失尺度对齐。辅助网络的分类层中的soft-max激活函数对梯度进行隐式归一化。GAL权重张量中的值可以用值1初始化。可以将值限制为正值以便训练收敛。在实验中,观察到低学习率确保GAL张量的正值。

多任务学习的总体目标是:

其中J

表3中示出在GAL上使用GREAT进行多任务学习的伪代码示例。

表3

现在将提出每个域的GREAT程序的实施例的示例结果。在多个数据集上的GREAT性能将用于示出GREAT技术的一般性。

GREAT技术已应用于CIFAR-10、MNIST数据集以及mini-ImageNet数据集。mini-ImageNet数据集是具有200个类的原始ImageNet数据集的子集,并且每个类具有500个训练样本和50个测试样本。对于所有三个数据集,都使用ResNet架构。据观察,相对于没有跳过连接的模型,ResNet模型在GREAT训练范式中更有效。在GREAT中,跳过连接可以帮助在通常的反向传递中传播梯度信息,以及通过主网络从辅助分类器网络向前传播反向梯度。在实验中,辅助网络是主网络的较浅版本。采用0.001的初始学习率使用ADAM(一种用于更新网络权重而从自适应矩估计得出的随机优化方法)来训练主网络和辅助网络二者,而学习率乘数lr被计算为:

其中e,e

使用快速梯度符号方法(FGSM)及其迭代版本(iFGSM)对GREAT方法针对针对性和非针对性对抗性示例进行10次迭代的评估。对于针对性攻击,报告了随机目标类和最差(最低概率)目标类的结果。将GREAT方法与无防御机制的对抗性训练和基础网络进行了比较。对于CIFAR-10,报告了作为当前的最新防御的昂贵的稳健优化程序的结果。

表4:使用FGSM和iFGSM使用最大允许扰动∈=0.3,对针对性和非针对性攻击的不同对抗性训练方法的CIFAR-10准确性值。

表5:使用FGSM和iFGSM使用最大允许扰动∈=0.2,对针对性和非针对性攻击的不同对抗性训练方法的MNIST准确性值。

表6:使用FGSM和iFGSM使用最大允许扰动∈=0.05,对针对性和非针对性攻击的不同对抗性训练方法的mini-ImageNet top-1准确性值。

表4、5和6证明GREAT的实施例可以提高针对所有三个数据集上的单步针对性和非针对性对抗性示例的稳健性,而单独的GREACE对迭代的针对性示例则是稳健的。GREACE可以充当强大的正则化工具,并且GREACE和GREAT的组合可以防止过拟合到训练集。GREAT和GREACE的组合提高了针对所有对抗性示例的稳健性。还发现,GREAT和GREACE的显著图是稀疏的且主要在对象内被激活,因此可以减轻对抗性示例。

在CIFAR-10和mini-ImageNet数据集上评估了用于知识提取的GREAT的潜力。研究了两种场景:(a)用于教师模型的所有训练示例都用于训练学生模型,以及(b)仅原始训练样本的5%用于训练学生模型。

对于CIFAR-10,将5层CNN和预训练的ResNet-18以及ResNet-18和预训练的ResNext-29-8用作学生-教师组合。对于mini-ImageNet,使用ResNet-18和预训练的ResNet-152作为学生-教师组合。将GREAT与仅对交叉熵损失训练的基准模型以及与使用交叉熵和无监督Kullback-Leibler(KL)损失的组合训练的提取模型进行了比较。可以发现,在稀疏训练方案中,GREAT始终比基准模型和提取模型执行得更好,指示通过梯度对抗性信号可以更好地进行正则化。GREAT能够连贯地提取针对跨不同学生-教师组合的密集和稀疏训练方案二者的模型。

测试了GREAT的实施例,以便在2个数据集上进行多任务学习:CIFAR-10,其中输入是嘈杂的灰度图像,并且任务是(i)分类,(ii)着色,(iii)边缘检测和(iv)去噪的重建;以及NYUv2数据集,其中任务是(i)深度估计,(ii)表面法线估计和(iii)关键点估计。

将GREAT结果与相等权重、梯度归一化和基于不确定性的加权的基准进行比较。对于所有方法,都使用相同的架构:具有扩张卷积主干和任务特定的解码器的ResNet-53。表7公开了CIFAR-10的多任务学习的各种结果(RMSE是均方根误差)。表8公开了NYUv2的多任务学习的结果。可以看出,在两个数据集上,GREAT比梯度归一化执行得更好。尽管不确定性加权在诸如自动编码的简单任务上做的更好,但GREAT在所有任务上执行得很好。

表7

表8

本文已经描述了用于梯度对抗性训练的系统和方法的示例。这些示例说明了GREAT在各种场景中的适用性,包括但不限于从知识提取到多任务学习的针对对抗性示例的防御。GREAT的实施例可以提供以下中的一项或多项:(a)对针对性和无针对性的对抗性示例二者提供强有力的防御;(b)易于从不同教师网络中提取知识而无需进行大量参数调整;或(c)通过调整梯度对齐层帮助进行多任务学习。

在各种实施例中,可以使用与GREAT共生的GREACE以外的其它形式的损失函数,使用其它梯度对抗性网络(GAN)技术(例如Progressive-GAN)对学生网络进行渐进式训练可以更好地从教师网络学习,并且GAL中的显式参数可以被直接吸收到优化器中,例如,如采用ADAM中每个权重参数的均值和方差估计进行。将对抗性梯度信号传递到主网络的基于GREAT的通用方法(例如,参见图1A中所示的神经网络100)广泛适用于在此所述域之外的域,诸如例如适用于域对抗性训练和GAN中的鉴别器。直接梯度张量评估可以采用合成梯度代替以提高效率。了解梯度分布可能有助于发现控制使用反向传播成功训练深度神经网络架构的基本机制,而梯度对抗性训练是更朝向该方向一步。

图4是神经网络的梯度对抗性训练的示例过程400的流程图。过程400可以由诸如例如本地处理和数据模块524或远程处理模块528(其将在下面参考图5进行描述)的硬件处理器来执行。将参考参考图1A描述的神经网络100来描述示例过程400。神经网络100包括被训练以执行任务的主网络和用于经由GREAT方法来改善主网络的梯度张量的辅助网络。主网络可以包括对抗性防御网络、知识提取网络、多任务网络或任何其它类型的神经网络(DNN、CNN等)。在与增强、混合或虚拟现实有关的各种实施例中,主网络可执行计算机视觉任务,诸如例如,对用户的姿势或手势进行分类、面部或语音识别、对象检测、房间布局估计、长方体检测、本地化和映射等等。在一些实施例中,主网络可以执行知识提取或对抗性性防御。

过程400在框404处开始,其中主神经网络接收用于训练主网络以执行任务的训练数据。如上所述,任务可以包括计算机视觉任务、知识提取任务等。训练数据可以包括用于计算机视觉任务的图像。

在框408处,训练主网络。训练可以包括反向传播以计算梯度张量,该梯度张量用于计算主网络中使用的权重。在某些反向传播技术中,相对于网络每层中的权重张量评估损失函数的梯度,并使用学习规则更新权重。使用反向传播递归地评估的梯度张量可以采用跨数百个层的数百万个权重参数成功地训练深度网络,并且可以推广到许多示例。在反向传播期间,可以使用等式(1a)和(1b)计算梯度张量。

在框412处,辅助网络接收在主网络中的反向传播期间评估的梯度张量。在框416处,使用辅助损失函数训练辅助网络。如上所述,训练可用于使梯度张量中的缺失或暗信息无效。辅助网络可以经由等式(2)来计算对抗性梯度信号。在框420处,辅助网络例如经由梯度反转程序将对抗性梯度信号传递回主网络。

在框424处,可以至少部分地基于从辅助网络接收的梯度张量和对抗性梯度信号来更新主网络中的权重。例如,对抗性梯度信号可以用于对主网络中的权重张量进行正则化。在框428处,过程400可以输出经由GREAT程序训练的主网络。例如,训练的网络可以由参考图5描述的可穿戴显示系统500的本地处理和数据模块524存储。

诸如深度神经网络(DNN)的神经网络(NN)的层可以对其输入应用线性或非线性变换以生成其输出。深度神经网络层可以是归一化层、卷积层、softsign层、整流线性层、级联层、池化层、递归层、初始类层,或其任何组合。归一化层可以通过例如L2归一化来归一化其输入的亮度以生成其输出。归一化层可以例如相对于彼此同时归一化多个图像的亮度,以生成多个归一化图像作为其输出。用于归一化亮度的方法的非限制性示例包括局部对比度归一化(LCN)或局部响应归一化(LRN)。局部对比度归一化可以通过基于每个像素对图像的局部区域进行归一化以使其平均值为零且方差为1(或平均值和方差的其它值)来非线性地归一化图像的对比度。局部响应归一化可以基于局部输入区域对图像进行归一化,以使平均值为零且方差为1(或平均值和方差的其它值)。归一化层可以加快训练过程。

卷积层可以应用将其输入卷积以生成其输出的一组内核。softsign层可以将softsign功能应用于其输入。softsign函数(softsign(x))可以是例如(x/(1+|x|))。softsign层可以忽略每个元素异常值的影响。整流线性层可以是整流线性层单元(ReLU)或参数化整流线性层单元(PReLU)。ReLU层可以将ReLU函数应用于其输入以生成其输出。ReLU函数ReLU(x)可以是例如max(0,x)。PReLU层可以将PReLU函数应用于其输入以生成其输出。PReLU函数PReLU(x)例如可以是x(如果x≥0)和ax(如果x<0),其中a是正数。级联层可以将其输入级联以生成其输出。例如,级联层可以将四个5 x 5图像级联以生成一个20 x 20图像。池化层可以应用池化功能,该功能对其输入进行下采样以生成其输出。例如,池化层可以将20 x 20图像下采样为10 x 10图像。池化功能的非限制性示例包括最大池化、平均池化或最小池化。

在时间点t,递归层可以计算隐藏状态s(t),并且递归连接可以将在时间t的隐藏状态s(t)提供给递归层作为在后续时间点t+1的输入。递归层可以基于在时间t的隐藏状态s(t)计算在时间t+1的输出。例如,递归层可以将softsign函数应用于在时间t的隐藏状态s(t),以计算其在时间t+1的输出。在时间t+1的递归层的隐藏状态将其在时间t的递归层的隐藏状态s(t)作为其输入。递归层可以通过将例如ReLU函数应用于其输入来计算隐藏状态s(t+1)。初始类层可以包括归一化层、卷积层、softsign层、整流线性层(诸如ReLU层和PReLU层)、级联层、池化层或其任何组合中的一个或多个。

在不同的实现方式中,NN中的层数可以不同。例如,DNN中的层数可以是50、100、200或更多。在不同的实现方式中,深度神经网络层的输入类型可以不同。例如,一层可以接收多个层的输出作为其输入。一层的输入可以包括五层的输出。作为另一示例,层的输入可以包括NN的层的1%。一层的输出可以是许多层的输入。例如,一层的输出可用作五层的输入。作为另一个示例,层的输出可用作NN的层的1%的输入。

层的输入大小或输出大小可以非常大。层的输入大小或输出大小可以为n x m,其中n表示宽度,并且m表示输入或输出的高度。例如,n或m可以为11、21、31或更大。在不同的实现方式中,层的输入或输出的通道大小可以不同。例如,层的输入或输出的通道大小可以是4、16、32、64、128或更大。在不同的实现方式中,层的内核大小可以不同。例如,内核大小可以是n x m,其中n表示内核的宽度,并且m表示内核的高度。例如,n或m可以为5、7、9或更大。在不同的实现方式中,层的步幅大小可以不同。例如,深层神经网络层的步幅大小可以为3、5、7或更大。

在一些实施例中,NN可以指代一起计算NN的输出的多个NN。可以为不同任务训练多个NN中的不同NN。处理器(例如,参考图5描述的本地数据处理模块524的处理器)可以计算多个NN中的NN的输出以确定NN的输出。例如,多个NN中的NN的输出可以包括似然度分数。处理器可以基于多个NN中的不同NN的输出的似然度分数来确定包括多个NN的NN的输出。

在一些实施例中,用户设备可以是或可以被包括在可穿戴显示设备中,该可穿戴显示设备可以有利地提供更身临其境的虚拟现实(VR)、增强现实(AR)或混合现实(MR)体验,其中将数字化地复制的图像或其部分以看起来是或可被感觉为真实的方式呈现给佩戴者。

不受理论的限制,相信人眼通常可以解释有限数量的深度平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的深度平面中的每一个深度平面相对应的图像的不同表示,可以实现感知深度的高度可信的模拟。例如,包含波导堆叠的显示器可以被配置为被佩戴在用户或观看者的眼睛前面。通过使用多个波导以对应于与特定波导相关联的深度平面的特定角度(以及发散量)将来自图像注入设备(例如,经由一根或多根光纤传输图像信息的分立显示器或多路显示器的输出端)的光引导至观看者的眼睛,可以利用波导堆叠为眼睛/大脑提供三维感知。

在一些实施例中,可以利用两个波导堆叠,观看者的每只眼睛一个波导,以向每只眼睛提供不同的图像。作为一个示例,增强现实场景可以使得AR技术的佩戴者看到现实世界的公园般的设置,该设置以人物、树木、背景中的建筑物以及混凝土平台为特征。除了这些项目之外,AR技术的佩戴者还可能会感知到,他“看到”了站在现实世界平台上的机器人雕像,以及似乎是大黄蜂的拟人化的飞行的卡通般的化身角色,即使机器人雕像和大黄蜂在现实世界中不存在。波导的堆叠可以用于生成与输入图像相对应的光场,并且在一些实现方式中,可穿戴显示器包括可穿戴光场显示器。在美国专利公开号2015/0016777中描述了用于提供光场图像的可穿戴显示设备和波导堆叠的示例,该专利公开的全部内容通过引用并入本文。

图5示出可用于向显示系统佩戴者或观看者504呈现VR、AR或MR体验的可穿戴显示系统500的示例。可穿戴显示系统500可被编程为执行在此所述的任何应用或实施例(例如,执行CNN,重新排列输入激活图或内核的值,眼睛图像分割或眼睛追踪)。显示系统500包括显示器508以及支持该显示器508的功能的各种机械和电子模块和系统。显示器508可以耦合至框架512,该框架512可由显示系统佩戴者或观看者504佩戴并且被配置为将显示器508定位在佩戴者504的眼睛前面。显示器508可以是光场显示器。在一些实施例中,扬声器516被耦合到框架512并邻近用户的耳道定位,未示出的另一个扬声器邻近用户的另一耳道定位,以提供立体声/可成形的声音控制。显示系统500可以包括面向外的成像系统544(例如,一个或多个相机),其可以获得佩戴者504周围的环境的图像(例如,静止图像或视频)。通过面向外成像系统544获得的图像可以通过参考图4描述的方法400训练的神经网络的实施例来分析。例如,可以经由GREAT为多个计算机视觉任务训练的多任务网络来分析环境图像。

在一些实现方式中,经由GREAT训练的初始神经网络由显示系统500实现(例如,该网络由处理模块524或536执行)。当用户利用显示系统500时,系统500可以累积用户特定的数据(例如,用户环境的图像)。可以使用用户特定的数据来重新训练(例如,使用GREAT)初始神经网络,这可以有利地将神经网络定制为用户的个人特征和环境。可以将重新训练卸载到云(例如,远程处理模块528),并且然后将重新训练的网络至少部分地存储在本地数据模块524中。在其它情况下,例如,当用户没有主动使用显示系统500时,可以在停机期间在本地(例如,经由本地处理和数据模块524)执行重新训练。

显示器508诸如通过有线引线或无线连接被操作性地耦合520到本地数据处理模块524,该本地数据处理模块524可以以各种配置安装,诸如固定地附接到框架512,固定地附接到用户佩戴的头盔或帽子,嵌入耳机中或以其它方式可移除地附接到用户504(例如,以背包式配置、皮带耦合式配置)。

本地处理和数据模块524可以包括硬件处理器以及非暂态数字存储器(诸如非易失性存储器,例如闪存),两者均可以用于辅助数据的处理、缓存和存储。数据包括如下数据:a)从传感器(例如,其可操作地耦合到框架512或以其它方式附接到佩戴者504)(诸如图像捕获设备(例如,相机)、麦克风、惯性测量单元、加速度计、指南针、GPS单元、无线电设备和/或陀螺仪)捕获的数据;和/或b)使用远程处理模块528和/或远程数据存储库532获取和/或处理的数据,可能用于在此类处理或取得之后传递给显示器508。本地处理和数据模块524可以由通信链路536、540诸如经由有线或无线通信链路可操作地耦合到远程处理模块528和/或远程数据存储库532,使得这些远程模块528、532可操作地彼此耦合并且可用作本地处理和数据模块524的资源。图像捕获设备可以用于捕获在眼睛图像分割或眼睛追踪程序中使用的眼睛图像。

在一些实施例中,远程处理模块528可以包括被配置为分析和处理数据和/或图像信息(诸如由图像捕获设备捕获的视频信息)的一个或多个处理器。视频数据可以本地存储在本地处理和数据模块524和/或远程数据存储库532中。在一些实施例中,远程数据存储库532可以包括数字数据存储设施,其可以通过互联网或以“云”资源配置的其它网络配置来使用。在一些实施例中,所有数据被存储并且所有计算在本地处理和数据模块524中执行,从而允许从远程模块的完全自主的使用。

在一些实现方式中,本地处理和数据模块524和/或远程处理模块528被编程为执行在此公开的神经网络的实施例。例如,本地处理和数据模块524和/或远程处理模块528可以被编程为使用使用参考图4描述的GREAT方法400的实施例训练的神经网络来执行任务预测和确定、知识提取、多任务学习或对抗性防御的实施例。图像捕获设备可以捕获用于特定应用(例如,通常是增强现实(AR)、人机交互(HCI)、自主驾驶车辆、无人机或机器人)的视频。视频可以由处理模块524、528中的一个或两者使用NN来分析。在一些情况下,将至少一些训练模块或神经网络模块卸载到远程处理模块(例如,在“云”中)可以提高计算效率或速度。CNN的参数(例如权重、偏差项、用于池化层的子采样因子、不同层中内核的数量和大小、特征图的数量等)可以存储在数据模块524和/或532中。

任务预测或确定的结果(例如,参考图4描述的多任务网络400的输出)可以被处理模块524、528中的一个或两者用于附加操作或处理。例如,可穿戴显示系统500的处理模块524、528可以被编程为基于经由GREAT训练的神经网络的输出来执行附加应用(诸如通常是增强现实、人机交互(HCI)、自主驾驶车辆、无人机或机器人中的应用)。

GREAT的实施例不限于训练用于计算机视觉任务的神经网络,其中在图像或视觉数据上训练神经网络。在其它实施例中,训练数据可以包括由传感器捕获的非图像数据,诸如音频数据、加速度数据、定位数据、温度数据、射频数据或光学追踪数据。传感器的示例包括音频传感器(例如,麦克风)、惯性测量单元(IMU)、加速度计、指南针、陀螺仪、温度传感器、运动传感器、深度传感器、全球定位系统(GPS)单元和无线电设备。在其它实施例中,用于医学相关任务的训练样本可以包括测量值,诸如性别、年龄、心率、体温、白细胞计数、疾病状态、疾病进展、症状、疾病诊断等。

例如,对于与语音识别或自然语言处理有关的任务,训练样本可以包括单词、句子、段落或文本的音频数据集(或附带视频的音频数据)或电子表示或嵌入(例如,n-gram)。任务可以包括,例如,词性(POS)标记、分块依赖性解析、语义相关性或文本含义。

任务可以与医学治疗或医学决策有关。例如,任务可以包括实验室测试应执行的确定或可能具有特定疾病的患者的风险评估。作为此类示例,训练数据可以包括具有特定疾病或症状(例如,肺炎)的患者的测量值(例如,性别、年龄、心率、体温、白细胞计数等)。GREAT的实施例可用于训练神经网络,以预测患者的疾病风险评估或实验室测试。

因此,GREAT使用的训练数据可以包括图像、视频、音频、电子记录、数据库等,它们可以与相应的训练标签、分类或信号相关联。

1.一种用于训练神经网络的系统,该系统包括:非暂态存储器,其被配置为存储:可执行指令;主神经网络,其被配置为确定与任务相关联的输出;以及辅助神经网络,其被配置为训练与主神经网络相关联的梯度张量;以及与非暂态存储器通信的硬件处理器,该硬件处理器由可执行指令编程为:由主神经网络接收与将要由主神经网络执行的任务相关联的训练数据;在主神经网络的反向传播期间评估梯度张量;由辅助神经网络接收梯度张量;使用辅助损失函数训练辅助神经网络;由辅助神经网络向主神经网络提供对抗性梯度信号;至少部分地基于梯度张量和对抗性梯度信号来更新主神经网络的权重;以及输出所训练的主网络。

2.根据方面1所述的系统,其中,训练数据包括图像,并且任务包括计算机视觉任务。

3.根据方面1或方面2所述的系统,其中,主神经网络包括多任务网络、知识提取网络或对抗性防御网络。

4.根据方面1-3中任一项所述的系统,其中,为了评估梯度张量,硬件处理器由可执行指令编程,以评估相对于主神经网络的每一层中的权重张量的主损失函数的梯度。

5.根据方面1-4中任一项所述的系统,其中,为了向主神经网络提供对抗性梯度信号,硬件处理器被编程为利用梯度反转。

6.根据方面1至5中任一项所述的系统,其中,为了向主神经网络提供对抗性梯度信号,硬件处理器被编程为确定用于主神经网络中的层的信号,该信号至少部分地基于主神经网络的前序层中的权重。

7.根据方面1至6中任一项所述的系统,其中,为了更新主神经网络中的权重,硬件处理器被编程为至少部分地基于对抗性梯度信号来对主神经网络中的权重进行正则化。

8.根据方面1至7中任一项所述的系统,其中,主神经网络包括多任务网络,该任务包括多个任务,并且多任务网络包括:共享编码器;与多个任务中的相应任务相关联的多个任务特定的解码器;以及多个梯度对齐层(GAL),多个GAL中的每个GAL位于共享编码器之后以及任务特定的解码器中的至少一个之前。

9.根据方面8所述的系统,其中,硬件处理器被编程为使用来自辅助神经网络的反向梯度信号来训练多个GAL中的每个GAL。

10.根据方面8或方面9所述的系统,其中,硬件处理器被编程为训练多个GAL中的每个GAL,以使得针对多个任务中的每个任务的梯度张量的统计分布难以区分。

11.根据方面8至10中任一项所述的系统,其中,在多任务网络的正向推理期间,多个GAL被丢弃。

12.根据方面1至11中任一项所述的系统,其中,主神经网络包括知识提取网络,该知识提取网络包括学生网络和教师网络,并且辅助损失函数包括二进制分类器,该二进制分类器可训练以在(1)学生网络的梯度张量和(2)教师网络的梯度张量之间进行区分。

13.根据方面12所述的系统,其中,硬件处理器被编程为训练辅助网络以使学生网络的梯度张量的统计分布与教师网络的梯度张量的统计分布类似。

14.根据方面1至13中任一项所述的系统,其中,主神经网络包括被配置为分析图像的神经网络,并且硬件处理器被编程为利用修改的交叉熵损失函数,在该修改的交叉熵损失函数中,至少部分地基于对来自辅助神经网络的输出激活进行评估的soft-max函数来修改主神经网络的交叉熵损失。

15.根据方面1至14中任一项所述的系统,其中,主神经网络包括被配置为分析图像的神经网络,并且硬件处理器被编程为利用修改的交叉熵损失函数,该修改的交叉熵损失函数被配置为向负类增加权重,该负类的梯度张量类似于主类的梯度张量。

16.一种用于训练神经网络的方法,该神经网络包括被配置为确定与任务相关联的输出的主神经网络以及被配置为训练与主神经网络相关联的梯度张量的辅助神经网络,该方法包括:由主神经网络接收与将要由主神经网络要执行的任务相关联的训练数据;在主神经网络的反向传播期间评估梯度张量;由辅助神经网络接收梯度张量;使用辅助损失函数训练辅助神经网络;由辅助神经网络向主神经网络提供对抗性梯度信号;至少部分地基于梯度张量和对抗性梯度信号来更新主神经网络中的权重;以及输出经训练的主网络。

17.根据方面16所述的方法,其中,训练数据包括图像,并且任务包括计算机视觉任务。

18.根据方面16或方面17所述的方法,其中,主神经网络包括多任务网络、知识提取网络或对抗性防御网络。

19.根据方面16至18中任一项所述的方法,其中,评估梯度张量包括评估相对于主神经网络的每一层中的权重张量的主损失函数的梯度。

20.根据方面16至19中任一项所述的方法,其中,向主神经网络提供对抗性梯度信号包括利用梯度反转。

21.根据方面16至20中任一项所述的方法,其中,提供对抗性梯度信号包括:确定用于主神经网络中的层的信号,该信号至少部分地基于主神经网络的前序层中的权重。

22.根据方面16至21中任一项所述的方法,其中,更新主神经网络中的权重包括至少部分地基于对抗性梯度信号来对主神经网络中的权重进行正则化。

23.一种头戴式显示系统,其包括:非暂态存储器,其被配置为存储:可执行指令,以及用于确定与头戴式显示系统相关联的任务输出的神经网络,其中,使用以下部分训练神经网络:辅助网络,其被编程为接收在神经网络的反向传播期间评估的梯度张量,并生成对抗性梯度信号,其中,使用来自辅助网络的对抗性梯度信号来更新神经网络的权重;显示器;传感器;以及与非暂态存储器和显示器通信的硬件处理器,该硬件处理器由可执行指令编程为:接收由传感器捕获的传感器数据;使用神经网络采用传感器数据作为输入来确定任务输出;以及使显示器向头戴式显示系统的用户示出与所确定的任务输出有关的信息。

24.根据方面23所述的系统,其中,传感器包括面向外的相机,并且任务包括计算机视觉任务。

25.根据方面24所述的系统,其中,计算机视觉任务包括以下中的一项或多项:面部识别、视觉搜索、手势识别、房间布局估计、长方体检测、语义分割、对象检测、照明检测、同时定位和映射,或重新定位。

在此描述和/或附图中描绘的过程、方法和算法中的每一个可以在由一个或多个物理计算系统、硬件计算机处理器、专用电路和/或配置为执行专用指令和特定计算机指令的电子硬件执行的代码模块中体现,并且完全或部分地由代码模块自动处理。例如,计算系统可以包括采用特定计算机指令或专用计算机、专用电路等编程的通用计算机(例如服务器)。代码模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解释编程语言编写。在一些实现方式中,特定操作和方法可以由专用于给定功能的电路执行。

此外,本公开的功能的某些实现方式在数学上、计算上或技术上足够复杂,以使得专用硬件或一个或多个物理计算设备(利用适当的专用可执行指令)可能有必要例如由于所涉及的计算的量或复杂性而执行功能或者基本上实时地提供结果。例如,视频可以包括许多帧,每个帧具有数百万个像素,并且需要专门编程的计算机硬件来处理视频数据以在商业上合理的时间量内提供期望的图像处理任务或应用。作为另一个示例,使用在此所述的GREAT方法的实施例训练神经网络在计算上具有挑战性,并且可以在图形处理单元(GPU)、专用集成电路(ASIC)或浮点门阵列(FPGA)上实现。

代码模块或任何类型的数据可以存储在任何类型的非暂态计算机可读介质上,诸如包括硬盘驱动器、固态存储器、随机存取存储器(RAM)、只读存储器(ROM)、光盘、易失性或非易失性存储设备,与它们相同或类似物的组合等的物理计算机存储设备。方法和模块(或数据)还可以作为生成的数据信号(例如,作为载波或其它模拟或数字传播信号的一部分)在各种计算机可读传输介质(包括基于无线的和有线的/基于电缆的介质)上发送,并且可以采用多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字分组或帧)。所公开的过程或过程步骤的结果可以持久地或以其它方式存储在任何类型的非暂态有形计算机存储设备中,或者可以经由计算机可读传输介质传送。

在此描述和/或附图中描绘的流程图中的任何过程、框、状态、步骤或功能应当理解为可能表示代码模块、代码段或代码部分,其包括用于实施特定功能(例如,逻辑或算术)或过程中的步骤的一个或多个可执行指令。各种过程、块、状态、步骤或功能可以与在此提供的说明性示例组合、重新排列、添加、删除、修改或以其它方式改变。在一些实施例中,附加或不同的计算系统或代码模块可以执行在此描述的一些或全部功能。在此描述的方法和过程也不限于任何特定序列,并且与其相关的块、步骤或状态可以以适当的其它顺序执行,例如,以串行、并行或以一些其它方式。可以向所公开的示例实施例添加任务或事件或从中删除任务或事件。此外,在此描述的实现方式中的各种系统组件的分离是出于说明性目的,并且不应被理解为在所有实现方式中都需要这种分离。应当理解,所描述的程序部件、方法和系统通常可以一起集成在单个计算机产品中或打包成多个计算机产品。许多实现方式变化都是可能的。

过程、方法和系统可以在网络(或分布式)计算环境中实现。网络环境包括企业范围的计算机网络、内联网、局域网(LAN)、广域网(WAN)、个人局域网(PAN)、云计算网络、众包计算网络、互联网和万维网。网络可以是有线或无线网络或任何其它类型的通信网络。

本公开的系统和方法各自具有若干创新方面,其中没有一个单独地负责或需求对在此公开的期望属性。在此所述的各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合都旨在落入本公开的范围内。对本领域技术人员来说,本公开中描述的实现方式的各种修改是显而易见的,并且在不脱离本公开的精神或范围的情况下,在此定义的一般原理可以应用于其它实现方式。因此,权利要求不旨在限于在此所示的实现方式,而是与符合在此公开的本公开、原理和新颖特征的最宽范围相一致。

在单独实现方式的上下文中在本说明书中描述的某些特征也可以在单个实现方式中组合实施。相反,在单个实现方式的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实现方式中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。对于每个和所有实施例,单个特征或特征组并非必需或必不可少。

除非另有说明,或者在所使用的上下文中以其它方式理解,否则在此使用的条件语言,诸如“能够”、“可以”、“可能”、“可”、“例如”等通常旨在传达某些实施例包括某些特征、元件和/或步骤,而其它实施例不包括某些特征、元件和/或步骤。因此,这种条件语言通常不旨在暗示特征、元素和/或步骤以任何方式被一个或多个实施例需求,或者一个或多个实施例必须包括用于决定是否在任何特定实施例中包括或将要执行这些特征、元件和/或步骤(无论是否有作者输入或提示)的逻辑。术语“包含”、“包括”、“具有”等是同义的并且以开放式方式包含使用,并且不排除附加元件、特征、动作、操作等。此外,术语“或”在其包含意义上(而不是在其排斥意义上)使用,因此当使用时,例如,为了连接元素列表,术语“或”表示列表中的一个、一些或全部元素。另外,除非另有说明,否则本申请和所附权利要求中使用的冠词“一”、“一个”和“该”应理解为表示“一个或多个”或“至少一个”。

如在此所使用的,指代项目列表中的“至少一个”的短语是指那些项目的任何组合,包括单个成员。例如,“A、B或C中的至少一个”旨在涵盖:A、B、C、A和B、A和C、B和C,以及A、B和C。除非另外特别说明,否则诸如短语“X、Y和Z中的至少一个”的联合语言以其它方式通过上下文理解为通常用于传达项目、术语等可以是X、Y或Z中的至少一个。因此,这种联合语言通常不旨在暗示某些实施例需要X中的至少一个、Y中的至少一个和Z中的至少一个各自存在。

类似地,虽然可以以特定顺序在附图中描绘操作,但应认识到,不需要以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其它操作可以包含在示意性示出的示例方法和过程中。例如,可以在任何所示操作之前、之后、同时或之间执行一个或多个附加操作。另外,可以在其它实现方式中重新排列或重新排序操作。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实现方式中的各种系统组件的分离不应被理解为在所有实现方式中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以在单个软件产品中集成在一起或者被打包到多种软件产品。另外,其它实现方式在以下权利要求的范围内。在一些情况下,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。

相关技术
  • 神经网络的梯度对抗性训练
  • 一种基于分层随机梯度下降的卷积神经网络训练方法
技术分类

06120112331669