优化神经网络架构制造技术

技术编号:22367665 阅读:35 留言:0更新日期:2019-10-23 05:51
方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于优化神经网络架构。一种方法包括:接收训练数据;使用训练数据确定用于执行机器学习任务的优化的神经网络架构;以及确定具有优化的神经网络架构的神经网络的参数的训练的值。

Optimize neural network architecture

【技术实现步骤摘要】
【国外来华专利技术】优化神经网络架构
技术介绍
本公开涉及训练神经网络。神经网络是机器学习模型,它使用一层或多层非线性单元来预测接收的输入的输出。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层(即下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集合的当前值从接收的输入生成输出。
技术实现思路
通常,本说明书中描述的主题的一个创新方面可以体现在用于确定最优的神经网络架构的方法中。该方面的其他实施例包括相应计算机系统、装置和记录在一个或多个计算机存储设备上的计算机程序,每个被配置为执行方法的动作。一个或多个计算机的系统可以被配置为借助于安装在系统上的软件、固件、硬件或其任何组合来执行特定操作或动作,所述系统在操作中可以使系统执行动作。一个或多个计算机程序可以被配置为通过包括当由数据处理装置执行时使装置执行动作的指令来执行特定操作或动作。本说明书中描述的主题可以在特定实施例中实现,以便实现以下优点中的一个或多个。通过使用如本说明书中描述的给定机器学习任务的训练数据来优化神经网络架构,可以改进最终训练的神经网络在机器学习任务上的性能。具体地,神经网络的架构可以针对任务的训练数据而定制,而不受预先存在的架构的约束,从而改进训练的神经网络的性能。通过跨多个工作器计算单元分布架构的优化,可以搜索和评估的可能架构的搜索空间大大增加,导致在机器学习任务上具有改进的性能的最终优化的架构。另外,通过在架构的紧凑表示上操作而不是直接需要修改神经网络,优化处理的效率得到改进,导致优化的架构被更快地确定,同时使用例如更少存储器和处理能力或两者的更少的计算资源来确定。在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得明显。附图说明图1示出了示例神经网络架构优化系统。图2是用于优化神经网络架构的示例处理的流程图。图3是用于更新群体(populatoin)储存库中的紧凑表示的示例处理的流程图。具体实施方式图1示出了示例神经网络架构优化系统100。神经网络架构优化系统100是在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统的示例,其中可以实现下面描述的系统、组件和技术。神经网络架构优化系统100是这样的系统,其(即,从系统的用户)接收训练数据102,用于训练神经网络以执行机器学习任务,并使用训练数据102来确定用于执行机器学习任务的最优的神经网络架构,并训练具有最优的神经网络架构的神经网络以确定神经网络的参数的训练的值。训练数据102通常包括多个训练示例和每个训练示例的相应的目标输出。给定训练示例的目标输出是应由训练的神经网络通过处理给定训练示例生成的输出。系统100可以以各种方式中的任何方式接收训练数据102。例如,系统100可以通过数据通信网络,例如使用系统100可用的应用编程接口(API),从系统的远程用户接收作为上传的数据(upload)的训练数据。作为另一个示例,系统100可以从用户接收指定由系统100已经维持的数据应当用作训练数据102的输入。神经网络架构优化系统100使用训练数据102生成指定训练的神经网络的数据152。数据152指定训练的神经网络的最优的架构和具有最优架构的训练的神经网络的参数的训练的值。一旦神经网络架构优化系统100已经生成数据152,神经网络架构优化系统100就可以使用训练的神经网络数据152来实例化训练的神经网络,并使用训练的神经网络来处理新接收的输入以例如通过系统提供的API执行机器学习任务。也就是说,系统100可以接收要处理的输入,使用训练的神经网络来处理输入,并且响应于接收的输入提供由训练的神经网络生成的输出或从生成的输出导出的数据。替代地或另外地,系统100可以存储训练的神经网络数据152以稍后用于实例化训练的神经网络,或者可以将训练的神经网络数据152发送到另一系统以用于实例化训练的神经网络,或输出数据152给提交训练数据的用户。机器学习任务是由将训练数据102提交给系统100的用户指定的任务。在一些实现方式中,用户通过将识别任务的数据提交到具有训练数据102的神经网络架构优化系统100,明确地定义任务。例如,系统100可以在用户的用户设备上呈现用户界面,允许用户从系统100支持的任务列表中选择任务。也就是说,神经网络架构优化系统100可以维持机器学习任务的列表,例如像图像分类的图像处理任务、语音识别任务、像情绪分析的自然语言处理任务等。系统100可以允许用户通过选择用户界面中的任务之一来选择维持任务之一作为要使用训练数据的任务。在一些其他实现方式中,用户提交的训练数据102指定机器学习任务。也就是说,神经网络架构优化系统100将任务定义为处理具有与训练数据102中的训练示例相同的格式和结构的输入、以便对于训练示例生成具有与目标输出相同的格式和结构的输出的任务。例如,如果训练示例是具有特定分辨率的图像并且目标输出是一千维向量,则系统100可以将任务识别为将具有特定分辨率的图像映射到一千维向量的任务。例如,一千维目标输出向量可以具有非零值的单个元素。非零值的位置指示训练示例图像属于1000个类中的哪一个。在该示例中,系统100可以识别该任务是将图像映射到一千维概率向量。每个元素表示图像属于相应类的概率。CIFAR-1000数据集由与从1000个可能类中选择的目标输出分类配对的50000个训练示例组成,所述CIFAR-1000数据集是这种训练数据102的示例。CIFAR-10是相关数据集,其中分类是十个可能的类之一。合适的训练数据102的另一示例是MNIST数据集,其中训练示例是手写数字的图像,并且目标输出是这些表示的数字。目标输出可以表示为具有单个非零值的十维向量,其中非零值的位置指示相应的数字。神经网络架构优化系统100包括群体储存库110和多个工作器120A-N,它们彼此独立地操作以更新存储在群体储存库中的数据。在训练期间的任何给定时间,群体储存库110被实现为一个或多个物理位置中的一个或多个存储设备,并存储指定候选神经网络架构的当前群体的数据。具体地,群体储存库110对当前群体中的每个候选神经网络架构存储定义该架构的紧凑表示。可选地,群体储存库110还可以为每个候选架构存储具有该架构的神经网络的实例、具有该架构的神经网络的参数的当前值、或者表征该架构的附加元数据。给定架构的紧凑表示是对该架构的至少一部分进行编码的数据,即,可用于生成具有该架构或可被神经网络架构优化系统100修改的神经网络架构的至少一部分的神经网络的数据。具体地,给定架构的紧凑表示紧凑地识别架构中的每个层以及架构中的层之间的连接,即,在由神经网络处理输入期间的层之间的数据流。例如,紧凑表示可以是表示由有向边缘连接的节点图的数据。通常,图中的每个节点表示架构中的神经网络组件,例如神经网络层、神经网络模块、长短期存储器单元(LSTM)中的门、LSTM单元或其他神经网络组件,并且图中的每个边缘将相应的流出节点连接到相应的进入节点,并表示由流出节点表示的组件生成的输出的至少一部分被提供作为由进入节点表示的层的输入。节点和边缘具有标签,其表征数据如何通过架构的各种组件进行变换。在卷积神经网络的示例中,图中的每个节点表本文档来自技高网...

【技术保护点】
1.一种方法,包括:接收用于训练神经网络以执行机器学习任务的训练数据,该训练数据包括多个训练示例和每个训练示例的相应目标输出;使用训练数据确定用于执行机器学习任务的优化神经网络架构,包括:使用多个工作器计算单元中的每一个重复执行以下操作,每个工作器计算单元与每个其他的工作器计算单元异步地操作:由工作器计算单元从群体储存库中的紧凑表示的当前群体中选择多个紧凑表示,其中当前群体中的每个紧凑表示编码用于执行机器学习任务的不同候选神经网络架构,由工作器计算单元从所选择的多个紧凑表示生成新的紧凑表示,由工作器计算单元确定具有由新的紧凑表示编码的架构的训练的神经网络的适合度的度量,以及由工作器计算单元将新的紧凑表示添加到群体储存库中的当前群体,并将新的紧凑表示与适合度的度量相关联;以及选择由与最佳适合度的度量相关联的紧凑表示编码的神经网络架构,作为优化的神经网络架构;以及确定具有优化的神经网络架构的神经网络的参数的训练的值。

【技术特征摘要】
【国外来华专利技术】2017.02.23 US 62/462,840;2017.02.23 US 62/462,8461.一种方法,包括:接收用于训练神经网络以执行机器学习任务的训练数据,该训练数据包括多个训练示例和每个训练示例的相应目标输出;使用训练数据确定用于执行机器学习任务的优化神经网络架构,包括:使用多个工作器计算单元中的每一个重复执行以下操作,每个工作器计算单元与每个其他的工作器计算单元异步地操作:由工作器计算单元从群体储存库中的紧凑表示的当前群体中选择多个紧凑表示,其中当前群体中的每个紧凑表示编码用于执行机器学习任务的不同候选神经网络架构,由工作器计算单元从所选择的多个紧凑表示生成新的紧凑表示,由工作器计算单元确定具有由新的紧凑表示编码的架构的训练的神经网络的适合度的度量,以及由工作器计算单元将新的紧凑表示添加到群体储存库中的当前群体,并将新的紧凑表示与适合度的度量相关联;以及选择由与最佳适合度的度量相关联的紧凑表示编码的神经网络架构,作为优化的神经网络架构;以及确定具有优化的神经网络架构的神经网络的参数的训练的值。2.如权利要求1所述的方法,其中,确定具有由新的紧凑表示编码的架构的训练的神经网络的适合度的度量包括:实例化具有由新的紧凑表示编码的架构的新神经网络;在训练数据的训练子集上训练新神经网络,以确定新神经网络的参数的训练的值;以及通过在训练数据的验证子集上评估训练的新神经网络的性能来确定适合度的度量。3.如权利要求2所述的方法,所述操作还包括:将新神经网络的参数的训练的值与群体储存库中新的紧凑表示相关联。4.如权利要求3所述的方法,其中,确定具有优化的神经网络架构的神经网络的参数的训练的值包括:选择与紧凑表示相关联的训练的值,作为具有优化的神经网络架构的神经网络的参数的训练的值,其中该紧凑表示与最佳适合度的度量相关联。5.如权利要求1-4中任一项所述的方法,还包括:使用一个或多个默认紧凑表示来初始化群体储存库,该默认紧凑表示编码用于执行机器学习任务的默认神经...

【专利技术属性】
技术研发人员:JA迪安S摩尔EA瑞尔T布鲁尔
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国,US

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

1