Efficient Neural Architecture Search via parameter Sharing
Motivation
通过强制所有子模型共享权重从而提升了NAS的效率,克服了NAS算力成本巨大且耗时的缺陷,GPU运算时间缩短了1000倍以上。
NAS的本质是在一个大的搜索图中找到合适的子图作为模型,也可以理解为使用单个有向无环图(single directed acyclic graph, DAG)来表示NAS的搜索空间。基于此,ENAS的DAG其实就是NAS搜索空间中所有可能的子模型的叠加。
如下图所示,各个节点表示本地运算,边表示信息的流动方向。图中的6个节点包含有多种单向DAG,而红色线标出的DAG则是所选择的的子图。
Architecture
ENSA for Convolution:
本文并没有采用直接设计完整的卷积网络的方法,而是先设计小型的模块然后将模块连接以构建完整的网络。其中在整个NAS的训练过程中,每个子节点的权重都会保留共享,以提升训练效率。
如下图的DAG共有𝐵个节点,其中节点1,所以controller只需要对剩下的𝐵−3个节点都要做如下两个决定:a)当前节点需要与那两个节点相连 b)所选择的两个节点需要采用什么样的操作。(可选择的操作有5种:identity(id,相等),大小为3*3或者5*5的separate conv(depth wise),大小为3*3的最大池化。)
搜出来的卷积模块结构: