CN114556364A - 基于相似度运算符排序的神经架构搜索 - Google Patents

基于相似度运算符排序的神经架构搜索 Download PDF

Info

Publication number
CN114556364A
CN114556364A CN202080007125.0A CN202080007125A CN114556364A CN 114556364 A CN114556364 A CN 114556364A CN 202080007125 A CN202080007125 A CN 202080007125A CN 114556364 A CN114556364 A CN 114556364A
Authority
CN
China
Prior art keywords
layer
operators
operator
layers
similarity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080007125.0A
Other languages
English (en)
Inventor
李抱朴
范彦文
潘志宏
希滕
张刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu com Times Technology Beijing Co Ltd
Baidu USA LLC
Original Assignee
Baidu com Times Technology Beijing Co Ltd
Baidu USA LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Baidu com Times Technology Beijing Co Ltd, Baidu USA LLC filed Critical Baidu com Times Technology Beijing Co Ltd
Publication of CN114556364A publication Critical patent/CN114556364A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

网络架构搜索(NAS)受到了许多关注。基于超网的可区分方法由于其可以有效地共享权重并进行更有效的搜索而变得流行。然而,由权重共享导致的架构与权重之间的不匹配仍然存在。此外,不同运算符之间的关联效应也被忽略。为了缓解这些问题,本文提出通过基于相似度的运算符排序的有效的NAS方法的实施方式。为了近似超网中每层的输出,使用基于统计随机比较的基于相似度的运算符排序。在一个或多个实施方式中,可能引起特征分布差异的最小改变的运算符被剪枝。在一个或多个实施方式中,可以使用公平采样过程来减轻先前超网方法中频繁发生的运算符的Matthew效应。

Description

基于相似度运算符排序的神经架构搜索
技术领域
本公开总体上涉及可以提供改进的计算机性能、特征和用途的用于计算机学习的系统和方法。更具体地,本公开涉及克服传统神经架构搜索中的问题的有效方法。
背景技术
深度学习被认为是近来人工智能出现的最成功的事情。深度神经网络在诸如计算机视觉、自然语言处理、推荐系统等的领域中取得了巨大的成功。然而,在不同任务中设计特定的神经架构是具有挑战性的。神经架构搜索(NAS)方法的出现旨在使神经架构设计的过程自动化。沿着此新颖方向的早期工作倾向于应用强化学习(RL)方法来遍历巨大的搜索空间,以寻找可能的神经网络架构。然后,基于进化的方法已被进一步用于在大型搜索空间中获得可能的最优解。这两种方法都是计算密集型的,因为NAS被视为离散域中的黑盒优化问题,产生了大量的架构评估,并且因此运行速度非常慢,即使在最先进的GPU机器上也是如此。
为了缓解这一瓶颈,H.Liu、K.Simonyan和Y.Yang在“DARTS:DifferentiableArchitecture Search,”CoRR,abs/1806.09055,2018,URL:arxiv.org/abs/1806.09055中提出了一种称为DARTS的可区分方法,用于通过放宽对单元级结构的可能操作来加速对良好神经网络的搜索,这可以被认为是NAS领域中的突破,并且为许多后续工作打开了新的大门。在DARTS中,搜索包括一些节点的单元,其中可能的边缘表示不同的操作,作为整个神经网络的基本构建块,并且每个单元被表示为有向无环图(DAG)。表示操作重要性的架构参数可以通过梯度下降法在搜索过程中以及网络权重的训练过程中进行更新。由X.Dong和Y.Yang在“Searching for A Robust Neural Architecture in Four GPU Hours”(arXiv:1910.04465,2019年10月)中提出的使用可区分架构采样器(GDAS)的基于梯度的搜索,通过在训练过程中仅采样一个子图来进一步加速搜索过程。一些最新的工作通过应用均匀采样或贝叶斯方法进一步对超网进行采样。
目前基于梯度的搜索方法极大地促进了NAS的搜索效率,但是仍有很大的改进空间。首先,由权重共享而导致的架构与权重之间的不匹配仍然存在;这意味着在搜索过程中完全训练的独立模型和获得的模型之间存在性能差异,导致不一致问题。此外,在类似的运算符之中存在一些关联效应,这会降低搜索效率。
因此,需要有效地克服传统神经架构搜索中的问题的系统和方法。
发明内容
本公开的实施方式提供了用于执行神经网络架构搜索的计算机实现方法、系统和非暂时性计算机可读介质或媒介。
在第一方面,本公开的一些实施方式提供了一种用于执行神经网络架构搜索的计算机实现方法,该方法包括:为已经过预训练的超网的一组层中的每层赋予一组初始运算符,进行迭代直至达到停止条件,迭代包括对于超网的一组层中的每层,为超网的一组层中的每层保留的每个运算符确定相似度分数,去除超网的一组层中的每层中具有最小相似度分数的运算符,形成新模型,新模型的每层包括从超网的一组层中的对应层保留的运算符中选择的一组运算符,使用训练数据集来训练新模型,其中,作为训练的一部分,新模型中的至少一些权重被更新,以及对训练后的新模型使用验证数据集,为训练后的新模型的每层获取并记录在训练后的新模型的每层中所使用的运算符的相似度分数;以及响应于停止条件,输出最后一次迭代的训练后的新模型作为最终网络,最终网络包括用于最终网络的一组层中的每层的操作,其中停止条件包括一组层中的每层中存在阈值等级个数的或低于预定等级个数的运算符。
在第二方面,本公开的一些实施方式提供了一种系统,该系统包括一个或多个处理器和包括一组或多组指令的非暂时性计算机可读介质或媒介,该一组或多组指令在由该一个或多个处理器中的至少一个执行时使得执行以下步骤:为已经过预训练的超网的一组层中的每层赋予一组初始运算符,进行迭代直至达到停止条件,迭代包括对于超网的一组层中的每层,为超网的一组层中的每层保留的每个运算符确定相似度分数,去除超网的一组层中的每层中具有最小相似度分数的运算符,形成新模型,新模型的每层包括从超网的一组层中的对应层保留的运算符中选择的一组运算符,使用训练数据集来训练新模型,其中,作为训练的一部分,新模型中的至少一些权重被更新,以及对训练后的新模型使用验证数据集,为训练后的新模型的每层获取并记录在训练后的新模型的每层中所使用的运算符的相似度分数;以及响应于停止条件,输出最后一次迭代的训练后的新模型作为最终网络,最终网络包括用于最终网络的一组层中的每层的操作,其中停止条件包括一组层中的每层中存在阈值等级个数的或低于预定等级个数的运算符。
在第三方面,本公开的一些实施方式提供了一种包括一个或多个指令序列的非暂时性计算机可读介质或媒介,该一个或多个指令序列由该一个或多个处理器执行时使得执行以下步骤:为已经过预训练的超网的一组层中的每层赋予一组初始运算符,进行迭代直至达到停止条件,迭代包括对于超网的一组层中的每层,为超网的一组层中的每层保留的每个运算符确定相似度分数,去除超网的一组层中的每层中具有最小相似度分数的运算符,形成新模型,新模型的每层包括从超网的一组层中的对应层保留的运算符中选择的一组运算符,使用训练数据集来训练新模型,其中,作为训练的一部分,新模型中的至少一些权重被更新,以及对训练后的新模型使用验证数据集,为训练后的新模型的每层获取并记录在训练后的新模型的每层中所使用的运算符的相似度分数;以及响应于停止条件,输出最后一次迭代的训练后的新模型作为最终网络,最终网络包括用于最终网络的一组层中的每层的操作,其中停止条件包括一组层中的每层中存在阈值等级个数的或低于预定等级个数的运算符。
附图说明
将参考本公开的实施方式来进行说明,本公开的示例可以在附图中示出。这些附图是说明性的,而不是限制性的。尽管在这些实施方式的上下文中总体描述了本公开,但是应当理解,其并不旨在将本公开的范围限制于这些特定的实施方式。图中的项目可能未按比例绘制。
图1描绘了根据本公开实施方式的超网的有向无环表示的一部分。
图2描绘了根据本公开实施方式的用于预训练超网的方法。
图3描绘了根据本公开实施方式的使用运算符剪枝的网络架构搜索的方法。
图4描绘了根据本公开实施方式的下层的运算符分布。
图5描绘了根据本公开实施方式的中间层的运算符分布。
图6描绘了根据本公开实施方式的顶层的运算符分布。
图7描绘了根据本公开实施方式的计算设备/信息处理系统的简化框图。
具体实施方式
在以下描述中,出于解释的目的,阐述了具体细节以提供对本公开的理解。然而,对于本领域中技术人员显而易见的是,可以在没有这些细节的情况下实践本公开。此外,本领域中技术人员将认识到,以下描述的本公开的实施方式可以以多种方式来实现,诸如工艺、装置、系统、设备或有形计算机可读介质上的方法。
图中示出的组件或模块是本公开的示例性实施方式的说明,并且旨在避免混淆本公开。还应当理解,在整个讨论过程中,组件可以被描述为单独的功能单元,其可以包括子单元,但是本领域中技术人员将认识到,各个组件或其部分可以被划分为单独的组件或者可以被集成在一起,包括例如在单个系统或组件中。应注意,本文中所论述的功能或操作可以实施为组件。这些组件可以以软件、硬件或其组合来实施。
此外,附图中的组件或系统之间的连接不限于直接连接。准确地说,这些组件之间的数据可以由中间组件修改、重新格式化或以其它方式改变。此外,可以使用附加的或更少的连接。还应注意,术语“联接”、“连接”、“通信地联接”、“接合”、“接口”或它们的任何派生词应当被理解为包括直接连接、通过一个或多个中间设备的间接连接以及无线连接。还应当注意,诸如信号、响应、应答、确认、消息、查询等的任何通信可以包括一个或多个信息交换。
在说明书中提及的“一个或多个实施方式”、“优选实施方式”、“一个实施方式”、“实施方式”等意指结合实施方式描述的特定特征、结构、特性或功能被包括在本公开的至少一个实施方式中,并且可以被包括在多于一个实施方式中。此外,在说明书的各个地方出现的上述短语不必要指示相同的一个或多个实施方式。
在说明书中各个地方使用特定术语是为了极性说明,并且不应被解释为进行限制。服务、功能或资源不限于单个服务、单个功能或单个资源;使用这些术语可以指示相关服务、功能或资源的群组,它们可以是分散式的或聚类式的。术语“包括(include)”、“包括(including)”、“包含(comprise)”和“包含(comprising)”应被理解为开放式术语,并且以下的任何列表都是示例,而不意味着限于所列出的项目。“层”可以包括一个或多个操作。词语“最佳的”、“最佳化”、“最佳”等是指结果或过程的改进,并非要求特定的结果或过程已达到“最佳”或峰值状态。在本文中可以使用存储器、数据库、信息库、数据存储、表、硬件、缓存等用于指代信息可以输入或以其它方式记录到其中的一个或多个系统组件。
本领域中技术人员应认识到:(1)特定步骤可以被可选地执行;(2)步骤可以不限于本文中阐述的具体顺序;(3)特定步骤可以以不同的顺序执行;以及(4)特定步骤可以同时执行。
本文中使用的任何标题仅出于组织的目的,并且不应用于限制说明书或权利要求的范围。在本专利文献中提及的每个参考文献/文件通过引用以其整体并入本文中。
应注意,本文中提供的任何实验和结果通过说明的方式提供,并且使用一个或多个具体实施方案在具体条件下执行;因此,这些实验和它们的结果都不应用于限制本专利文件的公开范围。
A.总体介绍
如上所述,目前基于梯度的搜索方法至少存在几个问题。首先,由权重共享而导致的架构与权重之间的不匹配仍然存在;这意味着在搜索过程中完全训练的独立模型和获得的模型之间存在差异。其次,在相似运算符之中存在一些关联效应,这可能会降低搜索效率。
为了解决上述问题,本文提出了基于相似度的运算符排序的新型神经架构搜索方法。通过对运算符特征输出的差异进行建模,可以有效地评价不同运算符的性能。在搜索过程中,在一个或多个实施方式中,可以基于例如输出的相似度度量或测量来对这些运算符的贡献进行排序。在一个或多个实施方式中,最小贡献运算符可以被迭代地去除。在一个或多个实施方式中,通过考虑关联效应,可能导致类似效应的运算符可以首先被聚类。本文中的实施方式通过最小化分布差异来克服基于梯度的搜索方法的典型的双层优化。此外,相关联的运算符的聚类进一步提高了搜索效率。对一些数据集的初步测试证实了所测试的实施方式能够以高效率获得可比较的网络。
本公开的实施方式提供的一些贡献包括但不限于以下几点。首先,实施方式通过对超网的每层中的运算符输出的分布进行建模,提供基于运算符排序的有效架构搜索。先前的方法已经利用强化学习方法或基于进化的方法搜索了最佳运算符,这是非常耗时的。第二,实施方式有助于减轻失配效应。考虑到搜索过程中从头开始的输出特征的不一致,本文中的实施方式有效地减轻了失配问题。此外,用于超网训练的不同运算符的基于相似度的采样的实施方式可以进一步减轻这一具有挑战性的问题。第三,在一个或多个实施方式中,通过引入基于运算符的影响而仔细设计的训练过程实施方式来减轻Matthew效应(即,在早期阶段显示出更好性能的一些运算符获得更多的训练机会,而其它运算符将被不充分地训练)。本领域中技术人员将认识到本公开的一个或多个实施方式的其它有益效果。
B.方法实施方式
1.用于超网的特征分布差异
权重共享在NAS的早期阶段起着重要的作用,其可以避免整个搜索空间中每个网络先前的训练和评估的过程,这是基于NAS的早期工作计算时间长的主要原因。因此,可以假设超网包括所有可能的网络架构,并且超网应该被训练一次。然后,可以将经过训练的权重作为所有子网络架构的起始点,从而节省相当长的时间并提升高达1000倍的效率。
最近的基于单次的方法可以克服超网的训练过程中的关联效应,因为架构搜索与超网的训练过程去关联。在一个或多个实施方式中,从超网获得的网络架构的预测能力被利用。关于超网的大部分工作主要集中在超网训练上,而忽略了网络的特征表示能力。因此,本文中的一个或多个实施方式利用来自网络架构本身的特征表示能力的分析。
在一个或多个实施方式中,超网可以被表示为包括节点和边缘的有向无环图(DAG)。在一个或多个实施方式中,节点表示一个或多个运算符的特征输出,并且节点之间的可能的边缘连接表示层操作。图1描绘了根据本公开实施方式的超网的有向无环表示的一部分。如图所示,超网层或块115在相同选择块或超网中的层115中包括M个候选运算符(例如,通过操作110-M的操作110-1),其可以包括N个选择块。在所描绘的图示中,层115是两个节点(节点A105和节点B120)之间的边缘,其表示特征输出。在一个或多个实施方式中,当选择第j运算符时,超网中第i层的特征分布是Fij,并且期望的最佳特征分布是Pij,则搜索过程可以有如下形式:
Figure BDA0003121509760000071
Figure BDA0003121509760000072
其中,Dis(Fij,Pij)是超网中每层的特征分布之间的差异。在一个或多个实施方式中,特征分布差异可以是Kullback–Leibler(KL)差异。
2.基于相似度的特征输出排序实施方式
等式(1)的目标是当选择不同的运算符时,使超网的每层的输出尽可能地接近理想分布。实际上,超网的分布可能是难处理的。因此,为了使解决方案可行,在一个或多个实施方式中,可以使用作为特征输出的有效评估的输出特征相似度。
在一个或多个实施方式中,由于至少以下两个原因,使用超网的最终精确度可能不是不同层中的每个运算符的良好指标。首先,超网很难训练并获得最终的预测精确度。第二,不同层之中的关联效应可能影响每个运算符的能力或在最终精确度中的贡献。为了沿着每个运算符的输出特征图进行定量分析的方向获得上述问题的有效解决方案,一个或多个实施方式可以使用每个运算符的输出的相似度以及超网的选择块中的不同运算符的平均值:
Figure BDA0003121509760000081
其中,
Figure BDA0003121509760000082
表示超网的第l选择块/层中第j运算符的相似度分数,
Figure BDA0003121509760000083
表示超网的第l选择块/层中第j运算符的特征输出,以及Fl(O)是该块或层的相应的期望特征输出图,在一个或多个实施方式中,其可以近似为超网的选择块中不同运算符的平均值。
相似度提供了关于运算符对最终输出的贡献的有用提示;如此,其可以被视为每个运算符输出期望的特征图的能力的可靠衡量。实验还证实了其对于网络运行良好。为了公平地比较不同运算符,在一个或多个实施方式中,可以随机地选择第i运算符和第j运算符,并且当将这些运算符一起应用时,可以选择它们与超网的层的平均输出对应的相似度。对于一个选择块/层,如果第i运算符的相似度更接近于该层的平均输出(这意味着其具有更大的相似度分数),则可以说第i运算符比第j运算符好:
Figure BDA0003121509760000084
其中,
Figure BDA0003121509760000085
是层l处的第i运算符的相似度分数,
Figure BDA0003121509760000086
是层l处的第j运算符的相似度分数,
Figure BDA0003121509760000087
是层l处的第i运算符的输出,
Figure BDA0003121509760000088
是层l处的第j运算符的输出,以及Fl(O)是该层的平均输出。在一个或多个实施方式中,相似度可以是余弦相似度度量—应当注意,可以使用其它相似度或距离度量,包括但不限于L2或欧几里德距离。
在给定该信息的情况下,可以获得针对每层的不同运算符的排序列表。在搜索过程中,实施方式可以使用上述运算符输出图排序,并将每个块的列表中的最小的一个丢弃。在下述节中更详细地描述搜索方法的实施方式。
3.基于运算符影响的超网训练的实施方式
一个或多个实施方式中,操作剪枝的输入是预训练的超网。因此,本公开的一个方面包括训练超网的实施方式。在一个或多个实施方式中,超网可以被视作为包括节点和边缘的有向无环图。节点表示一组运算符的中间特征输出,并且每两个节点之间的可能的边缘连接具有n个可能的选择,其中,n表示运算符的数量。例如,在超网的构建过程中可以考虑以下运算符(n=8):
1.恒等;
2.3×3平均池化;
3.3×3最大池化;
4.3×3可分离卷积;
5.5×5可分离卷积;
6.3×3膨胀卷积;
7.5×5膨胀卷积;以及
8.零(即,无操作)。
对于超网的训练过程,针对两个节点之间的每个连接或块中的选择,在一个或多个实施方式中,可以在正向过程中选择所有n个运算符。在训练步骤中,对运算符进行公平采样,以减轻Matthew效应的问题。因此,为了对运算符进行公平采样,实施方式利用基于运算符影响的采样。
对于不同的运算符Oi(其中,i是[1,n]),运算符的影响可以基于如下定义的相似度:
Figure BDA0003121509760000091
其中,Sij是相同选择块/层中的运算符Oi和运算符Oj的相似度,这与等式(2)不同,因为这里直接考虑两个运算符。应注意,在一个或多个实施方式中,可以在一个运算符和一组其它运算符之间进行比较。在一个或多个实施方式中,其它运算符的值可以被组合,并使用等式(4)或其变体与Oi进行比较,其中j表示运算符的组合。可选地,可以计算Oi与组中的每个其它运算符之间的成对相似度,并且将值组合。本领域中的技术人员将认识到,可应用于本文中的采样过程实施方式的确定影响值的其它方式。
给定Q次的迭代次数,在一个或多个实施方式中,每个运算符(Qi)的采样时间满足以下条件:
Figure BDA0003121509760000101
在一个或多个实施方式中,Q次迭代中每个运算符的总影响可以进一步限定为Qi*Ii
在一个或多个实施方式中,为了确保在该过程中不同运算符的公平影响,定义以下等式来保持:
Figure BDA0003121509760000102
因此,可以用以下解决方案获得不同的采样时间Qi
Figure BDA0003121509760000103
因此,针对超网训练中的每个选择块获得了公平的采样过程,从而减轻了Matthew效应。应注意,等式(5)-(7)针对其中每次迭代采样两个运算符的实施方式。如果对不同数量的运算符p进行采样,则可以相应地调整等式。例如,相应的等式中的
Figure BDA0003121509760000104
应替换为
Figure BDA0003121509760000105
图2描绘了根据本公开实施方式的用于预训练超网的方法。在一个或多个实施方式中,针对超网的一组层中的每层/块设置一组超网运算符(205);应注意,在一个或多个实施方式中,超网的一个或多个层可以不包括在此过程中。例如,运算符可以是八个运算符的集合(诸如以上列出的运算符),尽管也可以选择其它运算符和不同数量的运算符。
在一个或多个实施方式中,确定超网的每层中的每个运算符的相似度分数(210)。可以使用参考等式(4)所描述的相似度。例如,在一个或多个实施方式中,可以确定两个运算符的特征输出之间的余弦相似度。如果该迭代是第一次迭代,并且没有可以根据其计算相似分数的特征输出值,则可以初始化相似度分数。在一个或多个实施方式中,相似度分数可以被随机地初始化或被初始化为相同的值。给定相似度分数,可以计算每层中的每个运算符的影响(215)。在一个或多个实施方式中,可以使用诸如等式(4)的等式来计算影响值。对于每个选择层,基于它们的影响对运算符进行采样以选择运算符子集(例如,每层两个或更多运算符)(220)。在一个或多个实施方式中,可以如以上关于等式(5)-(7)所讨论的来执行采样。在一个或多个实施方式中,相同或不同的运算符子集可以用于不同的层。
给定采样/选择的运算符,则可以使用训练数据集训练具有所选择的运算符子集的训练模型(225),直至达到停止条件(230)。在一个或多个实施方式中,停止条件可以包括:(1)已经执行了设定的迭代次数;(2)已经达到处理时间的量;(3)收敛(例如,连续迭代之间的差小于第一阈值);(4)发散(例如,性能劣化);以及(5)已经达到了可接受的结果(例如,基于验证的超网的性能足够好)。
如果已经达到停止条件,则输出经过预训练的超网(235)。在一个或多个实施方式中,还可以输出相似度值。
应注意,超网训练(预训练)的实施方式不是如在DARTS或一些其它相关方法中的双层优化问题,因为在超网训练过程中没有考虑公共架构更新步骤。即,在每个选择块中利用一组运算符来构建超网,并且在一些时间点之后(利用例如关于权重更新的直接随机梯度下降(SGD))来训练该超网。因此,与DARTS相关的超网方法相比,超网的预训练过程是相当快的。
当预训练完成时,对于超网的一组层中的每层,其具有n个可能的路径,其中n表示该层的运算符的数量。在一个或多个实施方式中,可以应用每个选择层中的后续运算符剪枝过程来有效地找到期望的子网络。下一节给出了操作剪枝的示例性实施方式。
4.NAS实施方式的运算符剪枝
在本节中给出了基于超网的运算符剪枝方法的实施方式。图3描绘了根据本公开实施方式的使用运算符剪枝的网络架构搜索的方法。如图所示,接收或确定具有针对每层的一组初始运算符的超网(305)。在一个或多个实施方式中,超网可以是经预训练的超网,其可以如上所述进行预训练。
针对该层保留的每个运算符,确定超网的该层的相似度分数(310)。在一个或多个实施方式中,可以使用例如等式(2)和来自预训练或其它来源的数据(诸如初始化)来获得相似度分数。在一个或多个实施方式中,在第一次迭代期间,所有初始运算符都存在,但是随着迭代过程,运算符将被移除;因此,将确定保留运算符的相似度分数。此外,随着迭代过程,确定相似度分数可以从先前迭代的验证中获得(步骤330)。
在一个或多个实施方式中,对于每层,超网的该层中具有最小相似度分数的运算符被丢弃或剪枝(315),并且形成新模型,对于每层,该新模型包括从该层保留的运算符中选择的一组运算符(320)。在一个或多个实施方式中,该组运算符可以是该层保留的所有运算符或其子集。
使用训练数据集来训练该新模型,其中,作为训练的一部分,新模型中的至少一些权重被更新(325),如通常在机器学习过程中所做的那样。如上所述,可以使用停止条件来确定何时停止对该新模型的训练。
然后可以在经过训练的新模型上使用验证数据集,以针对经过训练的新模型的每层获得并记录在各层中使用的运算符的相似度分数(330)。如上所述,这些相似度分数可以用于在步骤310的下一次迭代中。
在一个或多个实施方式中,进行检查以确定层中保留的运算符的数量是否高于阈值数量(335)。在一个或多个实施方式中,阈值数量可以是每层一个运算符,但是可以使用不同的数量,并且不同的层可以具有不同的阈值数量。响应于至少一个层具有超过阈值数量的保留的运算符,过程返回步骤310进行迭代。
响应于每层存在的适当数目的运算符,输出最后迭代的经训练的新模型作为最终网络(340)。
5.相关运算符聚类的实施方式
应注意,在一个或多个实施方式中,可以在以上过程中的一个或多个中使用聚类以帮助减小搜索空间。在一个或多个实施方式中,可以首先聚类可以导致类似效果的运算符。例如,如果层运算符包括3×3卷积、5×5卷积和7×7卷积,则可以选择5×5卷积作为其它卷积的代表,从而将这些运算符聚类为单个运算符,并减少搜索空间。在一个或多个实施方式中,聚类决策可以基于实验结果、专业知识或其组合。因此,相关运算符的聚类可以用于进一步提高本文中实施方式的搜索效率。
C.实验结果
应注意,这些实验和结果是通过说明的方式提供的,并且使用一个或多个具体实施方式在具体条件下执行;因此,这些实验和它们的结果都不应用于限制本专利文件的公开范围。在实验中,由于余弦距离的简单性和有效性,把余弦距离作为相似度的评价。
1.运算符一致性
为了验证本文中提出的运算符相似度的有效性,进行了一些实验以证明其在超网训练过程中相似度的排序一致性。图4、图5和图6示出了在基于20个单元构建的超网的下、中、上部分中的随机的不同层中搜索过程中的运算符的概率分布。从这些图中可以注意到,无论运算符在整个网络中处于哪个层,它们在相似度方面都趋于一致。
2.结果
数据集是典型的基准数据集,其包括10个类别的约60000个彩色图像,每个类别包括约6000个图像。该数据集可以用于图像分类测试。本文中介绍的方法的实施方式被应用于数据集,并且获得了97.18%的有前景的精确度。
D.一些结论
NAS是近来流行的研究课题,基于超网的方法大多采用权重共享的一般方法来降低搜索成本。本文中首次提出了对超网中每个运算符的影响进行分析的实施方式。还提出了简单和有效的NAS方法的实施方式。在一个或多个实施方式中,每个运算符与不同运算符的平均输出的相似度被用作超网中不同运算符的排序标准。在一个或多个实施方式中,基于相似度的比较过程确保排序性能。为了进一步减少搜索过程,还可以应用运算符聚类过程。
A.计算系统实施方式
在一个或多个实施方式中,本专利文件的各方面可以涉及、包括一个或多个信息处理系统(或计算系统),或者可以在一个或多个信息处理系统(或计算系统)上实施。信息处理系统/计算系统可以包括可操作用于计算、估算、确定、分类、处理、发送、接收、检索、发起、路由、切换、存储、显示、通信、清单、检测、记录、复制、处理或利用任何形式的信息、情报或数据的任何工具或工具的集合。例如,计算系统可以是或可以包括个人计算机(例如,膝上型计算机)、平板计算机、移动设备(例如,个人数字助理(PDA)、智能电话、平板手机、平板电脑等)、智能手表、服务器(例如,刀片式服务器或机架式服务器)、网络存储设备、照相机或任何其它合适的设备,并且其可以在大小、形状、性能、功能和价格上变化。计算系统可以包括随机存取存储器(RAM)、一个或多个处理资源(诸如中央处理单元(CPU)或硬件控制逻辑或软件控制逻辑)、只读存储器(ROM)和/或其它类型的存储器。计算系统的附加组件可以包括一个或多个磁盘驱动器,用于与外部设备以及各种输入和输出(I/O)设备(诸如键盘、鼠标、手写笔、触摸屏和/或视频显示器)通信的一个或多个网络端口。计算系统还可以包括一个或多个总线,用于在各种硬件组件之间传输通信。
图7描绘了根据本公开实施方式的信息处理系统(或计算系统)的简化框图。应当理解,系统700所示的功能可以操作用于支持计算系统的各种实施方式—尽管应当理解,计算系统可以被不同地配置并且包括不同的组件,包括具有比如图7所示的更少或更多的组件。
如图7所示,计算系统700包括一个或多个中央处理单元(CPU)701,其提供计算资源并控制计算机。CPU 701可以用微处理器等来实施,并且还可以包括用于数学计算的一个或多个图形处理单元(GPU)702和/或浮点协处理器。在一个或多个实施方式中,可在显示控制器709内并入一个或多个GPU 702,诸如作为一个或多个显卡的一部分。系统700还可包括系统存储器719,其可以包括RAM、ROM或两者。
如图7所示,也可以提供多个控制器和外围设备。输入控制器703表示与诸如键盘、鼠标、触摸屏和/或手写笔的各种输入设备704的接口。计算系统700还可以包括用于与一个或多个存储设备708接口的存储控制器707,所述一个或多个存储设备708中的每个包括诸如磁带或磁盘的存储介质或光学介质,其可以用于记录用于操作系统、实用程序和应用程序的指令的程序,该程序可以包括实现本公开的各个方面的程序的实施方式。存储设备708也可以用于存储根据本公开的经处理的数据或待处理的数据。系统700还可以包括显示控制器709,用于提供与显示设备711的接口,显示设备711可以是阴极射线管(CRT)显示器、薄膜晶体管(TFT)显示器、有机发光二极管、电致发光面板、等离子体面板或任何其它类型的显示器。计算系统700还可以包括用于一个或多个外围设备706的一个或多个外围控制器或接口705。外围设备的示例可以包括一个或多个打印机、扫描仪、输入设备、输出设备、传感器等。通信控制器714可以与一个或多个通信设备715接口,这使得系统700能够通过包括因特网、云资源(例如,以太网云、以太网光纤信道(FCoE)/数据中心桥接(DCB)云等)、局域网(LAN)、广域网(WAN)、存储区域网(SAN)或通过任何合适的电磁载波信号(包括红外信号)连接到远程设备。如所描绘的实施方式所示,计算系统700包括一个或多个风扇或风扇托盘718以及一个或多个冷却子系统控制器717,所述冷却子系统控制器717监测系统700(或其组件)的热温度并操作风扇/风扇托盘718以帮助调节温度。
在所示系统中,所有主要系统组件可以连接至总线716,所述总线716可以表示多个物理总线。然而,各种系统组件可以彼此物理上接近或物理上不接近。例如,输入数据和/或输出数据可以从一个物理位置远程传输至另一物理位置。此外,可以通过网络从远程位置(例如,服务器)访问实现本公开的各个方面的程序。这些数据和/或程序可以通过各种机器可读介质中的任何一种来传送,所述机器可读介质例如包括:诸如硬盘、软盘和磁带的磁介质;诸如CD-ROM和全息设备的光学介质;磁光介质;以及被专门配置为存储或存储并执行程序代码的诸如专用集成电路(ASIC)、可编程逻辑设备(PLD)、闪存设备、其它非易失性存储器(NVM)设备(诸如基于3D XPoint的设备)以及ROM和RAM设备的硬件设备。
本公开的各方面可以利用用于一个或多个处理器或处理单元的指令在一个或多个非暂时性计算机可读介质上进行编码来执行各步骤。应注意,一个或多个非暂时性计算机可读介质应当包括易失性和/或非易失性存储器。应注意,替代的实施方案是可能的,包括硬件实施方案或软件/硬件实施方案。硬件实施功能可以使用ASIC、可编程阵列、数字信号处理电路等来实现。因此,任何权利要求中的“手段”术语旨在覆盖软件实施方案和硬件实施方案。类似地,如本文中使用的术语“计算机可读介质或媒介”包括其上实施有指令程序的软件和/或硬件或其组合。考虑到这些实施方案的替代,应理解,附图和所附说明书提供了本领域中技术人员编写程序代码(即,软件)和/或制造电路(即,硬件)以执行所需处理而需要的功能信息。
应注意,本公开的实施方式还可以涉及具有非暂时性、有形计算机可读介质的计算机产品,所述介质上具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开的目的而专门设计和构造的,或者它们可以是相关领域中技术人员已知或可用的类型。有形计算机可读介质的示例例如包括:诸如硬盘、软盘和磁带的磁介质;诸如CD-ROM和全息设备的光学介质;磁光介质;以及被专门配置为存储或存储并执行程序代码的诸如专用集成电路(ASIC)、可编程逻辑设备(PLD)、闪存设备、其它非易失性存储器(NVM)设备(诸如基于3D XPoint的设备)以及ROM和RAM设备的硬件设备。计算机代码的示例包括诸如由编译器产生的机器代码以及包括由使用解释器的计算机执行的更高级代码的文件。本公开的实施方式可以全部或部分地作为机器可执行指令来实现,所述机器可执行指令可以在由处理设备执行的程序模块中。程序模块的示例包括库、程序、例程、对象、组件和数据结构。在分布式计算环境中,程序模块可以物理上位于本地、远程或两者的设置中。
本领域中技术人员将认识到,对于本公开的实践,计算系统或编程语言不是关键的。本领域中技术人员还将认识到,上述的多个元件可以物理上和/或功能上分离成模块和/或子模块或组合在一起。
本领域中技术人员应理解,前述示例和实施方式是示例性的,而非限制本公开的范围。在阅读本说明书和研究附图后,对于本领域中技术人员显而易见的所有置换、增强、等同、组合和其改进都包括在本公开的真实精神和范围内。还应注意,任何权利要求的元件可以被不同地布置,包括具有多个依赖关系、配置和组合。

Claims (20)

1.用于执行神经网络架构搜索的计算机实现方法,包括:
为已经过预训练的超网的一组层中的每层赋予一组初始运算符,进行迭代直至达到停止条件,所述迭代包括:
对于所述超网的一组层中的每层:
为所述超网的一组层中的每层保留的每个运算符确定相似度分数;以及
去除所述超网的一组层中的每层中具有最小相似度分数的运算符;
形成新模型,所述新模型的每层包括从所述超网的一组层中的对应层保留的运算符中选择的一组运算符;
使用训练数据集来训练所述新模型,其中,作为所述训练的一部分,所述新模型中的至少一些权重被更新;以及
对所述训练后的新模型使用验证数据集,为所述训练后的新模型的每层获取并记录在所述训练后的新模型的每层中所使用的运算符的相似度分数;以及
响应于停止条件,输出最后一次迭代的所述训练后的新模型作为最终网络,所述最终网络包括用于所述最终网络的一组层中的每层的操作,其中所述停止条件包括:所述一组层中的每层中存在阈值等级个数的或低于预定等级个数的运算符。
2.根据权利要求1所述的计算机实现方法,其中,所述相似度分数表示一层中的运算符的特征输出相对于所述一层中的多个运算符的组合特征输出的相似程度。
3.根据权利要求2所述的计算机实现方法,其中,所述相似度分数是余弦相似度值或其它基于距离的相似度度量。
4.根据权利要求1所述的计算机实现方法,其中,所述超网通过执行以下步骤来进行预训练:
进行迭代直至达到停止条件,所述迭代包括:
为所述超网的一组层中的每层中的一组运算符中的每个运算符确定比较相似度分数;
对于所述一组层中的每层,计算所述每个运算符的影响值;
对于所述一组层中的每层,基于所述每个运算符的影响值对所述运算符进行采样,以选择出形成模型的运算符子集;以及
使用训练数据集训练具有所述选择出的运算符子集的所述模型;以及
响应于已经达到所述停止条件,输出所述超网,所述超网的一组层中的每层中的一组运算符中的至少一些被预训练。
5.根据权利要求4所述的计算机实现方法,其中,所述超网的一层中的运算符的比较相似度分数表示所述一层中的运算符的特征输出相对于所述一层中的单个其它运算符的特征输出或相对于所述一层中的多个运算符的特征输出的相似度度量。
6.根据权利要求5所述的计算机实现方法,其中,计算所述每个运算符的影响值的步骤包括:
通过组合一层中的运算符和每个其它运算符之间的比较相似度分数来确定所述一层中的每个运算符的影响值。
7.根据权利要求6所述的计算机实现方法,其中,基于所述每个运算符的影响值对一层中的所述运算符进行采样包括:
基于比例来确定采样,所述比例包括所述运算符的每次影响的总迭代除以所述层的所述运算符的影响的倒数之和。
8.根据权利要求1所述的计算机实现方法,其中,采样可以通过以下确定:
对于至少一个层,通过去除在功能上与所述一组初始运算符中的另一运算符相似的一个或多个运算符来减少所述一组初始运算符。
9.系统,包括:
一个或多个处理器;以及
包括一组或多组指令的非暂时性计算机可读介质或媒介,所述一组或多组指令在由所述一个或多个处理器中的至少一个执行时使得执行以下步骤:
为已经过预训练的超网的一组层中的每层赋予一组初始运算符,进行迭代直至达到停止条件,所述迭代包括:
对于所述超网的一组层中的每层:
为所述超网的一组层中的每层保留的每个运算符确定相似度分数;以及
去除所述超网的一组层中的每层中具有最小相似度分数的运算符;
形成新模型,所述新模型的每层包括从所述超网的一组层中的对应层保留的运算符中选择的一组运算符;
使用训练数据集来训练所述新模型,其中,作为所述训练的一部分,所述新模型中的至少一些权重被更新;以及
对所述训练后的新模型使用验证数据集,为所述训练后的新模型的每层获取并记录在所述训练后的新模型的每层中所使用的运算符的相似度分数;以及
响应于停止条件,输出最后一次迭代的所述训练后的新模型作为最终网络,所述最终网络包括用于所述最终网络的一组层中的每层的操作,其中所述停止条件包括:所述一组层中的每层中存在阈值等级个数的或低于预定等级个数的运算符。
10.根据权利要求9所述的系统,其中,所述相似度分数表示一层中的运算符的特征输出相对于所述一层中的多个运算符的组合特征输出的相似程度。
11.根据权利要求9所述的系统,其中,所述超网通过执行以下步骤来进行预训练:
进行迭代直至达到停止条件,所述迭代包括:
为所述超网的一组层中的每层中的一组运算符中的每个运算符确定比较相似度分数;
对于所述一组层中的每层,计算所述每个运算符的影响值;
对于所述一组层中的每层,基于所述每个运算符的影响值对所述运算符进行采样,以选择出形成模型的运算符子集;以及
使用训练数据集训练具有所述选择出的运算符子集的所述模型;以及
响应于已经达到所述停止条件,输出所述超网,所述超网的一组层中的每层中的一组运算符中的至少一些被预训练。
12.根据权利要求11所述的系统,其中,所述超网的一层中的运算符的比较相似度分数表示所述一层中的运算符的特征输出相对于所述一层中的单个其它运算符的特征输出或相对于所述一层中的多个运算符的特征输出的相似度度量。
13.根据权利要求12所述的系统,其中,计算所述每个运算符的影响值的步骤包括:
通过组合一层中的运算符和每个其它运算符之间的比较相似度分数来确定所述一层中的每个运算符的影响值。
14.根据权利要求13所述的系统,其中,基于所述每个运算符的影响值对一层中的所述运算符进行采样包括:
基于比例来确定采样,所述比例包括所述运算符的每次影响的总迭代除以所述层的所述运算符的影响的倒数之和。
15.根据权利要求9所述的系统,其中,采样可以通过以下确定:
对于至少一个层,通过去除在功能上与所述一组初始运算符中的另一运算符相似的一个或多个运算符来减少所述一组初始运算符。
16.包括一个或多个指令序列的非暂时性计算机可读介质或媒介,所述一个或多个指令序列在由一个或多个处理器执行时使得执行以下步骤:
为已经过预训练的超网的一组层中的每层赋予一组初始运算符,进行迭代直至达到停止条件,所述迭代包括:
对于所述超网的一组层中的每层:
为所述超网的一组层中的每层保留的每个运算符确定相似度分数;以及
去除所述超网的一组层中的每层中具有最小相似度分数的运算符;
形成新模型,所述新模型的每层包括从所述超网的一组层中的对应层保留的运算符中选择的一组运算符;
使用训练数据集来训练所述新模型,其中,作为所述训练的一部分,所述新模型中的至少一些权重被更新;以及
对所述训练后的新模型使用验证数据集,为所述训练后的新模型的每层获取并记录在所述训练后的新模型的每层中所使用的运算符的相似度分数;以及
响应于停止条件,输出最后一次迭代的所述训练后的新模型作为最终网络,所述最终网络包括用于所述最终网络的一组层中的每层的操作,其中所述停止条件包括:所述一组层中的每层中存在阈值等级个数的或低于预定等级个数的运算符。
17.根据权利要求16所述的非暂时性计算机可读介质或媒介,其中,所述相似度分数表示一层中的运算符的特征输出相对于所述一层中的多个运算符的组合特征输出的相似程度。
18.根据权利要求16所述的非暂时性计算机可读介质或媒介,其中,所述超网通过执行以下步骤来进行预训练:
进行迭代直至达到停止条件,所述迭代包括:
为所述超网的一组层中的每层中的一组运算符中的每个运算符确定比较相似度分数;
对于所述一组层中的每层,计算所述每个运算符的影响值;
对于所述一组层中的每层,基于所述每个运算符的影响值对所述运算符进行采样,以选择出形成模型的运算符子集;以及
使用训练数据集训练具有所述选择出的运算符子集的所述模型;以及
响应于已经达到所述停止条件,输出所述超网,所述超网的一组层中的每层中的一组运算符中的至少一些被预训练。
19.根据权利要求18所述的非暂时性计算机可读介质或媒介,其中,所述超网的一层中的运算符的比较相似度分数表示所述一层中的运算符的特征输出相对于所述一层中的单个其它运算符的特征输出或相对于所述一层中的多个运算符的特征输出的相似度度量。
20.根据权利要求19所述的非暂时性计算机可读介质或媒介,其中,计算所述每个运算符的影响值的步骤包括:
通过组合一层中的运算符和每个其它运算符之间的比较相似度分数来确定所述一层中的每个运算符的影响值。
CN202080007125.0A 2020-09-18 2020-09-18 基于相似度运算符排序的神经架构搜索 Pending CN114556364A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/116204 WO2022056841A1 (en) 2020-09-18 2020-09-18 Neural architecture search via similarity-based operator ranking

Publications (1)

Publication Number Publication Date
CN114556364A true CN114556364A (zh) 2022-05-27

Family

ID=80741644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080007125.0A Pending CN114556364A (zh) 2020-09-18 2020-09-18 基于相似度运算符排序的神经架构搜索

Country Status (3)

Country Link
US (1) US20220092381A1 (zh)
CN (1) CN114556364A (zh)
WO (1) WO2022056841A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117195951B (zh) * 2023-09-22 2024-04-16 东南大学 一种基于架构搜索和自知识蒸馏的学习基因继承方法
CN117171577B (zh) * 2023-11-02 2024-03-22 之江实验室 一种高性能算子选择的动态决策方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9165035B2 (en) * 2012-05-10 2015-10-20 Microsoft Technology Licensing, Llc Differential dataflow
US9324040B2 (en) * 2013-01-30 2016-04-26 Technion Research & Development Foundation Limited Training ensembles of randomized decision trees
EP3268870A4 (en) * 2015-03-11 2018-12-05 Ayasdi, Inc. Systems and methods for predicting outcomes using a prediction learning model
US10970628B2 (en) * 2015-11-09 2021-04-06 Google Llc Training neural networks represented as computational graphs
CN111338635B (zh) * 2020-02-20 2023-09-12 腾讯科技(深圳)有限公司 计算图的图编译方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2022056841A1 (en) 2022-03-24
US20220092381A1 (en) 2022-03-24

Similar Documents

Publication Publication Date Title
CN111191732B (zh) 一种基于全自动学习的目标检测方法
US11651286B2 (en) Method and system for distributed machine learning
CN111967294B (zh) 一种无监督域自适应的行人重识别方法
CN108564129B (zh) 一种基于生成对抗网络的轨迹数据分类方法
WO2022121289A1 (en) Methods and systems for mining minority-class data samples for training neural network
CN110851645B (zh) 一种基于深度度量学习下相似性保持的图像检索方法
CN112232413B (zh) 基于图神经网络与谱聚类的高维数据特征选择方法
KR102305568B1 (ko) 일정한 처리 시간 내에 k개의 극값을 찾는 방법
CN116261731A (zh) 基于多跳注意力图神经网络的关系学习方法与系统
CN110619059B (zh) 一种基于迁移学习的建筑物标定方法
CN108536784B (zh) 评论信息情感分析方法、装置、计算机存储介质和服务器
CN110866134B (zh) 一种面向图像检索的分布一致性保持度量学习方法
CN107220368B (zh) 图像检索方法及装置
CN112765415A (zh) 基于关系内容联合嵌入卷积神经网络的链路预测方法
CN114556364A (zh) 基于相似度运算符排序的神经架构搜索
CN114298122A (zh) 数据分类方法、装置、设备、存储介质及计算机程序产品
CN114299362A (zh) 一种基于k-means聚类的小样本图像分类方法
CN115618096A (zh) 内积检索方法和电子设备
CN116383422B (zh) 一种基于锚点的无监督跨模态哈希检索方法
CN116595543A (zh) 一种基于互联网平台用软件开发应用数据的处理系统
CN111144469A (zh) 基于多维关联时序分类神经网络的端到端多序列文本识别方法
JP2016014990A (ja) 動画像検索方法、動画像検索装置及びそのプログラム
Bahrami et al. Image concept detection in imbalanced datasets with ensemble of convolutional neural networks
CN113707213A (zh) 基于深度学习的蛋白质-配体结合位点预测方法
JP2017021606A (ja) 動画像検索方法、動画像検索装置及びそのプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination