论文《 ATOMNAS: FINE-GRAINED END-TO-END NEURAL
ARCHITECTURE SEARCH》-2020-ECCV
**
论文链接
[代码链接](: https://github.com/meijieru/AtomNAS)

一、摘要及主要贡献

1.1 摘要

搜索空间设计对神经结构搜索算法至关重要。论文提出了一个由原子块组成的细粒度的搜索空间,这个搜索空间允许通过组合不同类型的原子块来混合操作,而以前的方法中的搜索空间只允许齐次操作。

基于此搜索空间,论文提出了一个资源感知的架构搜索框架,该框架通过共同考虑性能和计算成本,自动为每个操作分配计算资源(例如,输出通道数)。

此外,为了加速搜索过程,论文提出了一种动态网络收缩技术,它对原子块进行修剪,对动态输出的影响可以忽略不计。论文方法不是搜索和重新训练两阶段的范式,而是同时搜索和训练目标架构。

1.2 主要贡献

1.论文设计了一个细粒度的搜索空间,其中包括精确的通道数量和混合操作(例如,不同卷积核的组合)。

2.论文提出了一个NAS框架,AtomNAS。在该框架内,提出了一种有效的端到端NAS算法,该算法可以同时搜索网络体系结构和训练最终模型。在算法完成后,不需要进行微调。

3.利用所提出的搜索空间和原子NAS,论文在mobilenet设置下的ImageNet数据集上取得了最先进的性能。

二、论文相关

论文在一个细粒度的搜索空间中建立神经结构搜索方法,使用原子块作为基本的搜索单元。原子块由由通道操作连接的两个卷积组成。通过叠加原子块,论文得到了更大的构建块。Resnet块和mobileNetV2以及mobileNetV3块。

2.1 细粒度的搜索空间

论文通过将网络分解为更小、更基本的构建块来提出一个更细粒度的搜索空间。

论文表示
表示卷积算子,其中X是输入张量,c、c`分别是输入和输出通道数。手动设计和NAS体系结构共享一个结构,通过通道级操作连接两个卷积:

其中g是一个通道的操作符。

总和中的每个项都可以看作是一个与计算无关的块,它被称为原子块。如图1所示。

这个公式也自然地包括算符的选择。为了更好地理解等式,论文首先推广了等式(2)为:

新的搜索空间包括一些最先进的网络架构。

图1:整体视角的说明。箭头表示运算符。根据等式的说法,由一个通道方向的操作连接的两个卷积的结构在数学上等价于多个原子块的集合,彩色矩形表示张量,里面的数字表示它们的通道编号;右边的阴影路径是原子块的一个例子。

2.2 具有资源感知能力的原子块搜索

在这项工作中,论文采用可微神经结构搜索范式,其中模型结构在模型训练中被发现。通过上面定义的超网,最终的模型可以通过在训练期间丢弃部分原子块来产生。DARTS论文引入了一个重要因子α来缩放超网中每个原子块的输出。式子(3)就会变成

在这里,每个αi与由三个运算符f1icc’'1、gi、f01i、f0i1c组成的原子块绑定。重要因素与网络权值共同学习。一旦训练完成,对网络输出的影响可以忽略不计的原子块(即那些系数小于阈值的原子块)将被丢弃。

论文解决了与αi的重要因素相关的两个问题。第一个问题是论文应该把α放在哪里?让论文首先考虑g只包含线性操作的情况,例如,卷积、批处理归一化和像ReLU这样的线性激活。如果g中至少包含一个BN层,那么BN层中的缩放参数可以直接作为这些重要因素来使用。如果g没有BN层,这是罕见的,论文可以把α放在f0和f1之间的任何地方;然而,论文需要应用正则化项到f0和f1的权重(例如,权重衰减),以防止f0和f1中的权重太大,抵消α的影响。当g包含非线性操作时,如愿望激活和西格莫德激活,论文只能将α放在f1后面。

第二个问题是如何避免在丢弃一些原子块后的性能恶化。例如,DARTS在对模型参数和尺度因子进行迭代训练后,放弃了具有小尺度因子的操作。由于被丢弃的操作的规模因子不够小,网络的性能将受到影响,需要重新训练才能再次调整权重。为了在丢弃一些原子块后保持超网的性能,这些原子块的重要因素α应该足够小。论文在α上增加了L1范数惩罚损失,这有效地将许多重要因素推到接近零的值。在学习结束时,α接近零的原子块被从超网中移除。请注意,由于正则化项,在训练期间BN尺度的变化更显著,因此BNs的运行统计数据可能不准确,需要使用训练集重新计算。

加了正则化术语,训练损失是

其中λ是L1惩罚项的系数,S是所有原子块的指数集,E是传统的训练损失(例如,交叉熵损失结合正则化项,如重量衰减和蒸馏损失)。|αi|由系数ci加权,该系数ci与第一个原子块的计算成本成正比。cˆi.通过使用计算成本感知正则化,论文鼓励模型学习在准确性和效率之间取得良好平衡的网络结构。在本文中,论文使用浮动法作为计算成本的准则。其他指标,如延迟和能源消耗,也可以类似地使用。因此,整个损失函数L在精度和流量之间进行权衡。

2.3 动态网络收缩

通常,超级网比最终的搜索结果要大得多。论文观察到许多原子块从搜索的早期阶段开始“死亡”,即它们的重要因素α接近零。为了更有效地利用计算资源并加快搜索过程,论文提出了一种动态网络收缩算法,通过删除原子块被认为“死亡”来减少网络结构。

论文采用一种保守的策略来决定一个原子块是否“死亡”:对于重要因素α,论文保持其动量ˆα,并更新为


其中αt是t迭代的重要因子,β是衰减项。如果ˆα和αt都小于阈值0.001,则原子块被视为“死亡”。

一旦“死”块的总流量达到一个预定义的阈值,论文就会将这些块从超级网中移除。如上所述,论文在部署网络之前重新计算BN的运行统计数据。在算法1中介绍了整个训练过程。

论文展示了一个样本网络在搜索过程中的流程。2.论文从一个拥有15.21亿帧的超级网开始,动态地丢弃“死”原子块以降低搜索成本。与从头开始训练搜索模型相比,整体搜索和训练成本只增加了17.2%。

三、 试验部分

图3:(左)超级网的可搜索数据块。f0和f1固定到1×1PW卷积;卷积核大小是3×3、5×5和7×7。f0将输入输入通道数从C扩展到18C,f1将信道号投影到输出信道号。如果输出维度与输入维度保持相同,论文使用跳过连接将输入添加到输出中。(右)超级网的体系结构。Column-Block表示块类型;MB表示MobileNetV2块;“searchable”是指左侧显示的可搜索块。Column-f表示一个块的输出通道数。Column-n表示块的数量。列-s表示一个阶段中的第一个块的步幅。第一个卷积的输出信道数对于AtomNAS-A为16,对于AtomNAS-B和AtomNAS-C为32。

图4:ImageNet上的参数量与准确性。

表1:与移动设置下图像网络最新技术的比较。表示使用额外网络模块的方法,如愿望激活和挤压和激发模块。表示使用额外的数据增强,如混合和自动增强。∗表示同时搜索和训练的模型。

表2:资源度量意识的影响。上块对所有原子块使用相同的惩罚。下面的部分使用论文的资源感知的原子块选择。

表3:BN重新校准的影响。

表4将研究结果与其他基线主干模型进行了比较。基线模型的检测结果来自斯塔穆利斯等人。(2019b)。论文可以看到,所有三个AtomNAS模型在对象检测任务上都优于基线。结果表明,论文的模型比基线具有更好的可转移性,这可能是由于混合操作,即这里的多尺度操作,对对象检测和实例分割更为重要。

架构搜索文献笔记(11):《ATOMNAS: FINE-GRAINED END-TO-END NEURAL ARCHITECTURE SEARCH》相关推荐

  1. 架构搜索文献笔记(10):《Fast Hardware-Aware Neural Architecture Search》

    ***论文< Fast Hardware-Aware Neural Architecture Search>-2020-CVPR ***** 论文链接 一.摘要及主要贡献 1.1 摘要 论 ...

  2. 架构搜索文献笔记(9):《CurveLane-NAS: Unifying Lane-Sensitive Architecture Search and Adaptive Point》

    论文< CurveLane-NAS: Unifying Lane-Sensitive Architecture Search and Adaptive Point>-2020-ECCV** ...

  3. 架构搜索文献笔记(8):《FTT-NAS:发现容错神经结构》

    论文< FTT-NAS: Discovering Fault-Tolerant Neural Architecture>-2020-ASP-DAC** 论文链接 论文为机器翻译的,当时只想 ...

  4. 神经架构搜索(Neural Architecture Search,NAS)介绍

    神经架构搜索Neural Architecture Search,NAS介绍 Introduction Intractable Search Space Non transferable optima ...

  5. 神经网络架构搜索(Neural Architecture Search, NAS)笔记

    目录 (一)背景 (二)NAS流程 2.1 定义搜索空间 2.2 搜索策略 (三)加速 (四)变体及扩展 4.1 扩展到其他任务 4.2 扩展到其他超参数 (一)背景 机器学习从业者被戏称为" ...

  6. ENAS:通过参数共享实现高效的神经架构搜索《EfficientNet Neural Architecture Search via Parameter Sharing》

    本文总结多篇相关博客:https://www.sohu.com/a/222705024_129720.https://zhuanlan.zhihu.com/p/60592822.https://blo ...

  7. 神经网络架构搜索(Neural Architecture Search)杂谈

    一.背景 机器学习从业者被戏称为"调参工"已经不是一天两天了.我们知道,机器学习算法的效果好坏不仅取决于参数,而且很大程度上取决于各种超参数.有些paper的结果很难重现原因之一就 ...

  8. AutoML论文笔记(九)CARS Continuous Evolution for Efficient Neural Architecture Search:连续进化神经网络搜索

    文章题目:CARS: Continuous Evolution for Efficient Neural Architecture Search 链接:link https://arxiv.org/a ...

  9. 【读点论文】MnasNet: Platform-Aware Neural Architecture Search for Mobile,用神经网络搜索的方式来设计网络平衡精度与速度

    MnasNet: Platform-Aware Neural Architecture Search for Mobile Abstract 为移动设备设计卷积神经网络(CNN)模型具有挑战性,因为移 ...

最新文章

  1. php 转义 回车 空格 file put content,为什么在服务器上php里执行file_put_contents创建文件返回是false呢,文件目录已经设置为777的权限了,不解...
  2. 日调度5万亿次,腾讯云微服务架构体系TSF深度解读
  3. Python字符串截取值
  4. PyTorch教程(十):单层感知机以及梯度更新
  5. 走过20年……你出现在哪里?
  6. 如何用计算机计算胸围,文胸尺码计算器
  7. 百度搜索关键字抓取_怎么使百度竞价的效益最大化
  8. mysqlserver输入密码后闪退_iOS降级教程:iOS 14 后如何降级到ios13?
  9. 【转】如何查找MySQL中慢查询的SQL语句
  10. 贴片铝电容识别及型号_铝电容和钽电容的区别,你们知道吗?
  11. Vue3 Composition API教程
  12. android 坡度计算器,坡度换算角度计算器(坡度计算器)
  13. 人民币金额小写转换大写
  14. Android距离传感器unregisterListener无用解决
  15. 编写一个Linux虚拟网卡来实现类NVI
  16. 二阶魔方还原 - 4步2公式
  17. 探访北大最AI的食堂!刷脸打饭,机器认识200多道菜
  18. 计算机英语构词法,计算机专业英语的构词方法论文
  19. windows 远程桌面无法连接的问题
  20. springboot水产品销售系统的设计与实现毕业设计源码041700

热门文章

  1. 《C程序员从校园到职场》第4章 变量和函数
  2. 程序设计,无限继承是不是一个好的设计模式
  3. (实验七)Hadoop集群安装之安装数据仓库Hive
  4. 2023智源大会议程公开 | 大模型新基建与智力运营论坛
  5. Mybatis-plus更新字段为null
  6. 电容(4)安规电容、CBB电容
  7. Android 性能优化—— 启动优化提升60,Android开发全套学习
  8. 瑞星提醒:IE漏洞(MS10-018)已感染1800万网民
  9. MobaXterm连接远程服务器,使用Linux命令行上传下载文件
  10. 【北行★户外】7月19日周六 闲游 密云水库、 白云峡谷、捧河湾 、千尺瀑 捞虾拾贝、戏水,一日休闲小穿越活动