其他分享
首页 > 其他分享> > 【论文笔记系列】- Understanding and Simplifying One-Shot Architecture Search

【论文笔记系列】- Understanding and Simplifying One-Shot Architecture Search

作者:互联网

search space设计

文章认为好的search space需要满足以下条件:

One-shot模型训练 实验结果

下面只介绍一个比较有意思的实验结果,即 Dropout rate对结果的影响:

结果如下图示:

理解one-shot模型

由上图我们可以看到(以最左图为例),one-shot模型的准确率从0.1~0.8, 而stand-alone(即retrain之后的子模型)的准确率范围却只是0.92~0.945。为什么one-shot模型之间的准确率差别会更大呢?

文章对此给出了一个猜想:one-shot模型会学习哪一个操作对模型更加有用,而且最终的准确率也是依赖于这些操作的。换句话说:

我理解是这个意思

状态 one-shot 模型准确率 stand-alone模型准确率
移除操作之前 80% 92%
移除不太重要的操作 78% 91%
移除重要的操作 56% 90%

为了验证这一猜想,文章做了如下实验:

首先将几乎保留了所有操作的(dropout概率是\(r=10^-8\))模型叫做reference architectures,注意这里用的是复数,也就是说这个reference architectures有很多种,即有的是移除了不太重要的操作后的结构,有的时移除了非常重要的操作候的结构,那么不同结构的准确率应该是不一样的。不过在没有retrain的情况下,什么操作都没有移除的one-shot模型(All on)应该是最好的(或者是表现靠前的,这里我们认为是最好的)。

注意这里的移除某些操作后得到的模型还是One-shot模型,而不是采样后的模型。采样后的模型是指从这个完整的one-shot中按照某种策略得到的模型。文中把这种模型叫做candidate architectures

我们以分类任务为例,假设reference architectures对某个样本的预测输出是\((p_1,p_2,...,p_n)\),其中\(n\)表示类别数量;而candidate architectures的输出为\((q_1,q_2,...,q_n)\)。注意candidate architecture的输出应该是没有retrain的结果。

所以如果上面的猜想是正确的,那么表现最好的candidate architecture的预测应该要和所有操作都保留的one-shot模型的预测结果要十分接近。文中使用对称散度来判断相似性,散度公式为\(D_{\mathrm{KL}}(p \| q)=\sum_{i=1}^{n} p_{i} \log \frac{p_{i}}{q_{i}}\),那么对称散度就是\(D_{\mathrm{KL}}(p \| q)+D_{\mathrm{KL}}(q \| p)\)。对称散度结果是在64个随机样本上得到的平均值,散度值越接近于0,表示二者输出越相近。

最后的结果如图示,可以看到在训练集上散度值低的模型(即预测值和保留大多数操作的完整模型很接近),在验证集上的准确率也相对高一些。

原论文各种名词用的很混乱,一下是one-hot,一下是reference architecture,看得很迷幻,结合了好几个博文归纳总结的此文,有问题欢迎评论区指出。
参考:

微信公众号:AutoML机器学习
watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=
MARSGGBO♥原创
如有意合作或学术讨论欢迎私戳联系~
邮箱:marsggbo@foxmail.com
2020-06-25 17:11:21

标签:Search,shot,模型,移除,batch,Understanding,准确率,操作,Shot
来源: https://blog.51cto.com/u_15187743/2872806