【EcoNAS: Finding Proxies for Economical Neural Architecture Search】读后感

鄙人近日阅读了来自 CVPR2020 的一篇论文, 在这里与大家分享一下读后感, 有些东西可能不一定正确, 还望大家指正.

Exploration Study

进化算法是 NAS 中一种常用的搜索算法, 使用进化算法时, 如果将每一个候选网络训练到完全收敛来评估性能的话, 需要耗费大量的资源 (时间, GPU等). 于是有研究者就提出使用代理 (proxy) 来提高搜索效率. 何为代理呢? 代理只是使用了使得训练更加快速的设置, 例如: 减少网络层数, 减少训练迭代次数. 其他的比如网络结构, 也就是层间的链接以及对候选操作的选择是一致的.

然而之前并没有工作系统性地对这些参数进行评估. 于是, 本篇文章首先筛选出了四类决定代理任务的关键因素 (这部分内容可以在原文3.1节找到):

  • 卷积网络的通道数 ( c c c)
  • 输入图片的分辨率 ( r r r)
  • 训练轮数 ( e e e)
  • 采样率 ( s s s) (个人理解这里所谓的 采样率 指的是在原训练数据集上选取多少比例的数据的含义)

为了方便研究, 作者制作了一种表格, 并约定使用 ( c a , r b , s c , e x ) (c_a, r_b, s_c, e_x) (ca,rb,sc,ex) (其中 a , b , c a, b, c a,b,c表示表格的索引, x x x 直接表示训练的轮数). 表格如下图所示, 表格上方还有一段说明, 然而这一段说明我没看懂什么意思, 还望大家赐教.
例如 (这个示例来自论文 ), 有参数 ( c 0 , r 0 , s 0 , e 600 ) (c_0, r_0, s_0, e_{600}) (c0,r0,s0,e600) 表示的具体含义为, 初始训练是使用的卷积通道数为 36 36 36, 输入图片的大小为 32 × 32 32 \times 32 32×32, 使用全部训练数据进行训练, 并进行 600 600 600 轮训练.

为了评估这些简化设定是否可靠, 作者使用了 Spearman Coefficient 作为评估参数. 这里我们不去讨论什么是 Spearman Coefficient, 只是简单的说明一下该指标的作用: Spearman Coefficient 是一种用来衡量两个变量的相关性的非参数指标. 它利用单调函数评价两个统计变量的相关性. 就该文章而言, 斯皮尔曼系数越高,简化设置就越可靠. 也就是说, 筛选模型时, 应尽可能筛选出斯皮尔曼系数较大的简化设置.

作者通过一系列的实验得出了这样的结论 (具体论述过程可看原文 3.3. Experimental Observations部分):

  • 在迭代次数相同的情况下,使用较多训练样本和较少训练次数这种训练组合, 比使用较多训练次数和较少训练样本这种训练组合更具有一致性 (这里的 一致性 我感觉可以直接理解为前文所表述的可靠).
  • 降低输入图像的分辨率有时是可行的,而减少网络的通道比降低分辨率更可靠。

Efficient Proxy

作者结合上述的研究和结论, 确定了 ( c 4 , r 4 , s 9 , e 60 ) (c_4, r_4, s_9, e_{60}) (c4,r4,s9,e60) 作为简化设置, 因为这种设置表现出相对更高的一致性和加速比 (加速比这个概念我没有细究, 感觉使用了简化设置肯定能加速, 但是具体加速多少呢, 也就是怎么测量我并没有在文章中看到这一部分 ) (这一部分也可以从原文中找到 4.1. Efficient Proxy)

Hierarchical Proxy

除去使用了 Efficient Proxy, 作者还提出了 Hierarchical Proxy. 原因是: 使用相同代理训练和评估每个架构仍然会损害搜索效率, 因为没有希望的网络计算量很大并且浪费了大部分搜索时间.

关于这部分内容我不太想讲算法的具体流程, 因为这部分在作者的文章中描述的很清楚. 这里为就贴两幅图来帮助大家理解:

其他

论文中还有实验和附录等部分, 虽然这部分的内容我也看了, 但是我感觉没有什么好说的, 也就不写在这里了.

相关推荐
人机与认知实验室4 小时前
人、机、环境中各有其神经网络系统
人工智能·深度学习·神经网络·机器学习
落魄君子11 小时前
ELM分类-单隐藏层前馈神经网络(Single Hidden Layer Feedforward Neural Network, SLFN)
神经网络·分类·数据挖掘
是Dream呀13 小时前
Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络
网络·python·神经网络
γ..1 天前
基于MATLAB的图像增强
开发语言·深度学习·神经网络·学习·机器学习·matlab·音视频
机器学习之心1 天前
LSTM-SVM时序预测 | Matlab基于LSTM-SVM基于长短期记忆神经网络-支持向量机时间序列预测
神经网络·支持向量机·lstm
落魄君子1 天前
SVM分类-支持向量机(Support Vector Machine)
神经网络·算法·支持向量机·分类
Leweslyh1 天前
物理信息神经网络(PINN)八课时教案
人工智能·深度学习·神经网络·物理信息神经网络
Debroon1 天前
乳腺癌多模态诊断解释框架:CNN + 可解释 AI 可视化
人工智能·神经网络·cnn
Leoysq2 天前
深度学习领域的主要神经网络架构综述
深度学习·神经网络·架构
沅_Yuan2 天前
基于CNN-BiLSTM-selfAttention混合神经网络的多分类预测【MATLAB】
神经网络·分类·cnn·bilstm·selfattention