从NAS到Apollo,优化方法如何助力设计空间探索
摘要
不管是AutoML中的自动化调参和神经架构搜索(Neural Architecture Search, NAS),还是Google在硬件架构设计方面的最新研究工作[1],优化方法都在空间设计探索中扮演着非常重要的角色。优化方法种类繁多,适用场景也可能会不同。本文借助当前热门研究方向NAS的空间设计问题,开展了对主流优化方法的研究,主要内容包括优化方法类别(黑盒子优化、可微分方法以及其他加速方法)、NAS公开数据集、拓展思考等。
因篇幅较长,此次研究分为两部分。本篇为第一部分,主要研究和分析了黑盒子优化(Black-box optimization, BBO),以及用于NAS空间设计的三种主流黑盒子优化方法,即进化算法(Evolutionary algorithm)、强化学习(Reinforcement learning)、贝叶斯优化(Bayesian optimization)。在后续的第二部分中,将研究基于可微分的非黑盒子方法DARTS(Darts : Differentiable architecture search),以及避免重复从零开始训练的“weight sharing”等优化加速思想,并对现有优化方法进行评述。
黑盒子优化
图1:黑盒子优化
进化算法(Evolutionary algorithm,EA)
进化算法的基本思想是,从给定群体中选择适应性较强的子种群作为进化的样本,通过基因遗传等方式产生新个体,然后根据某种评估标准对新旧个体进行筛选,从而得到具有多样性、适应能力更强的新种群。图2包含了进化算法的四个主要步骤:选择(Selection)、交叉(Crossover)、变异(Mutation)、更新(Update),很多变种方法都是在其中一个或者多个步骤进行调整,如文[2]在update时引入”age”属性,使新种群中最大程度地保留新个体。在上述步骤中,交叉、变异是两个比较重要的基因遗传操作,现做简单介绍如下:
交叉:针对两个配体的基因序列,在每个序列上选择一定数量(可以是1个或者是多个)的交叉点,并进行相应位置的基因互换。在图3(a)中,分别对双亲基因在第三个基因座的基因值进行了互换。交叉方式有多种方式,根据交叉位置的数量可分为单点交叉、两点交叉、多点交叉;如果两个配对个体的每个基因座上都以相同的交叉概率进行交叉,则称之为均匀交叉;如果两个配体随机产生两个交叉点,然后按照随机产生的整数进行基因互换,则称为均匀两点交叉。 变异:针对单个个体的基因序列的某些基因值做出修改。一般的流程是,对种群内的所有个体以事先设定的变异概率判断是否进行变异,然后对进行变异的个体随机选择基因座进行变异。在图3(b)中,将第三个基因座的基因值0替换成1。
在使用进化算法时,需要先完成相关优化问题到基因式编码的处理。例如,在将进化算法用于NAS时,首先需要对神经网络结构进行编码。文[3]采用二进制编码(如图4中的1-00-111)来描述一个神经网络结构,其中节点表示对输入数据或者前一层输出数据的操作,如卷积核大小为3x3的卷积操作 conv 3x3。然后,根据操作的先后顺序绘制相应的有向图,其中连接节点的边表示前后紧邻的两个操作。文[3]按照图中两个节点之间是否有边定义二进制序列,1代表相邻两个节点有边连接;反之,则无。如果将这个二进制序列中的1变异为0,表示对应的两个卷积操作失去现有的操作顺序。在完成二进制编码之后,进化方法中的交叉、变异等基因遗传操作同样适用于NAS中的二进制序列,不同基因值的序列对应于不同的神经网络结构。
强化学习(Reinforcement learning)
贝叶斯优化(Bayesian optimization)
[1]Yazdanbakhsh, Amir,et al."Apollo:Transferable Architecture Exploration." arXiv: 2102.01723.
[2]Real,Esteban,et al."Regularized evolution for image classifier architecture search." AAAI, 2019.
[3]Xie,Lingxi,et al."Genetic CNN.", ICCV 2017.
[4]Zoph,Barret,et al."Neural architecture search with reinforcement learning." ICLR, 2017.
[5]Zhou,Yanqi, et al."Rethinking co-design of neural architectures and hardware accelerators." arXiv:2102.08619.
[6]Brochu,Eric, et al."A tutorial on Bayesian optimization of expensive cost functions,with application to active user modeling and hierarchical reinforcement learning." arXiv:1012.2599.
[7]Kandasamy,Kirthevasan,et al."Neural architecture search with Bayesian optimisation and optimal transport.", NeurIPS 2018.
[8]Wong,Catherine,et al."Transfer learning with neural AutoML.", NeurIPS 2018.
壁仞科技研究院作为壁仞科技的前沿研究部门,旨在研究新型智能计算系统的关键技术,重点关注新型架构,先进编译技术和设计方法学,并将逐渐拓展研究方向,探索未来智能系统的各种可能。壁仞科技研究院秉持开放的原则,将积极投入各类产学研合作并参与开源社区的建设,为相关领域的技术进步做出自己的贡献。
关键词
方法
问题
函数
贝叶斯优化
目标函数
最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。