Densely Connected Search Space for More Flexible Neural Architecture Search

摘要

之前的NAS方法很少有能够搜索网络宽度的方法(卷积核的数量或者通道数)。NAS一般需要很强的专家经验来设计中间block的channel数以及何时进行downsampling,故人工设定的可能不是最优的,DenseNAS做的就是让网络通过搜索自行决定渐进的block的宽度及何时downsampling(同时为每个Block搜索宽度和空间分辨率)。通过设计一个密集连接的搜索空间来解决,因此命名为DenseNAS。不同宽度和不同分辨率的Blocks彼此之间密集连接。通过优化块之间的转移概率来选择超级网络中的最佳路径。在ImageNet上实现75.9%的top-1准确率和24.3毫秒的延迟(single TITAN-XP),搜索时间在4块GPU上为23小时。

介绍

解决宽度搜索问题:构建一个新的密集连接的搜索空间,并设计一个超级网络作为搜索空间的连续表示。

密集连接的搜索空间

模块的宽度以固定步长逐渐增长,每个块连接到几个后续块中。在一个空间分辨率下,有多个具有不同宽度的块。在超级网络中搜索宽度增长路径,并且同时确定降低空间分辨率的位置。

方法

本文使用可微的神经架构搜索方法。

密集连接的搜索空间

考虑到基于单元(cell-based)的搜索空间通常导致搜索到复杂的结构,对移动端不友好。因此基于移动倒置瓶颈卷积(MBConv,MobileNetV2)设计搜索空间。

搜索空间

在三个层次上定义搜索空间:1、网络的整体结构,表示为Block的密集连接,不同颜色的Block代表不同阶段。不同Block之间的每条路径都代表着一个候选结构。2、Block的结构,包含head layers和stacking layers,head layers以前面多个阶段的输出特征张量为输入,输出具有相同形状和通道数的张量,后面堆叠许多层。3、一层(Layer)表示为候选操作的集合。

层的结构

一层定义为所有候选操作的集合:MBConv层(卷积核大小3,5,7,扩张比例为3,6),skip connection(如果skip connection被选择,一位置相应的层在最后的网络结构中应该被移除)。

候选操作的集合

Block结构

每个Block包含head layers和stacking layers,对于一个Block固定宽度和空间分辨率,对于head layers,以多种不同通道数和不同空间分辨率的张量作为输入,将它们输出为具有预先设定的通道数和形状的张量,head layers不包含skip connection,因为它们是每个Block必须的。之前是一系列stacking layers(三个),不改变通道数和形状大小。

网络结构

在搜索空间中设计了更多具有不同宽度的块,并允许搜索到的网络结构仅包含块的子集,使搜索算法可以自由选择某些宽度的块,同时丢弃其他块。

定义结构Arch包含N个Blocks,Arch={(B_1,B_2,...,B_N)},将网络氛围几个阶段(stage),每个阶段具有不同的宽度和固定的空间分辨率,超级网络从前到后,Block的宽度以以固定小步长逐渐增长,在网络的早期阶段,设定较小的宽度增长步幅,因为早期网络阶段的大宽度设置将导致巨大的计算成本,宽度增长步长将在后面的阶段逐渐变大。

超级网络中每个Block与之后的m个Blocks相连接,定义BlockB_i与其后续块B_j(j>i)的连接为C_{ij}B_i,B_j的空间分辨率分别为H_i\times W_i,H_j\times W_j,将连接限制在空间分辨率相差不超过两倍的块之间。因此,C_{i,j}存在当且仅当j-i\leq m \quad and \quad H_j\div H_i\leq 2

在本文中,不仅每个Block中的网络层数需要搜索,Block的宽度和Block的个数也需要搜索。同时确定执行空间下采样的层。 目标是在搜索空间中找到一条良好的路径,代表架构的最佳深度和宽度配置。

网络中前两层是固定的,剩下的层都需要搜索。可以使用损失函数来优化块的数量和搜索空间中的宽度分布。

将搜索空间放松至连续

在Layer上的放松:

操作的结构权重

定义候选操作集合为O,为第l层的操作o分配一个结构参数\alpha_{o}^l,使Layer成为候选操作的加权和来放松Layer。操作的每个结构权重被计算为层中所有操作的结构参数的softmax。

计算输出

Block上的放松:

令BlockB_i的输出张量为b_i,为块的每个输出路径分配Block-level结构参数,对于B_i,B_j之间的路径,其结构参数为\beta_{i,j}。类似于如何计算上述每个操作的权重,同样使用softmax函数计算每个路径在两个块之间的所有路径上的概率。

m表示每个块连接的后续块数量

对于BlockB_i,假设其输入张量个数为m^{’}B_{i-m^{’}},...,B_{i-1},输入张量通道数和空间分辨率都不同,因此经过Block B_i转换为统一尺寸并加在一起。令H_{ik}表示B_i中第k个head layer对输入张量B_{i-k}进行的变换操作。输入张量经过变换之后的和表示为:

值得注意的是,路径概率在块输出维度上归一化,但应用于块输入维度(更具体地说,在head layer上),head layer是候选操作的加权和混合,Layer中的结构参数\alpha 控制着应该选取什么操作,Block中的结构参数\beta 控制着Block的连接路径。

搜索算法

在搜索的初始阶段,所有操作的权重都会被训练,收敛较快的结构或者操作会被加强,这将导致较浅的网络结构。训练初始阶段的结构参数的分布对于之后的训练有很大影响。因此,将搜索步骤分为两步,在第一阶段,在第一阶段,我们只对超级网络的权重训练足够的时期,以便对操作进行充分训练,直到模型的准确性不会太低,在第二阶段,进行网络结构的优化。通过梯度:

在训练集上

来优化权重,通过梯度

在验证集上

来优化结构。交替进行权重和架构的优化过程。

当结构搜索结束时,在Layer中,以argmax_{o\in O}\alpha_{o}^l确定采取什么操作。在网络层面,采用Viterbi算法选择路径。

多目标优化

考虑网络延时:

对于stacking layer,其操作延时为:

stacking层的操作延时

latency_o^{l}表示预先度量号的第l层中的操作o的延时。对于一个head layer,假设其输入张量为第j个Block的输出,其延时被定义为:

head layer的延时

整体上,网络延时为:

网络整体延时

多目标优化的损失函数:

多目标优化的损失函数

搜索加速

为了降低内存消耗和加速搜索,采用drop-path的训练策略。在本文中,在训练操作的权重参数时,根据每层的结构权重分布w_o^{l}(o \in O)来选取一条候选操作路径,丢弃路径训练不仅加速了搜索,而且削弱了搜索空间中不同网络结构的操作权重之间的耦合效应。仿照ProxylessNAS,根据结构权重分布在每个层中对两个操作进行采样,以更新Layer中的结构参数。为了保持未采样的操作的结构权重不变,计算重新平衡偏差以调整被采样的和新更新的参数

Q_s表示被采样的操作,\alpha_o^l表示L层中原先采样的结构参数,\alpha_o^{’l}表示更新之后的结构参数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343