G検定 AutoML と NAS
株式会社リュディアです。今回は NAS(Neural Architecture Search)についてまとめます。まとめると言っても概念と用語のみです。論文にも挑戦していますが現段階で内容を把握できていませんのでご容赦ください。事前に AutoML についてまとめた以下の記事を読んでいただくとわかりやすいと思います。
Google の AutoML である Cloud AutoML を実装する上での背景になる理論が NAS(Neural Architecture Search) です。NAS が概念としての AutoML の 1 つと言ってもよいと思います。従来のニューラルネットワークを使った機械学習ではニューラルネットワークのアーキテクチャ自体は事前に決めておき、学習過程で目的関数を最小化するように重みを最適化し学習済みモデルを生成しました。ここでアーキテクチャという言葉は構造や重み以外のパラメータと考えてください。具体的にはニューロン数、学習率などを想定してください。
一方で NAS はニューラルネットワークのアーキテクチャ自体を最適化します。以下の論文が有名なのですが強化学習(Reinforcement Learning)を使ってニューラルネットワークのアーキテクチャ自体を最適化しています。論文中で CNN と RNN のアーキテクチャをどのように最適化するかを議論しており高い性能を示す CNN と RNN を生成できることを示しています。以下、原論文とプレゼンテーション資料です。
しかしながら非常に長い実行時間を必要とします。NAS は以下の 2 つを自動化していると考えてよいと思います。
A : 何をベースとしてよいと思われるアーキテクチャを見つけるのか?
B : 上記 A の「よいと思われる」をどのように判断するのか、またその判断手法をどのように実装するのか?
この 2 つがポイントとなります。ゼロから構築するというわけにもいかないので例えば A の答えとして CNN や RNN といったベースになるものを決めておきます。
B は何をもって良いネットワークであると評価するかです。ここは現状、私はまったく理解できていません。ただこの評価をする部分で非常に長い計算時間を必要としていることは予想できます。
この計算量を削減するために提案された方法として NASNet、Efficitent NAS (ENAS) が発表されています。対象を CNN に絞った NASNet でも計算量が削減されたとはいえ、まだまだ現実で利用するには程遠い状態でした。ENASになって現実の世界で利用可能になったと考えられます。
今回は雰囲気、用語、原論文へのリンクのみでしたが NAS についてまとめてみました。
では、ごきげんよう。
この記事が気に入ったらサポートをしてみませんか?