はじめに
- 自己紹介:UbuntuでPythonを書いてデータ分析とか異常検知してます。
- AutoMLの一つであるNAS(Neural Architecture Search)に興味があります。
- 「NAS-Bench-101: Towards Reproducible Neural Architecture Search」を翻訳しました。
- https://arxiv.org/abs/1902.09635
- https://www.automl.org/nas-bench-101-towards-reproducible-neural-architecture-search/
- イイネと思ったらぜひフォロー, thumbs-up&拡散をお願いします!
目次
- イントロ
- NAS-Bench-101のしくみと実例
イントロ
NAS研究には大量の計算機資源が必要(初期のNASはGPU800台で28日とか掛かっていた)で、大企業以外は研究に参加すらできないし、大企業にしても実験を何度も繰り返すのは困難でした。
しかし、科学的な厳密さのためには、何度も実験を行い、結果の安定性と統計的な有意性を評価することが必要不可欠です。(NAS研究のベストプラクティスも参照して下さい)
そこで、この問題を解決するために、計算資源をあまり使わずにNASの実験ができるベンチマークを作り、OSSとして公開しました。
NAS-Bench-101のしくみと実例
細かく区分した探索空間(small cell search space)を徹底的に評価してテーブルに保存しました。
GPUで計算する代わりにそのテーブルの値を参照することで、
今まで数時間掛かっていたNNの学習が数秒で終わります。
4種類のエポックで、3回の実験を繰り返し、42万種類の構造を評価しました。
これにより、Hyperband や BOHBなどのmulti-fidelityなoptimizerを評価することができました。
上図:NAS-Bench-101での、NASおよびHPOアルゴリズムの評価。
図の通り、(ベイズ最適化等の)古典的なHPOアルゴリズムも評価することができます。
ランダムサーチ<強化学習<regularized evolution=ベイズ最適化(SMAC, BOHB)と評価できます。
RL(2017)がSMAC(2011)に負けているのは驚くべきことかもしれませんが、要するに当時はこれらを簡単&低コストで比較できるベンチマークがなかったということです。
このように、NAS-Bench-101は、様々なアルゴリズムの評価を簡単に行うことができるのです。
NASの分野において、着実・定量化可能な進歩が進み、厳密な実験が行われることを楽しみにしています。