- 初期のNeural Architecture Searchは、RNNが候補の構造を作り、その検証精度を報酬にして強化学習する。
- 第2版ではCIFAR-10の選定モデルがテスト誤り率3.65%を報告した。
- 探索中には800 GPUを並列に使い、12,800候補を訓練した。最終モデルだけの効率と探索費用は分けて読む。
何を確かめた研究か
ニューラルネットワークの層や接続の設計には専門家の試行錯誤が要る。Neural Architecture Searchの論文は、構造を記述する系列をRNNに生成させ、候補モデルの検証精度を報酬にしてRNNを更新する方法を提案した。画像分類の畳み込みネットワークと、言語モデルの再帰セルで試した。
どう検証したか
CIFAR-10では、候補を生成し、それぞれの子モデルを学習して検証集合で評価する。探索中は100個の制御器の複製と各8個の子モデル複製を使い、同時に800 GPUで学習した。12,800構造を試した後、良い候補の学習率などを小規模に追加探索し、最終モデルをテスト集合で評価した。
言語モデル側はPenn TreebankでRNNのセルを探し、テストのperplexityを測った。CIFAR-10の誤り率とperplexityは違う指標で、数字を横に並べて優劣を判断しない。
何が分かったか
表1ではCIFAR-10の選定モデルがテスト誤り率3.65%だった。要旨は、比較した近い構造の従来最良モデルより0.09ポイント低く、推論が1.05倍速いと述べる。表2のPenn Treebankでは、見つけたセルのテストperplexityが62.4だった。異なる課題でも構造探索が有用な候補を見つけた。
ただし選定モデルの推論速度と、探索全体に使った資源は別だ。3.65%は800 GPUを使った探索と、その後の追加調整を経た値である。手作業を自動化しても、探索費用が消えるわけではない。
限界は何か
強化学習の報酬に検証精度を使うため、検証集合への繰り返し適合に注意が要る。論文は最終モデルを別のテスト集合で測るが、探索空間と予算を変えると同じ構造や得点が出るとは限らない。800 GPUという並列設定は実務の小規模チームには大きな負担だ。
仕事との接点
自動モデル探索を採用するなら、最終モデルの精度・遅延と、探索に使う計算資源、試行回数、人の確認時間を一緒に比較する。これは論文の方法から導くTRAIL編集部の提案であり、論文が現在の製品開発費用を見積もったわけではない。