用于卷积神经网络的神经架构搜索制造技术

技术编号:22598828 阅读:37 留言:0更新日期:2019-11-20 13:02
包括被编码在计算机存储介质上的计算机程序、用于确定神经网络架构的方法、系统以及装置。该方法中的一个包括使用具有控制器参数的控制器神经网络并根据控制器参数的当前值生成一批输出序列。该方法包括,对于该批中的每个输出序列:生成子卷积神经网络(CNN)的实例,其中该子卷积神经网络的实例包括具有由输出序列限定的架构的第一卷积单元的多个实例;训练子CNN的实例以执行图像处理任务;以及评估子CNN的经训练的实例在任务上的性能,以确定子CNN的经训练的实例的性能度量;并且使用子CNN的经训练的实例的性能度量来调节控制器神经网络的控制器参数的当前值。

Neural architecture search for convolutional neural networks

It includes the computer program encoded on the computer storage medium, the method, system and device for determining the neural network architecture. One of the methods includes using a controller neural network with controller parameters and generating a batch of output sequences based on the current values of the controller parameters. The method includes: for each output sequence in the batch: generating an example of a sub convolution neural network (CNN), wherein the example of the sub convolution neural network includes multiple instances of the first convolution unit with a structure defined by the output sequence; training the instance of the sub CNN to perform image processing tasks; and evaluating the performance of the trained instance of the sub CNN on the task to determine the sub cn N's performance measurement of the trained instances, and uses the performance measurement of the trained instances of sub CNN to adjust the current value of the controller parameters of the controller neural network.

【技术实现步骤摘要】
【国外来华专利技术】用于卷积神经网络的神经架构搜索相关申请的交叉引用本申请要求于2017年7月21日提交的美国临时申请序列号62/535,806的优先权。在先申请的公开内容被认为是本申请的一部分,并且通过引用并入本申请的公开内容中。
技术介绍
本说明书涉及确定用于卷积神经网络的架构。神经网络是采用一层或多层非线性单元层以预测所接收的输入的输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一层(即下一个隐藏层或输出层)的输入。网络的每一层根据相应的一组参数的当前值从所接收的输入中生成输出。一些神经网络是递归神经网络。递归神经网络是接收输入序列并从该输入序列生成输出序列的神经网络。具体地,递归神经网络可以在当前时间步长处计算输出时使用来自先前时间步长的网络的一些或全部内部状态。递归神经网络的示例是包括一个或多个LSTM记忆块的长短期(LSTM)神经网络。每个LSTM记忆块可以包括一个或多个单元,该一个或多个单元各自包括输入门、遗忘门和输出门,这些门允许单元存储该单元的先前状态,例如,用于生成电流激活或被提供给LSTM神经网络的其他组件。
技术实现思路
本说明书描述了在一个或多个位置中的一个或多个计算机上被实施为计算机程序的系统,该系统通过确定用于在整个网络架构中重复的卷积单元的架构来确定用于卷积神经网络的网络架构。本说明书中描述的主题可以在具体实施例中实施,以便实现以下优点中一个或多个。通过预测一个或多个类型的卷积单元的架构,并且然后对卷积神经网络中出现的这种类型的每个卷积单元重新使用相同的架构,该系统有效地限制了可能架构的搜索空间,而没有负面地影响(并且在某些情况下,甚至提高了)所得到的架构的性能。因此,通过如本说明书中所描述的有效地限制可能架构的搜索空间,该系统可以确定匹配或超过由搜索较大的架构空间的其他技术发现的架构的性能的架构,同时使用比其他技术更少的计算资源。附加地,该系统可以有效地确定在较小数据集上的卷积单元的架构,并且然后在数据范围和计算规模上重新使用相同的单元架构。具体地,该系统可以有效地采用所得到的经学习的架构来用减少的计算预算执行图像处理任务,该计算预算匹配或优于面向移动和嵌入式平台的流线型(streamlined)架构。本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据描述、附图和权利要求书,主题的其他特征、方面和优点将变得显而易见。附图说明图1示出了示例神经架构搜索系统。图2A示出了第一卷积单元的示例操作块。图2B是生成输出序列的控制器神经网络的示例的图。图3是用于更新控制器参数的当前值的示例过程的流程图。在各种附图中,相同的附图标记和标号指示相同的情况。具体实施方式本说明书描述了在一个或多个位置中的一个或多个计算机上被实施为计算机程序的系统,该系统通过确定在整个网络架构中被重复的第一卷积单元的架构,使用控制器神经网络来确定子卷积神经网络的网络架构。该子卷积神经网络(convolutionalneuralnetwork,CNN)被配置成执行图像处理任务。通常,子CNN被配置为接收输入图像并处理输入图像以生成输入图像的网络输出。例如,由神经网络为给定图像生成的输出可以是用于一组对象类别中的每一个的得分,其中每个得分表示图像包含属于该类别的对象的图像的估计的可能性。作为另一示例,由神经网络生成的输出可以是输入图像的数字嵌入。作为又一示例,由神经网络生成的输出可以标识输入图像中的特定类型的对象在该处被描述的位置。图1示出了示例神经架构搜索系统100。神经架构搜索系统100是在一个或多个位置中的一个或多个计算机上被实施为计算机程序的系统的示例,其中可以实施下面描述的系统、组件和技术。神经架构搜索系统100是这样的系统,即该系统获得用于训练卷积神经网络以执行特定任务的训练数据102和用于评估该卷积神经网络在该特定任务上的性能的验证集104,并且使用训练数据102和验证集104来确定被配置为执行图像处理任务的子CNN的网络架构。具体地,系统100通过确定在整个网络架构中被重复的第一卷积单元的架构,使用控制器神经网络来确定子CNN的网络架构。也就是说,子CNN包括第一卷积单元的多个实例。在第一卷积单元的实例内的卷积操作的过滤器的数量可以基于子CNN内的实例的位置而不同。通常,训练数据102和验证集104两者都包括一组输入图像,并且对于每个输入图像,包括应该由子CNN生成以执行图像处理任务的相应目标输出。例如,较大的一组训练数据可能已经被随机划分以生成训练数据102和验证集104。该系统100可以以多种方式中的任何方式来接收训练数据102和验证集104。例如,系统100可以通过数据通信网络,例如,使用由系统100提供的应用程序编程接口(applicationprogramminginterface,API),从系统的远程用户接收作为上传物的训练数据,并且将上传的数据随机分成训练数据102和验证集104。作为另一示例,系统100可以从用户接收来自指定已经由系统100维护的哪些数据应该被用于训练卷积神经网络的输入,并且然后将指定的数据分成训练数据102和验证集104。如图1所示,神经架构搜索系统100包括控制器神经网络110、训练引擎120、以及控制器参数更新引擎130。控制器神经网络110是具有参数(在本说明书中称为“控制器参数”)的神经网络。具体地,控制器神经网络是包括一个或多个递归神经网络层和一个或多个输出层的递归神经网络。输出层可以是softmax神经网络层。下面参考图2B更详细地描述控制器神经网络的示例架构。控制器神经网络110被配置成根据控制器参数生成一批输出序列。由控制器神经网络110生成的每个输出序列限定第一卷积单元的相应可能架构,并且可选地,限定也在整个子卷积神经网络中重复的一个或多个其他卷积单元。第一卷积单元被配置成接收单元输入并生成单元输出。单元输出可以具有与单元输入相同的尺寸,例如相同的高度、宽度和深度。例如,第一卷积单元可以接收特征映射作为输入,并且生成具有与输入特征映射相同尺寸的输出特征映射。第一卷积单元包括B个操作块的序列,其中B是预定的正整数。例如,B可以是三、五或者十。第一卷积单元中的每个操作块接收一个或多个相应的输入隐藏状态,并且生成相应的输出隐藏状态。下面参考图2A更详细地描述操作块的示例架构。每个输出序列在多个时间步长的每一个处包括相应的输出,并且在输出序列中的每个时间步长与第一卷积单元的架构的不同超参数相对应。因此,每个输出序列在每个时间步长处包括相对应的超参数的相应值。总的来说,在给定输出序列中的超参数的值限定第一卷积单元的架构。通常,超参数是影响由第一卷积单元执行的操作的设置。第一卷积单元的超参数在具有第一卷积单元的多个实例的子CNN的开始训练之前被设置。这些超参数在子CNN的训练期间不会被学习,即这些超参数在子CNN的训练期间不会改变。下面参考图2A至图本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n使用具有多个控制器参数的控制器神经网络并根据所述控制器参数的当前值生成一批输出序列,/n所述批中的每个输出序列限定被配置成接收单元输入并生成单元输出的第一卷积单元的架构,以及/n所述第一卷积单元包括预定数量的操作块的序列,每个操作块接收一个或多个相应输入隐藏状态并生成相应输出隐藏状态;/n对于所述批中的每个输出序列:/n生成子卷积神经网络的实例,所述子卷积神经网络的实例包括具有由所述输出序列限定的架构的第一卷积单元的多个实例;/n训练所述子卷积神经网络的实例,以执行图像处理任务;以及/n评估所述子卷积神经网络的经训练的实例在所述图像处理任务上的性能,以确定所述子卷积神经网络的经训练的实例的性能度量;以及/n使用所述子卷积神经网络的经训练的实例的性能度量来调节所述控制器神经网络的控制器参数的当前值。/n

【技术特征摘要】
【国外来华专利技术】20170721 US 62/535,8061.一种方法,包括:
使用具有多个控制器参数的控制器神经网络并根据所述控制器参数的当前值生成一批输出序列,
所述批中的每个输出序列限定被配置成接收单元输入并生成单元输出的第一卷积单元的架构,以及
所述第一卷积单元包括预定数量的操作块的序列,每个操作块接收一个或多个相应输入隐藏状态并生成相应输出隐藏状态;
对于所述批中的每个输出序列:
生成子卷积神经网络的实例,所述子卷积神经网络的实例包括具有由所述输出序列限定的架构的第一卷积单元的多个实例;
训练所述子卷积神经网络的实例,以执行图像处理任务;以及
评估所述子卷积神经网络的经训练的实例在所述图像处理任务上的性能,以确定所述子卷积神经网络的经训练的实例的性能度量;以及
使用所述子卷积神经网络的经训练的实例的性能度量来调节所述控制器神经网络的控制器参数的当前值。


2.根据权利要求1所述的方法,其中,在所述训练之后,所述子卷积神经网络的经训练的实例中的所述第一卷积单元的不同实例具有不同的参数值。


3.根据权利要求1或2中任一项所述的方法,其中,所述第一卷积单元中的每个操作块被配置成:
将第一操作应用于第一输入隐藏状态,以生成第一输出;
将第二操作应用于第二输入隐藏状态,以生成第二输出;以及
将组合操作应用于所述第一输出和第二输出,以生成输出隐藏状态。


4.根据权利要求3所述的方法,其中,对于所述操作块中的每一个,所述批中的每个输出序列限定:
从以下中的一个或多个中选择的所述操作块的第一输入隐藏状态的源:(i)由所述子卷积神经网络的一个或多个其他组件生成的输出、(ii)输入图像、或者(iii)在所述第一卷积单元内的操作块的序列中的先前操作块的输出隐藏状态;
从以下中的一个或多个中选择的所述操作块的第二输入隐藏状态的源:(i)由卷积单元的序列中的一个或多个先前卷积单元生成的输出,(ii)所述输入图像,或者(iii)在所述卷积单元内的操作块的序列中的先前操作块的输出隐藏状态;
从预定的一组卷积神经网络操作中选择的所述第一操作的操作类型;以及
从所述预定的一组卷积神经网络操作中选择的所述第二操作的操作类型。


5.根据权利要求4所述的方法,其中,对于所述第一卷积单元的每个操作块,所述批中的每个输出序列进一步限定:
从预定的一组组合操作中选择组合操作的操作类型。


6.根据权利要求4或5中任一项所述的方法,其中,所述第一卷积单元进一步被配置成:通过组合未被选择为对所述第一卷积单元中的任何块的输入的所述第一卷积单元中的块的输出隐藏状态,生成所述单元输出。


7.根据权利要求1至6中任一项所述的方法,其中,使用所述子卷积神经网络的经训练的实例的性能度量来调节所述控制器神经网络的控制器参数的当前值包括:
使用机器学习训练技术训练所述控制器神经网络以生成使得所述子卷积神经网络具有增加的性能度量的输出序列。


8.根据权利要求7所述的方法,其中,所述训练技术是策略梯度技术。


9.根据权利要求7或8所述的方法,其中,所述训练技术是强化技术。


10.根据权利要求7所述的方法,其中,所述训练技术是近端策略优化(PPO)技术。


11.根据权利要求7至10中任一项所述的方法,进一步包括:
使用具有增加的性能度量的所述子卷积神经网络中的至少一个子卷积神经网络来执行所述图像处理任务。


12.根据权利要求1至10中任一项所述的方法,其中...

【专利技术属性】
技术研发人员:V瓦萨德万B佐夫J施伦斯QV勒
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国;US

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

1