NAS论文阅读小记一

  • Darts
  • SPOS
  • MMNAS
  • BN-NAS
  • ProxyLessNAS
  • 总结

论文
DARTS: Differentiable Architecture Search
Single Path One-Shot Neural Architecture Search with Uniform Sampling
BN-NAS: Neural Architecture Search with Batch Normalization
ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware
FairNAS: Rethinking Evaluation Fairness of Weight Sharing Neural Architecture Search
参考
【神经网络搜索】Single Path One Shot
解读模型压缩15:神经架构搜索加速技术 (一)
NAS 学习笔记(九)- FairNAS


Darts

解决什么问题:

第一个提出基于松弛连续化的,使用梯度下降进行搜索的神经网络架构搜索算法,极大降低了搜索时间花费

采用什么方法解决:

使用了Softmax对本来离散的搜索空间进行了连续化,并用类似于元学习中MAMAL的梯度近似,使得只在一个超网络上就可以完成整个模型的搜索,无需反复训练多个模型

SPOS

解决什么问题:

可以直接在大型数据集ImageNet上搜索,并且文章还提出了一种缓和权重共享的NAS的策略——训练超网络的过程与搜素的过程耦合解耦策略,让模型能有更好的排序一致性

采用什么方法解决:

构建一个简化的超网络——单路径超网络,这个网络按照均匀的路径采样方法进行训练。所有子结构(及其权重)获得充分而平等的训练。基于这个已训练的超网络,可以通过进化算法快速地搜索最优子结构,其中无需对任何子结构进行微调。

训练超网络的时候不是一起训练,而是一个path一个path地训练,以减少子网络之间的相互耦合

MMNAS

解决什么问题:

多模态方向上现有的工作大多将关注点聚焦在单一任务上并手动进行网络结构的设计。MMNAS提出一种通用深度多模态神经结构搜索框架,即一种新的广义多模态学习范式,该范式使用神经结构搜索(NAS)算法来搜索不同多模态任务的最优结构。

采用什么方法解决:

统一的编码器-解码器主干网络,每个编码器/解码器块对应于从预定义操作的候选集合中搜索相应的操作。在统一的主干之上,附加任务专用的头来处理不同的任务

BN-NAS

解决什么问题:

借助批归一化操作 (BN) 进行的网络结构搜索算法,大幅加速了 One-Shot NAS 的过程

采用什么方法解决:

BN 参数可以衡量一个 channel 是否重要,因此,具有较小 BN 参数的 channel 被认为不太重要,并且剪掉这些 channel 将对整个网络的结果产生较小的影响。因此,当要衡量某个子网络的重要性时,将多个通道的 BN 参数累加起来
超网络训练过程只训练 BN 参数,子网络搜索过程借助 BN-indicator 高效完成。

ProxyLessNAS

解决什么问题:

不需要使用代理任务,直接在大规模的数据集上搜索整个网络,而且直接learn所有的block(代理的意思就是3点:小数据集,少数几个blocks,少数几个epochs)
为NAS提供了一种新的路径剪枝的方式,展示了NAS与模型压缩之间的紧密关系,通过二值化的手段将内存消耗降低了一个量级(这个解决的是GPU memory explosion的问题)
提出了一种基于梯度的方法(延迟正则化损失)来约束硬件指标。

采用什么方法解决:

训练时路径二值化(训练supernet的时候,只有1条路径处于激活状态
只需选择具有最高路径权重的路径
各个路径的 α 和 Ω 不是一起更新的,而是每次采样1条路径更新一下。采样的概率分布会变化,是learnable的

总结

NAS综述
神经架构搜索(NAS)是自动化神经网络架构设计的过程,因此是机器学习自动化的下一步。 NAS可以被视为AutoML的子域,并且与超参数优化和元学习具有显着的重叠。
可以根据搜索空间、搜索策略和性能评估策略三个维度对NAS的方法进行分类:

  • 搜索空间

    搜索空间定义了原则上可以表示哪些神经网络结构。 结合非常适合某一任务的先验知识可以减小搜索空间的大小并简化搜索。 但是,这也引入了人为偏见,这可能会阻止寻找超越当前人类知识的新颖的网络结构部件。

    • 链式神经网络的搜索空间
    • 复杂、多分支结构神经网络的搜索空间(如残差
    • 基于细胞单元/构件的搜索空间
    • 分层搜索空间
  • 搜索策略

    搜索策略定义了如何探索搜索空间,使用怎样的算法可以快速、准确找到最优的网络结构参数配置。它包含了经典的探索 - 利用权衡(exploration-exploitation trade-off)。因为,一方面,需要快速找到性能良好的神经网络结构,另一方面,应避免过早收敛到次优结构区域。

    • Grid search(网格搜索)
    • Random search(随机搜索)
    • Genetic algorithm(遗传算法)
    • Evolutionary method(进化方法)
    • Paticle Swarm Optimization(粒子群优化)
    • Bayesian Optimization(贝叶斯优化)
    • TPE
    • SMAC
    • 基于梯度的方法
    • 强化学习
    • 迁移学习
  • 性能评估策略

    NAS的目标通常是为了找到能够在待预测的新数据上实现高预测性能的神经网络结构。性能评估是最简单的选择是在数据集上进行标准的模型训练和模型验证,但计算成本很高,并且限制了可以探索的网络结构的数量。 因此,最近的许多研究都集中在开发降低这些性能评估成本的方法上。

NAS论文阅读小记一相关推荐

  1. 听说读论文也有trick?这篇文章告诉你深度学习论文阅读最佳姿势

    2020年的今天,我们的专业是deep learning,但是我们要keep learning,每天早上一睁眼,arxiv每天更新上百篇的论文,著名微博博主@爱可可-爱生活保持也在推送最新的deep ...

  2. 2019 sample-free(样本不平衡)目标检测论文阅读笔记

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者同意转载,请勿二次转载 (原文地址:https://zhuanlan.zhihu.com/p/100052168) 背景 < ...

  3. 论文阅读:Knowledge Distillation: A Survey 知识蒸馏综述(2021)

    论文阅读:Knowledge Distillation: A Survey 知识蒸馏综述2021 目录 摘要 Introduction Background 知识 基于响应的知识 基于特征的知识 基于 ...

  4. 论文阅读工具ReadPaper

    对于搞科研的同学们来说,看论文是要经历的第一关,尤其是要读好多篇论文的时候,更是着实令人头大. 这不,最近无意中发现了个在线论文阅读网站:readpaper.com,号称「论文阅读笔记神器,硕博科研学 ...

  5. 多目标跟踪:CVPR2019论文阅读

    多目标跟踪:CVPR2019论文阅读 Robust Multi-Modality Multi-Object Tracking 论文链接:https://arxiv.org/abs/1909.03850 ...

  6. 快速人体姿态估计:CVPR2019论文阅读

    快速人体姿态估计:CVPR2019论文阅读 Fast Human Pose Estimation 论文链接: http://openaccess.thecvf.com/content_CVPR_201 ...

  7. Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读

    Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读 Action4D: Online Action Recognition in the Crowd and Clutter 论文链接 ...

  8. 深度学习点云语义分割:CVPR2019论文阅读

    深度学习点云语义分割:CVPR2019论文阅读 Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning 摘要 本 ...

  9. 3D目标检测论文阅读多角度解析

    3D目标检测论文阅读多角度解析 一.前言 CNN(convolutional neural network)在目标检测中大放异彩,R-CNN系列,YOLO,SSD各类优秀的方法层出不穷在2D图像的目标 ...

最新文章

  1. 第二十天:规划风险应对
  2. dede login.php,DedeCms会员登录成功,又跳转到登录页面
  3. Activity中与ListActivity中使用listview区别
  4. C语言如何获取文件大小?fseek() + ftell()
  5. Java中“==”和equals()的区别
  6. 重磅 | 带学斯坦福CS231n计算机视觉课+带打全球顶级kaggle大赛
  7. 5.5 关于数据的问题
  8. linux下c 指针变量大小,C语言sizeof关键字
  9. slice 和splice 的区别 js
  10. paip.c++ qt 共享库dll的建立
  11. java放大镜_Java写的屏幕放大镜
  12. 数据如何真正为业务创造价值!
  13. Hacker News API
  14. Codeforces Round #362 (Div. 2) D 树形dp
  15. 用IDEA写一个登录系统
  16. Java8 lambda表达式详解
  17. 让两个Div并排显示的多种方法
  18. 第四章:Android灯光系统(6)-背光灯
  19. MES如何对车间设备进行调度和控制实现智能化生产(一)
  20. 计算机的发展经历起源与未来,计算机起源与发展历程.ppt

热门文章

  1. gp工具命令之gpstop
  2. SQLi-labs(Less-1、Less-2、Less-3、Less-4)
  3. An unexpected error was encountered while executing a WSL command. Common ca
  4. 离散基础 (1). 从“访存模型”看“切比雪夫定理”
  5. 切比雪夫中值定理验证联合概率的收敛性质
  6. 支付宝wap支付过程中需要注意的坑
  7. 盘点那些影响人类发展的伟大式子(持续更新)
  8. 计算机科学与技术出国留学,2019计算机考研计算机科学与技术专业解析:出国留学...
  9. rpm安装、yum安装、dnf安装三者的区别
  10. 如何给维保人员提交的报修图片加防伪水印?