训练大规模视觉Transformer神经网络制造技术

技术编号:34461365 阅读:15 留言:0更新日期:2022-08-06 17:24
本公开涉及用于训练大规模视觉Transformer(ViT)神经网络的方法、系统以及包括在计算机存储介质上编码的计算机程序的装置。置。置。

【技术实现步骤摘要】
训练大规模视觉Transformer神经网络


[0001]本说明书涉及使用神经网络来处理图像。

技术介绍

[0002]神经网络是采用一层或多层非线性单元来针对接收到的输入预测输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一层即下一隐藏层或输出层的输入。网络的每个层依照相应参数集的当前值从接收到的输入生成输出。

技术实现思路

[0003]本说明书描述一种作为计算机程序实现在一个或多个位置中的一个或多个计算机上的系统,该系统训练视觉Transformer神经网络(ViT)。ViT是这样的神经网络,该神经网络处理包括图像的输入,即处理图像的像素的强度值,以生成图像的输出,例如分类或回归输出,并且包括一个或多个自注意力层和一个或多个输出层。
[0004]能够在特定实施例中实现本说明书中描述的主题以便实现以下优点中的一个或多个。
[0005]本说明书描述对ViT的架构、训练或两者的修改。所描述的修改((i)解耦权重衰减值,(ii)从所有输出元素生成分类输出,而不是在输入序列中包括额外位置,从该额外位置生成分类输出但该额外位置不对应于图像中的补片中的任一个的,以及(iii)在训练期间按降低的精度存储动量值)允许系统预训练ViT神经网络,该ViT神经网络然后在各种下游任务中的任一个上实现目前技术水平性能。特别地,当采用至少修改(i)和(ii)时,ViT能够例如通过使用更大的ViT并且在不引起计算资源消耗的过大增加的情况下在下游分类任务上实现显著地改进的结果。当采用所有三个修改时,ViT实现显著地改进的结果,同时进一步减少计算资源消耗的增加,例如,减少作为模型大小的增加的结果的存储器使用的增加。
[0006]本说明书的主题的一个或多个实施例的细节在下面的附图和描述中阐述。主题的其它特征、方面和优点将从说明书、附图和权利要求书中变得显而易见。
附图说明
[0007]图1是示例神经网络训练系统的图。
[0008]图2示出了由ViT对输入的处理。
[0009]图3A是用于训练ViT的示例过程的流程图。
[0010]图3B示出了“身体”和“头”的权重衰减的组合,以及在需要少试转移的下游任务上的所得性能。
[0011]图4是用于在ViT的训练期间执行各个阶段的示例过程的流程图。
[0012]在各个附图中相似的附图标记和名称指示相似的元素。
具体实施方式
[0013]本说明书描述一种作为计算机程序实现在一个或多个位置中的一个或多个计算机上的系统,该系统训练视觉Transformer神经网络(ViT)。
[0014]图1是示例神经网络训练系统100的图。神经网络训练系统100是作为计算机程序实现在一个或多个位置中的一个或多个计算机上的系统的示例,其中能够实现下述系统、组件和技术。
[0015]神经网络训练系统100被配置成训练视觉Transformer神经网络110。
[0016]视觉Transformer神经网络(ViT)110是这样的神经网络,该神经网络获得图像的多个图像补片并且处理这些图像补片以针对输入图像生成输出,并且该神经网络包括一个或多个自注意力层130和一个或多个输出层140。每个图像补片包括图像的像素的不同子集。
[0017]ViT 110处理多个图像补片以生成在多个位置中的每一个处包括相应输入元素(“补片嵌入”)的输入序列,其中该输入序列包括与该多个图像补片中的每一个相对应的相应输入元素。
[0018]ViT 110通过多个自注意力神经网络块来处理输入序列以生成在每一个位置处包括相应输出元素的输出序列并且使用该一个或多个输出层140来处理输出元素中的一个或多个以生成图像的分类输出。
[0019]通常,每个块更新输入序列中的元素,即每个块的输入序列是在已被前一个块更新之后的输入(或者,对于第一块,元素的原始输入序列)。这些块被称为“自注意力”神经网络块,因为每一个块包括一个或多个自注意力层130,每个自注意力层对输入序列中的元素(如通过块接收的)应用自注意力机制作为更新输入序列的一部分。
[0020]分类输出通常包括与多个类别中的每一个相对应的相应分数。类别的分数指示图像属于该类别的可能性。在一些情况下,类别可以是对象的类(例如,狗、猫、人等),并且如果图像描绘与该类别相对应的对象类中所包括的对象,则该图像可以属于该类别。在一些情况下,类别可能表示全局图像属性(例如,图像是描绘白天还是晚上的场景,或者图像是描绘夏季还是冬季的场景),并且如果图像具有与类别相对应的全局属性则它可以属于该类别。
[0021]在下面参考图2更详细地描述ViT的示例配置。
[0022]为了训练ViT 110,系统100获得第一训练数据120。
[0023]第一训练数据120包括多个训练图像和每个训练图像的相应目标分类输出。
[0024]系统100然后例如通过监督学习来在第一训练数据120上训练视觉Transformer神经网络110,以使适当的分类损失(例如包括交叉熵损失和可选地一个或多个正则化项的损失函数,其中该交叉熵损失是在给定训练图像的目标分类输出与由ViT 110针对该给定训练图像生成的分类输出之间的)最小化。
[0025]在此训练之后,系统100能够使用经训练后的ViT 110来对新输入图像执行分类任务或者提供指定经训练后的ViT 100的数据以用于在执行分类任务时使用。
[0026]替换地或另外,系统100能够与另一输出层集合联合地在不同下游任务上,例如在不同分类任务上或者在回归任务上即在用于下游任务的训练数据上训练自注意力块。
[0027]作为特定示例,包括自注意力块和另一输出层集合的下游神经网络能够被配置成
生成分类输出,该分类输出包括与多个类别中的每一个相对应的相应分数,其中该多个类别与在初始训练中使用的类别不同。
[0028]作为另一特定示例,下游神经网络能够被配置成生成像素级分类输出,对于图像中的每个像素,该像素级分类输出包括与多个类别中的每一个相对应的相应分数。对于给定像素,类别的分数指示像素属于该类别的可能性。在一些情况下,类别可以是对象的类,并且如果像素是包括在与该类别相对应的对象类中的对象上的一部分,则该像素可以属于该类别。也就是说,像素级分类输出可以是语义分割输出。
[0029]作为另一特定示例,下游神经网络能够被配置成生成回归输出,该回归输出估计表征图像的一个或多个连续变量(即,其能够假定无限多可能的数值)。在特定示例中,回归输出可以估计包封图像中描绘的相应对象的有界框的坐标。有界框的坐标可以由该有界框的顶点的(x,y)坐标定义。
[0030]在一些实现方式中,下游神经网络能够被配置成执行视频分析任务。例如,系统能够接收作为视频的视频帧的多个图像,并且能够如上所述处理每个视频帧以生成表征视频帧的输出,例如,通过表征视频帧是否描绘执行特定动作的人。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种训练视觉Transformer神经网络的方法,其中所述视觉Transformer神经网络被配置成:获得图像的多个图像补片,其中,每个图像补片包括所述图像的像素的不同子集;处理所述多个图像补片以生成输入序列,所述输入序列在多个位置的每一个位置处包括相应输入元素,其中,所述输入序列包括与所述多个图像补片中的每一个相对应的相应输入元素;通过多个自注意力神经网络块来处理所述输入序列以生成输出序列,所述输出序列在所述多个位置的每一个位置处包括相应输出元素;以及使用一个或多个输出层来处理所述输出序列中的一个或多个输出元素以生成所述图像的分类输出,并且其中所述方法包括:获得第一训练数据,所述第一训练数据包括多个训练图像和每个训练图像的相应目标分类输出;以及在所述第一训练数据上训练所述视觉Transformer神经网络,所述训练包括:在所述训练期间,使用第一权重衰减值来更新所述一个或多个输出层的参数,以及使用第二权重衰减值来更新所述多个自注意力神经网络块的参数,其中,所述第一权重衰减值高于所述第二权重衰减值。2.根据权利要求1所述的方法,其中,所述第一权重衰减值大于或等于0.3,而所述第二权重衰减值小于0.3。3.根据权利要求2所述的方法,其中,所述第一权重衰减值大于或等于1.0。4.根据权利要求3所述的方法,其中,所述第一权重衰减值大于或等于3.0。5.根据权利要求4所述的方法,其中,所述第一权重衰减值大于或等于10.0。6.根据权利要求2所述的方法,其中,所述第二权重衰减值小于或等于0.1。7.根据权利要求6所述的方法,其中,所述第二权重衰减值小于或等于0.01。8.根据权利要求1所述的方法,其中,所述输入序列中的每个输入元素对应于所述多个图像补片中的相应一个,并且其中,所述一个或多个输出层包括:聚合层块,所述聚合层块被配置成聚合所有所述输出元素以生成聚合输出元素;以及一个或多个最后输出层,所述一个或多个最后输出层被配置成从所述聚合输出元素生成所述分类输出。9.根据权利要求8所述的方法,其中,所述一个...

【专利技术属性】
技术研发人员:卢卡斯
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1