神经架构搜索的系统和方法技术方案

技术编号:23672727 阅读:27 留言:0更新日期:2020-04-04 18:07
公开了一种神经架构搜索的计算机实现的方法。实施例可以提供用于执行选定任务的神经网络(100)。获得计算图(200),该计算图包括多个节点、边、以及与上述节点/边相关联的权重。计算图(200)包括计算图(200)的子图(301、302)形式的多个候选模型。顺序训练选定的子图,响应于训练更新与每个子图对应的权重。对于子图中与另一子图共享的每个权重,基于与该权重相关联的节点/边对另一子图的重要程度的指示控制(响应于训练该子图的)该权重的更新。

The system and method of neural architecture search

【技术实现步骤摘要】
神经架构搜索的系统和方法
本公开涉及神经架构搜索领域。特别地,本公开涉及用于设计神经网络的系统和方法。
技术介绍
通过提供增强的计算能力和访问越来越多的适合的训练数据,机器学习技术已获得越来越多的应用,可为许多技术问题提供改进的解决方案。特别地,作为一种为许多此类技术问题提供简洁有效的解决方案的方法,神经网络的使用已越来越普遍。神经网络通常具有包括多个互联神经元的结构。网络中的每个神经元被布置为接收输入数据,在提供某些输出数据之前,神经元对该接收数据进行缩放并对其执行函数。随后,该输出数据可以被馈入后续神经元,作为后续神经元的输入数据。然后,这些后续神经元同样可以在对数据执行进一步的函数之前对其进行缩放。可以对多个不同的神经元重复该过程,直到决定最后的输出。可以通过使用具有相应已知输出的输入数据对这些网络进行训练,其中,训练涉及对数据重复操作该网络以提供输出,并执行与该输出的比较。即,将一个输入数据的输出与该输入数据的已知输出进行比较。然后,可以基于上述比较的结果更新网络的权重(其影响输入数据的缩放),使得网络“学习”在被提供给定的输入数据时提供正确的输出。通过使用合适的训练数据重复许多次该过程,研究表明,神经网络具有很强的普适接近能力(例如,神经网络可以解决其被训练的问题)。神经网络存在大量不同的结构。例如,前馈神经网络(feedforwardneuralnetwork)包括多层神经元。在前馈网络中,某一层中的神经元的输出被馈入下一层中的每个神经元,使得每个神经元从其上一层的神经元接收输入。神经网络的不同结构包括循环神经网络(recurrentneuralnetwork),在循环神经网络中,上一层的输入也可以作为输入数据被馈入下一层。网络的另一类型是残差网络(residualnetwork),其具有与简单前馈网络相似的布置,除了该网络可以包括将从神经元或多层神经元的输出连接到除了下一层以外的层中的神经元的支(branch)。已经发现不同类型的网络对于解决某些类型的技术问题特别有效。因此,在设计神经网络时,基于网络旨在解决的问题选择一种网络类型可能会有所帮助。虽然神经网络类型的选择可能对网络执行选定任务的整体能力有重要影响,但组成神经元类型的选择也可能对网络执行选定任务的能力产生重大影响。例如,由神经元的第一选择组成的训练良好的网络的性能可能不如具有不同的、更好的神经元选择的训练较差的网络。由于网络的训练可能非常耗时,因此最初选择合适的神经元可以大大减少为提供令人满意地执行选定任务的神经网络所花费的时间和资源。除了提高训练神经网络的效率之外,选择合适的神经元结构的能力可能会在提供可以解决技术问题的神经网络与不能解决技术问题的神经网络之间产生差异。通过提供神经架构搜索系统和方法以提供用于解决选定技术问题或对选定技术问题作出贡献的神经网络,本公开的实施例可以解决这些和其他技术问题。
技术实现思路
本公开各方面在独立权利要求中阐述,可选的特征在从属权利要求中阐述。本专利技术的各方面可以相互结合提供,一个方面的特征可以应用于其他方面。在一个方面,提供了一种神经架构搜索的计算机实现的方法,该神经架构搜索用以提供用于执行选定任务的神经网络。该方法包括以下步骤:i、获得计算图,该计算图包括:通过多条边连接的多个节点,其中,每个节点和/或边与多个权重中相应的一个权重相关联,并用于根据上述相应权重对提供给(例如,沿边)上述每个节点的输入数据进行缩放。每个节点用于:经由将上述每个节点连接至前一节点的边,从前一节点接收至少一项输入数据;对上述输入数据执行运算以提供输出数据,其中,每项输入数据根据与上述节点和/或边关联的相应权重进行缩放;以及经由边向上述图中的后一节点提供上述输出数据。上述计算图定义第一候选模型和第二候选模型,每个候选模型为上述计算图中的子图,上述子图具有从上述多个节点、上述多条边、以及关联的上述多个权重中选取的节点、边、以及权重,其中,一些选取的节点、边、以及权重在上述第一模型和上述第二模型间共享。例如,应当理解,第一候选模型和/或第二候选模型可以具有一些不在另一候选模型中的节点、边、和权重的选择,例如,并非所有的节点、边、以及权重都在这两个模型间共享。ii、基于训练上述第一模型执行上述选定任务,更新上述第一模型的上述权重。iii、基于训练上述第二模型执行与上述第一模型相同的上述选定任务,更新上述第二模型的上述权重。更新上述第二模型的上述权重包括更新在步骤(ii)中更新的在上述第一模型和上述第二模型间共享的一些权重。更新共享的上述权重基于与上述权重关联的节点和/或边对训练后的上述第一候选模型的重要程度的指示进行控制。例如,对于与对第一模型不重要的节点和/或边相关联的权重,对权重的更新可以比当关联的节点和边对第一模型更重要时的更大。iv、识别上述神经网络的优选模型,上述优选模型包括从上述计算图选取的节点、边、以及关联的权重。上述优选模型基于对上述第一训练候选模型和第二训练候选模型的分析确定。v、基于上述优选模型提供用于执行上述选定任务的神经网络。本公开实施例可以改进对用于执行选定任务的神经网络的优选模型的识别。基于重要程度的指示对共享权重的更新进行控制可以降低与第一模型的重要特征相关联的权重的更新幅度。例如,在训练第二模型时,对第一模型不太重要的权重可以比对第一模型较重要的权重改变得更多。然后,当识别神经网络的优选模型时,对第一和第二训练候选模型的分析可能更能代表该模型执行选定任务的能力。例如,第一模型的权重的改变可能小于其原本由于第一和第二候选模型的顺序训练而导致的改变。反过来,这可以更可靠地识别作为神经架构搜索的一部分的优选模型。因此,可以提供一种用于执行选定任务的改进的神经网络。用于执行选定任务的神经网络可以包括用于以下至少之一的神经网络:(i)自然语言处理、(ii)图像识别、(iii)物理系统的分类和/或建模、(iv)数据处理、以及(v)搜索结果生成。应当理解,神经网络的使用可以应用于任意数量的技术问题,例如,其可以有助于任意数量的技术问题的技术方案。例如,由本文所述的神经架构搜索方法提供的网络可以用于处理输入数据并提供基于其可控制技术操作的输出。基于上述权重的费雪信息(Fisherinformation)的指示可以确定重要程度的指示。可以为每个共享权重确定重要程度的指示;可以为所有权重确定重要程度的指示。基于重要程度的指示控制共享权重的更新可以包括基于该权重的费雪信息的值缩放上述更新的幅度。例如,可以基于给定权重的费雪信息来限制其最大可能的改变。重要程度的指示可以在训练候选模型时使用的损失函数中实现。可以基于识别与候选模型中的节点/边相关联的性能的损失确定重要程度的指示。例如,对于给定相应权重的重要程度的指示可以提供模型的性能对给定权重的概念性变化(notionalchange)的敏感程度的指示。权重的微小变化导致性能的大幅下降可能表明该权重非常重要。可以使用合适的损失函数表示模型的性能。重要程度的指示可以定义为对于该给本文档来自技高网
...

【技术保护点】
1.一种神经架构搜索的计算机实现的方法,所述神经架构搜索用以提供用于执行选定任务的神经网络,所述方法包括:/n(i)获得计算图,所述计算图包括:通过多条边连接的多个节点、以及用于缩放沿边提供到节点的输入数据的多个权重,其中,每个节点用于:/n从经由边连接至所述节点的前一节点接收至少一项输入数据;/n对所述输入数据执行运算以提供输出数据,其中,每项输入数据根据与所述节点和/或边关联的权重进行缩放;以及/n经由边向所述图中的后一节点提供所述输出数据;/n其中,所述计算图定义第一候选模型和第二候选模型,每个候选模型为所述计算图中的子图,所述子图具有从所述多个节点、所述多条边、以及关联的所述多个权重中选取的节点、边、以及权重,其中,一些选取的节点、边、以及权重在所述第一模型和所述第二模型间共享;/n(ii)基于训练所述第一模型执行所述选定任务,更新所述第一模型的所述权重;/n(iii)基于训练所述第二模型执行与所述第一模型相同的所述选定任务,更新所述第二模型的所述权重,其中,更新所述第二模型的所述权重包括更新在步骤(ii)中更新的在所述第一模型和所述第二模型间共享的一些权重,并且其中,更新共享的所述权重基于与所述权重关联的节点和/或边对训练后的所述第一候选模型的重要程度的指示进行控制;/n(iv)识别所述神经网络的优选模型,所述优选模型包括从所述计算图选取的节点、边、以及关联的权重,其中,所述优选模型基于对所述第一训练候选模型和第二训练候选模型的分析确定;以及/n(v)基于所述优选模型提供用于执行所述选定任务的神经网络。/n...

【技术特征摘要】
20180927 EP 18197366.0;20190131 EP 19154841.11.一种神经架构搜索的计算机实现的方法,所述神经架构搜索用以提供用于执行选定任务的神经网络,所述方法包括:
(i)获得计算图,所述计算图包括:通过多条边连接的多个节点、以及用于缩放沿边提供到节点的输入数据的多个权重,其中,每个节点用于:
从经由边连接至所述节点的前一节点接收至少一项输入数据;
对所述输入数据执行运算以提供输出数据,其中,每项输入数据根据与所述节点和/或边关联的权重进行缩放;以及
经由边向所述图中的后一节点提供所述输出数据;
其中,所述计算图定义第一候选模型和第二候选模型,每个候选模型为所述计算图中的子图,所述子图具有从所述多个节点、所述多条边、以及关联的所述多个权重中选取的节点、边、以及权重,其中,一些选取的节点、边、以及权重在所述第一模型和所述第二模型间共享;
(ii)基于训练所述第一模型执行所述选定任务,更新所述第一模型的所述权重;
(iii)基于训练所述第二模型执行与所述第一模型相同的所述选定任务,更新所述第二模型的所述权重,其中,更新所述第二模型的所述权重包括更新在步骤(ii)中更新的在所述第一模型和所述第二模型间共享的一些权重,并且其中,更新共享的所述权重基于与所述权重关联的节点和/或边对训练后的所述第一候选模型的重要程度的指示进行控制;
(iv)识别所述神经网络的优选模型,所述优选模型包括从所述计算图选取的节点、边、以及关联的权重,其中,所述优选模型基于对所述第一训练候选模型和第二训练候选模型的分析确定;以及
(v)基于所述优选模型提供用于执行所述选定任务的神经网络。


2.根据权利要求1所述的方法,其中,用于执行所述选定任务的所述神经网络包括用于以下至少之一的神经网络:(i)自然语言处理、(ii)图像识别、(iii)物理系统的分类和/或建模、(iv)数据处理、以及(v)搜索结果生成。


3.根据任一前述权利要求所述的方法,其中,对于每个共享的权重,重要程度的所述指示使用基于关于所述权重的选择的损失函数的梯度或高阶导数的测量而确定,例如,重要程度的所述指示使用所述权重的费雪信息的指示而确定。


4.根据权利要求3所述的方法,其中,基于重要程度的指示控制共享的所述权重的更新包括基于所述测量的值缩放所述更新的幅度,例如,基于所述权重的所述费雪信息的值缩放所述更新的幅度。


5.根据权利要求4所述的方法,其中,训练所述第二候选模型包括使用训练损失函数进行训练,所述训练损失函数包括指示所述第二模型中的权重的所述测量的分量,例如,指示所述第二模型中的权重的所述费雪信息的分量。


6.根据权利要求5所述的方法,其中,所述训练损失函数包括用于抑制与所述第二模型中的任一所述权重相关联的梯度爆炸的缩放因子,例如,其中,所述缩放因子包括所述权重的范数。


7.根据任一前述权利要求所述的方法,其中...

【专利技术属性】
技术研发人员:亚辛·贝尼亚希亚卡米尔本纳尼·斯密雷斯迈克尔·贝瑞斯维尔克劳迪乌·姆萨特
申请(专利权)人:瑞士电信公司
类型:发明
国别省市:瑞士;CH

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

1