利用权重共享的神经架构搜索制造技术

技术编号:35549661 阅读:15 留言:0更新日期:2022-11-12 15:29
方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于选择神经网络来执行特定机器学习任务,同时满足约束的集合。同时满足约束的集合。同时满足约束的集合。

【技术实现步骤摘要】
【国外来华专利技术】利用权重共享的神经架构搜索
[0001]相关申请的交叉引用
[0002]本申请要求于2020年3月23日提交的美国专利申请序列号62/993,573的优先权,该申请的全部内容通过引用并入本文。

技术介绍

[0003]本说明书涉及确定神经网络的架构。
[0004]神经网络是采用一层或多层非线性单元来针对接收到的输入预测输出的机器学习模型。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一层——即,下一隐藏层或输出层——的输入。网络的每层根据相应参数的集合的当前值来从接收到的输入生成输出。

技术实现思路

[0005]本说明书描述了系统如何在一个或多个位所中的一个或多个计算机上被实施为计算机程序,所述计算机程序确定被配置为执行特定机器学习任务的神经网络的网络架构。
[0006]更具体地,系统确定在指定的资源约束的集合内执行机器学习任务的神经网络的架构。即,资源约束指定了神经网络在执行任务时消耗了多少计算资源的约束。
[0007]本说明书所描述的主题的特定实施例可以被实施,以便实现以下优点中的一个或多个。
[0008]在计算资源有限的设备上——例如移动设备、智能设备或其他边缘设备——执行机器学习任务需要既准确又计算高效的神经网络架构。例如,相同的具体神经网络架构如果被部署在速度较慢的设备上,则它可能又需要多于一个数量级的推断时间。此外,由于硬件和设备驱动器的差异,即使具有类似整体速度的两个设备(例如由不同制造商制造的智能电话CPU)也可能偏向非常不同的神经网络架构。因此,本说明书中描述的特定实施例的动机在于与如何确定针对具有特定硬件资源约束的具体设备优化的不同大小的神经网络架构以及如何在这种设备上实现这种模型的有效部署相关的考虑。
[0009]更具体地,所描述的技术可以被用于搜索神经网络的神经网络架构,该神经网络架构可以执行任务,同时满足资源消耗的资源约束,并因此识别可以被有效部署在一个或多个设备的目标集合上的单个架构或一系列架构,以计算具有目标时延或满足不同资源约束的推断。
[0010]具体地,本说明书中描述的新颖的奖励函数可以允许系统有效地识别出当被部署在目标设备上时既能在任务上表现良好又具有近似目标时延——即,目标时延可接受范围内的时延(或其他目标资源要求)——的架构。
[0011]而且,所描述的技术允许系统识别具有近似目标时延(或满足特定其他资源约束)的架构,同时消耗比用于搜索这种架构的现有技术少得多的计算资源。具体地,通过使用所描述的奖励函数,当接收到新的时延目标或部署在不同的设备集上时,通常十分计算密集
的超参数调整要求会被大大降低。
[0012]附加地,由搜索过程消耗的存储器量可以通过使用再具体化(rematerialization)显著减少,如下所述。
[0013]而且,通过下面称为滤波器预热和op预热的操作更有效地搜索搜索空间,所得架构的质量可以被提高。
[0014]本说明书所描述的主题的一个或多个实施例的细节是在下面的附图和描述中陈述的。主题的其他特征、方面和优点将通过描述、附图和权利要求而变得显而易见。
附图说明
[0015]图1示出了示例神经架构搜索系统。
[0016]图2是用于选择要被部署用于执行机器学习任务的神经网络的示例过程的流程图。
[0017]图3是用于执行联合更新的迭代的示例过程的流程图。
[0018]图4是用于执行架构搜索的预热阶段的示例过程的流程图。
[0019]在各个附图中,相同的附图标记和名称指示相同的元件。
具体实施方式
[0020]本说明书描述了在一个或多个位所中的一个或多个计算机上被实施为计算机程序的系统,以确定被配置为执行特定机器学习任务的神经网络的网络架构。
[0021]通常,系统通过搜索候选架构的空间来确定架构。空间中的每个候选架构都具有模型参数的共享集合的不同子集。换言之,每个候选架构都执行操作的集合,这些操作使用模型参数的共享集合的不同子集。每个候选架构具有的子集由对应的决策值的集合定义,该决策值的集合包括多个分类决策中的每个分类决策的相应决策值。换言之,分类决策的决策值指定哪些操作由候选架构执行,并相应地指定共享集合中的哪些模型参数由架构使用。
[0022]该系统通过联合更新(i)控制器策略参数的集合,所述控制器策略参数为多个分类决策中的每个分类决策定义相应概率分布,以及(ii)参数的共享集合来确定架构。在联合更新之后,系统可以使用更新后的控制器策略参数来选择一个或多个架构。
[0023]具体地,下面的描述描述了系统确定神经网络的架构,该神经网络当部署在一个或多个计算设备的特定目标集合上时以大约指定的目标时延——例如落在目标时延的指定范围内的时延——执行机器学习任务。
[0024]然而,更一般地,系统可以确定满足多种资源约束中的任何一种的架构,所述多种资源约束指定当部署在计算设备的目标集合上时执行任务时神经网络可以消耗多少计算资源。
[0025]作为示例,除了或代替用于执行输入或输入批量的推断的神经网络的运行时时延,约束的其他示例包括神经网络在执行任务时执行的每秒浮点运算(FLOPS)以及在部署用于执行任务时神经网络的存储器占用。
[0026]换言之,如果不同类型的计算资源消耗约束被使用,则下面描述的时延项可以被替换为类似结构的项,该类似结构的项在用于学习控制器策略参数的奖励函数中合并不同
的资源约束。
[0027]而且,下面的描述描述了机器学习任务是计算机视觉任务(也称为“图像处理任务”),并且候选架构空间是用于执行计算机视觉任务的卷积神经网络架构空间。
[0028]换言之,在下面的描述中,神经网络是卷积神经网络,它被配置为接收输入图像,并且处理输入图像以生成输入图像的网络输出,即,执行某种图像处理任务。在本说明书中,处理输入图像是指使用神经网络处理图像像素的强度值。
[0029]例如,任务可以是图像归类,并且由神经网络为给定图像生成的输出可以是对象分类的集合中的每个对象分类的分数,每个分数表示图像包含属于该分类的对象的图像的估计可能性。
[0030]作为另一示例,任务可以是图像嵌入生成,并且由神经网络生成的输出可以是输入图像的数字嵌入。
[0031]作为再一示例,任务可以是对象检测,并且由神经网络生成的输出可以识别输入图像中的描绘了特定类型的对象的位所,例如图像内的边界框或其他几何区域。
[0032]作为再一示例,任务可以是图像分割,并且由神经网络生成的输出可以为输入图像的每个像素定义该像素属于多个分类中的哪个分类。
[0033]然而,更一般地,所描述的技术可以被用于确定神经网络的架构,该架构可以执行多种任务中的任何一种,包括处理除图像之外的输入的任务。
[0034]作为示例,如果神经网络的输入是互联网资源(例如网页)、文档或文档的部分或者从互联网资源、文档或文档的部分中提取的特征,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种由一个或多个计算机执行的方法,所述方法包括:接收特定机器学习任务的训练数据和验证数据;接收指定用于执行所述特定机器学习任务的目标时延的数据;以及使用所述训练数据和所述验证数据,从候选架构的空间中选择要被部署用于执行所述机器学习任务的神经网络的架构,其中所述空间中的每个候选架构具有由决策值的对应集合定义的模型参数的共享集合的不同子集,所述决策值的对应集合包括多个分类决策中的每个分类决策的相应决策值,并且其中所述选择包括:联合更新(i)控制器策略参数的集合,所述控制器策略参数针对所述多个分类决策中的每个分类决策定义该分类决策的决策值上的相应概率分布,以及(ii)参数的所述共享集合,其中:更新控制器策略参数的所述集合包括通过强化学习更新控制器策略参数的所述集合以最大化奖励函数,所述奖励函数测量由决策值的集合定义的候选架构的估计质量和估计时延,决策值的所述集合是从使用所述控制器策略参数生成的概率分布采样的,所述奖励函数包括测量候选架构的所述估计质量的质量项以及基于将所述候选架构的所述估计时延与所述目标时延进行比较的项的绝对值的时延项,并且更新模型参数的所述共享集合包括更新模型参数的所述共享集合以优化目标函数,所述目标函数测量由决策值的所述集合定义的所述候选架构的所述特定机器学习任务的性能,决策值的所述集合是从使用所述控制器策略参数生成的所述概率分布采样的;以及在所述联合更新之后,选择由所述多个分类决策中的每个分类决策的相应特定决策值定义的候选架构作为所述神经网络的所述架构。2.根据权利要求1所述的方法,其中所述联合更新包括重复地执行包括以下的操作:根据所述控制器策略参数的当前值,生成所述多个分类决策中的每个分类决策相应概率分布,使用所述相应概率分布,选择所述多个分类决策中的每个分类决策的相应决策值,使用所述验证数据,确定具有下述候选架构的神经网络的所述特定机器学习任务的估计质量:该候选架构具有由所选择的分类决策的决策值定义的模型参数的所述共享集合的子集,其中所述质量根据由所选择的分类决策的决策值定义的模型参数的所述共享集合的所述子集的当前值来估计,使用所述验证数据,确定在执行具有下述候选架构的所述神经网络的所述特定机器学习任务时的估计时延:该候选架构具有由所选择的分类决策的决策值定义的模型参数的所述共享集合的所述子集,通过强化学习,确定对所述控制器策略参数的更新,所述更新基于所述估计质量和所述估计时延改进所述奖励函数,以及使用所述训练数据,通过优化所述特定机器学习任务的目标函数来确定对模型参数的所述共享集合的所述子集的当前值的更新,所述子集由所述分类决策共享参数的集合的所选择的决策定义。3.根据权利要求2所述的方法,其中确定对模型参数的所述共享集合的所述子集的当
前值的所述更新包括对来自所述训练数据的一批量的训练示例计算对所述当前值的梯度更新。4.根据权利要求2或权利要求3中任一项所述的方法,其中使用所述验证数据确定估计时延包括针对来自所述验证数据的一批量的验证示例中的每个验证示例确定具有所述候选架构的所述神经网络的时延。5.根据权利要求4所述的方法,其中所述目标时延是所述神经网络被部署在一个或多个计算设备的特定集合上时的目标时延,并且其中确定时延包括在具有所述候选架构的所述神经网络被部署在一个或多个计算设备的所述特定集合上时,针对所述一批量的验证示例中的每个验证示例确定时延。6.根据权利要求2至5中任一项所述的方法,其中使用所述验证数据来确定具有所述候选架构的所述神经网络的所述特定机器学习任务的估计质量包括对来自所述验证数据的一批量的验证示例确定具有所述候选架构的所述神经网络的质量。7.根据任一项前述权利要求所述的方法,其中所述奖励函数是所述质量项和所述时延项的总和。8.根据任一项前述权利要求所述的方法,其中将所述候选架构的所述估计时延与所述目标时延进行比较的所述项是(i)所述候选架构的所述估计时延和所述目标时延之间的比率与(ii)1之间的差异。9.根据任一项前述权利要求所述的方法,其中所述时延项是所述绝对值和负标量值的乘积。10.根据任一项前述权利要求所述的方法,其中在所述联合更新之后,选择由所述多个分类决策中的每个分类决策的相应特定决策值定义的候选架构作为所述神经网络的所述架构包括:针对所述分类决策中的每个分类决策,选择在该分类决策的所述概率分布中具有最高概率的决策值作为所述特定决策值。11.根据任一项前述权利要求所...

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

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

1