Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Random Search and Reproducibility for Neural Architecture Search #144

Open
gaocegege opened this issue Apr 25, 2019 · 4 comments
Open

Random Search and Reproducibility for Neural Architecture Search #144

gaocegege opened this issue Apr 25, 2019 · 4 comments

Comments

@gaocegege
Copy link
Member

https://arxiv.org/abs/1902.07638

@gaocegege
Copy link
Member Author

@gaocegege
Copy link
Member Author

gaocegege commented May 20, 2019

这篇文章针对现在 NAS 领域,没有一个合理的 baseline 的问题,提出了利用 random search 做 baseline 的想法。用 random search 和 early stopping 的支持做 NAS,取得了跟 ENAS 接近的结果。DARTS 以及之后的 ProxylessNAS 等会比随机搜索有更好的效果,但 random search 由于其通用性,可以作为一个合理的 baseline 存在。

@gaocegege
Copy link
Member Author

Screenshot from 2019-05-20 15-21-20

作者将整个问题表示为三个层面的选择。在第一个层面,不同的 NAS 算法会采取不同的搜索空间。像随机搜索理论上可以为任何搜索空间服务,所以它对搜索空间不是特别敏感。在文中作者使用了跟 darts 类似的 cell based 搜索空间。

针对搜索算法,当然是使用经典算法随机搜索。而目前比较 Advanced 的论文都是采取一定程度的放缩,把搜索空间变成连续的,然后利用贝叶斯优化或者梯度下降的方式来进行搜索,连续搜索空间的搜索可以用到这些算法来加速搜索,会大大节约算力。

针对评估方法,传统的 NAS 算法是 full training,浪费算力,加上 Early Stopping 之后可以做到约等于 partial training 的效果。 9102 年的 NAS 算法一般都会通过某些方式,诸如权重共享(ENAS),Network Morphism(Auto Keras),超图(DARTS,ENAS)的方式来共享一些参数来加速训练,降低算力要求。

@gaocegege
Copy link
Member Author

NAS 现在复杂度很高,像超图,就为训练引入了新的复杂度。 Network morphisms require architecture transformations that satisfy certain criteria。weight sharing 简单易用而且实现不复杂,作者最终采取了随机搜索加早期停止加权重共享实现了一个 baseline 算法。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant