G検定(ジェネラリスト検定)
にゅーらるあーきてくちゃさーち
NAS
NAS
Neural Architecture Search
NASは、ニューラルネットワークのアーキテクチャ設計を自動化する手法です。RNNのコントローラが構造を生成し、その検証精度を報酬にして強化学習で探索を改善します。
詳しい説明
特徴の設計からアーキテクチャの設計へ
ニューラルネットワークは、画像、音声、自然言語の理解といった難しい学習タスクでよく機能する、強力で柔軟なモデルです。その成功とともに、研究の重心は特徴の設計からアーキテクチャの設計へ移りました。SIFTやHOGのような人手で設計する特徴から、AlexNet、VGGNet、GoogleNet、ResNetのようなネットワーク構造の工夫へ移った流れです。
この変化で設計は以前より容易になりました。それでも、アーキテクチャを設計するには多くの専門知識が要り、十分な時間もかかります。NAS(Neural Architecture Search、ニューラルアーキテクチャ探索)は、この人手に頼っていた設計を機械に任せ、良いアーキテクチャを自動で見つけることを目指す手法です。
ネットワーク構造を可変長の文字列として扱う
NASの出発点は、ニューラルネットワークの構造と接続関係は、たいてい可変長の文字列で指定できるという観察です。たとえば、各層の設定といったアーキテクチャのハイパーパラメータを順に並べれば、1つのネットワークを1本の文字列として書き表せます。
文字列として表せるなら、文字列を生成するモデルでネットワーク構造を作り出せます。NASでは、この生成の役を再帰型ニューラルネットワーク(RNN)に担わせます。RNNを使うのは、長さの決まっていない系列を柔軟に生成できるからです。
コントローラと子ネットワークの役割分担
NASには2種類のネットワークが登場します。
- コントローラ: アーキテクチャを表す文字列を生成するRNNです。ニューラルネットワークのアーキテクチャのハイパーパラメータを出力します。
- 子ネットワーク: コントローラが生成した文字列で指定されるネットワークです。実際のデータで訓練され、検証用データでの精度が測られます。
コントローラは設計する側、子ネットワークは設計される側という関係です。探索の対象は子ネットワークの構造であり、学習して賢くなっていくのはコントローラのほうです。
検証精度を報酬とする強化学習の仕組み
NASの探索は、次の流れを繰り返して進みます。
1. コントローラが、子ネットワークの構造を表す文字列を生成します。
2. その文字列で指定された子ネットワークを実データで訓練し、検証用データでの精度を得ます。
3. 得られた精度を報酬信号とし、方策勾配を計算してコントローラのパラメータを更新します。
コントローラのパラメータは、生成したアーキテクチャの検証用データでの期待精度を最大化するように、方策勾配法で最適化されます。これにより、次の反復では高い精度を得たアーキテクチャに、コントローラがより高い確率を割り当てるようになります。言い換えると、コントローラは時間とともに自らの探索を改善していきます。
ここで押さえておきたいのは、報酬が子ネットワークの検証精度そのものだという点です。精度を直接の目標に据えて設計の手順を学習するため、人手の経験則に頼らずに構造を選べます。
CIFAR-10とPenn Treebankでの成果
この手法は、画像と言語の2種類のデータセットで成果を示しました。
- CIFAR-10(画像): ゼロから探索を始めて、テストデータでの精度が人間の考案した最良のアーキテクチャに匹敵する、新しいネットワーク構造を設計しました。テスト誤り率は3.65%で、似た構造の方式を使っていた従来の最高性能モデルより0.09ポイント良く、1.05倍速いという結果です。
- Penn Treebank(言語): 新しい再帰セルを構成し、広く使われているLSTMセルや、ほかの最先端のベースラインを上回りました。テストデータでのパープレキシティは62.4で、従来の最高性能モデルより3.6良い値です。
畳み込み型のネットワーク構造だけでなく、LSTMに代わる再帰セルまで自動で設計できた点は、NASが特定の種類のネットワークに限らない汎用的な設計の方法であることを示しています。
試験で問われること
G検定
- NASが自動化しようとしたのは、ニューラルネットワークの開発のうちどの作業か。また、その作業が人手ではどんな負担を伴っていたか。
- NASでは、ネットワークの構造をどのような形で表現できるという観察に基づいて、RNNをコントローラとして使っているか。
- NASでコントローラを更新するときに報酬として使う値は何か。また、コントローラの更新に用いる学習の手法は何か。
- NASにおけるコントローラと子ネットワークの違いを説明できるか。探索の過程で学習によって改善されていくのはどちらか。
- NASがPenn Treebankで自動設計した再帰セルは、広く使われているどのセルを上回ったか。
最終更新日: 2026/09/23