2019/12/24论文小组交流

旧巷老猫 提交于 2020-02-05 11:05:59

今天下午从两点一直开会到6点……emmmmmm,脑子都快宕机啦。赶紧趁还有一些记忆的时候记录一下,虽然记录的内容很简单,但是也还是有用的吧。

先祭出一张zxx师兄总结的10篇NAS方向的论文,码住待看。

Multinomial Distribution Learning for Effective Nueral Architecture Search

论文要点:将搜索空间看作一个联合多项式分布,进而提出一种多项式分布学习方法来提高NAS的效率。(They propose a Multinomial Distribution Learning for extremely effective NAS, which considers the search space as a joint multinomial distribution)

经验假设:训练神经网络时,若前期的神经网络表现较好,则该神经网络在后期的表现也会很好。如下图:

算法步骤:如下图:

1) 根据概率分布选择一个operation。
2) 通过前向和反向传播训练当前的网络。 
3) 测试并记录当前网络在验证集上的表现。
4)根据提出的分布学习算法更新得到的分布参数。

思路创新:区别于传统的DARTS方法(我的理解就是relation啦,也是需要维护一套参数,不过要将每个参数和operation对应起来,一起参与计算),不用对每一个operation都进行一次计算。通过维护这个概率分布,每次前向和反向传播的时候,只要选择一个operation参与计算,然后根据一定的概率对其他的operation进行采样,如果随机采样获得的op表现比之前的更好,则更新当前的概率分布。这样可以大大减少需要的计算量。

NAT: Neural Architecture Transformer for Accurate and Compact Architectures

论文要点:该论文认为,即便是一个训练好的网络结构中也有冗余的模块(卷积或池化),这些冗余的模块不仅占用内存和计算资源,而且也拉低了模型的表现性能。因此,该论文采用增强学习的方法,将该优化问题映射成一个马尔可夫决策过程,通过学习一个Neural Architecture Transformer,将冗余的操作替换成更高效的skip或zero操作。

算法步骤:1) 训练一个大网络。 2) 在该大网络中选择一个operation,尝试优化。

思路创新:其他的都没怎么听懂。抓住的一个点就是,如下图一样。将一个operation(O)转化成skip(S)或者none(N)操作。貌似论文实际操作的过程中会先加一些操作啥啥的……看实验结果感觉可借鉴性不强,就记个下面的图就好。

Network Pruning via Transformable Architecture Search

论文要点:在不降低网络表现性能的情况下,不限制channel和layer大小(传统的方法都是有限制的),使用NAS来给网络进行剪枝。

算法步骤

1) 训练未剪枝的大网络。 
2) 通过论文中提出的TAS来搜索the depth and width of a small netwrok。 
3) 用KD方法,将大网络中的知识转移至搜索得到的小网络中。

思路创新

a) KD方法的使用。 
b) 采用**Gumbel-Softmax**代替论文中不可导的简单softmax操作(?知识盲区,需要补齐)。 
c) 不同情况下不同loss函数的设计。 在第2)步时,采用了增加的loss;在第3)步,用专用的KD loss。

Progressive Differentiable Architecture Search: Bridging the Depth Gap between Search and Evaluation

论文要点:可微分的搜索方法可以大幅降低NAS的计算消耗。然而,这些方法应用在评估结果或者transfer到其他数据集时,准确度总是很低。这是因为在搜索和评估场景下的结构深度存在large gap(???又是我的知识盲区,这句话在说啥???)。因此,作者提出了一种鉴定式的搜索过程,可以使搜索的结构在训练过程中逐渐加深。

算法步骤

a) 去掉概率较小的operation。 
b) 更新概率,叠加层,至收敛。
c) 重复几轮a)和b)阶段。【DARTS是一步选出所有的operation】

思路创新:大概就是,把原来一步就得到的结果变成几个阶段了?放慢了去掉operation的速度,来使模型训练的更准确?????

One-Shot Neural Architecture Search via Self-Evaluated Template Network


算法步骤

a) 选择一个大网络作模板。
b) 在大网络中采样得一个小网络(即子网络)。
c) 设计一个评估器,评估生成的子网络,pass掉评估结果差的网络,提高效率。

思路要点:所有子网络共享参数。(???)

Auto-FPN: Automatic Network Architecture Adaptation for Object Detection Beyond Classification


思路要点:考虑searching a better fusion。

DetNAS: Backbone Search for Object Detection

算法步骤


a) 在ImageNet数据集上预训练the one-shot supernet。
b) 在detection数据集上采用FPN结构,精调supernet。
c) 使用EA算法,在训练得到的supernet上进行结构搜索。【supernet本身非常复杂】

思路要点:考虑搜索Backbone。

Efficient Neural Architecture Transformation Search in Channel-Level for Object Detection

思路要点:采用了channel-level的operation,区别于path-level,channel-level的operation是针对图像某一区域的某一通道进行操作,同一区域不同channel可以有不同的filter操作,而path-level则对于同一区域所有channel都进行相同的操作。

AutoGAN: Neural Architecture Search for Generative Adversarial Networks


思路要点:该论文第一次尝试用NAS生成GAN。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!