1. 定義と概要
NASNetとは、Googleの研究者ら(Barret Zoph氏ほか)が2017年に論文として発表した(2018年のCVPRで正式発表)、画像認識向けのモデルです。CNN(畳み込みニューラルネットワーク。画像認識で広く使われる、画像の特徴を段階的に抽出するネットワーク構造)の一種です。論文『Learning Transferable Architectures for Scalable Image Recognition』で示された、NASによる自動設計の成果にあたります。
ネットワーク全体を一から探索するのではなく、小さな構成単位であるセル(何度も繰り返し使う小さなネットワークの構成単位)を探索し、そのセルを何層も積み重ねてネットワークを構築する点が特徴です。
従来のNASは、ネットワーク全体の構造を丸ごと探索対象にしていました。そのため、探索にかかる計算コストが膨大になるという課題がありました。
NASNetはこの課題に対し、CIFAR-10(10種類の物体に分類された小型画像のデータセット)のような小規模なデータセットでセルだけを探索しました。その結果をImageNet(画像認識の代表的な大規模データセット)向けの大きなネットワークへ積み重ねて転用するという工夫で対応しました。この手法で構築したモデルは人間が設計した既存モデルを上回る精度を示し、自動設計への注目を高めています。
2. 試験対策ポイント
セル単位での探索という発想が、NASNetの核心です。ネットワーク全体を丸ごと探索するのではなく、繰り返し使う小さな構成単位であるセルだけを小規模データセットで探索し、それを何層も積み重ねて大きなネットワークを構築するという転用の工夫が、他のNAS手法との違いとしてまず整理したい点です。
セルには2種類あります。特徴マップ(画像から抽出した特徴を数値の格子として表したもの)の扱い方が、両者の分かれ目です。
| セルの種類 | 積み重ねたときの効果 |
|---|---|
| Normal Cell(入力と出力で特徴マップのサイズを変えないセル) | 何層通ってもサイズは変わらない |
| Reduction Cell(特徴マップの縦横のサイズを半分に縮小するセル) | ストライド(畳み込み処理をずらしていく幅)を利用して縦横が半分になる |
この2種類を組み合わせて積み重ねる設計は、あわせて整理しておきたいところです。
セルの探索は、RNN(再帰型ニューラルネットワーク。過去の情報を記憶しながら順序のあるデータを扱うネットワーク)を使ったコントローラが候補となるセルの構成を生成する仕組みです。実際に学習させた際の精度を報酬として、強化学習(試行錯誤の結果得られる報酬をもとに、より良い行動を学習していく手法)で改善していきます。
論文では数百台規模のGPUを何日も使う計算資源を投じたと報告されており、探索そのものに大きな計算コストがかかる点は取り違えやすいところです。この計算コストは探索時にかかるものであり、学習済みモデルを利用する側の計算コストとは別の話になります。
この探索コストの高さは後続の研究にも引き継がれた論点です。モバイル向けに実機で推論(学習済みモデルを使って答えを出す処理)する際の速度、いわゆるレイテンシも探索の目的に含めたMnasNet(実機の推論速度も考慮して探索されたモバイル向けモデル)は、その代表例にあたります。複合スケーリングを用いたEfficientNet(深さ・幅・解像度を同時に拡大してバランスよく大規模化するモデル)も、NAS系モデルの系譜として名前だけあわせて押さえておきたいところです。
3. 関連概念との比較・相違点
NASとの最大の違いは、抽象度の階層にあります。NASはネットワーク構造を自動探索する手法の枠組み全体を指す上位概念です。NASNetは、その枠組みを使って実際に設計された具体的なモデルの名称という関係にあります。手法の総称と、その手法で作られた個別の成果物という位置づけの違いです。
MnasNetとの最大の違いは、探索の目的関数(探索の際に何を良くしようとするかを表す評価の基準)にあります。NASNetは精度を主目的に探索されたのに対し、MnasNetはスマートフォンなど実機上での推論速度も探索の目的関数に加えたモデルです。同じNAS系の手法でも、何を良しとして探索するかが異なります。
EfficientNetとの最大の違いは、何を探索・調整の対象にするかという点にあります。NASNetはセルの構造そのものを探索するのに対し、EfficientNetは深さ・幅・解像度を一定の比率で同時に拡大する複合スケーリングによって効率よく大規模化する手法です。前者は構成単位の設計に、後者は既存構造の拡大バランスに主眼を置いているという違いがあります。
4. ビジネス・実務での活用シナリオ
画像認識システム開発の現場では、KerasやTensorFlowの標準ライブラリにNASNetLarge・NASNetMobileという学習済みモデルが用意されています。開発者はゼロから構造を設計せず、この学習済みモデルを土台に自社の画像データで再学習する転移学習(既に学習済みのモデルを土台にして、別のタスク向けに再学習する手法)を行うことで、分類システムを短期間で用意できる仕組みです。構造設計という手間の掛かる工程を、探索済みの成果物で肩代わりできる点に意義があります。
研究開発やモデル選定の場面では、精度を優先したい場合は大規模版のNASNetLarge、計算資源を抑えたい場合は軽量版のNASNetMobileという使い分けが可能です。探索の計算コストは開発時に一度発生するだけで、利用時は確定済みの構造をそのまま使えばよいという整理が成り立ちます。探索という重い工程と、利用という軽い工程が分離されている点が実務上の利点です。
物体検出などの画像認識実務では、NASNetは特徴抽出を担うバックボーン(モデルの土台となる特徴抽出部分)としても使われます。既存の自動設計構造を流用することで、モデル開発における構造設計という工程そのものを省略できる点が特徴です。ゼロから設計する時間とコストを、検出精度の向上や業務特化のチューニングに振り向けられる意義があります。
5. 要点まとめ
- NASNetは、NAS(Neural Architecture Search)によって自動設計された画像認識向けのモデルで、「Normal Cell」と「Reduction Cell」という2種類のセルを積み重ねる構造を持ちます。
- 小規模データセットでセルを探索し、それを大規模データセット向けのネットワークへ積み重ねて転用するという発想が、他のNAS手法との違いとして整理したい点です。
- セルの探索には強化学習によるコントローラと膨大な計算資源が必要という課題があり、この課題への対応はMnasNetやEfficientNetなど後続モデルの系譜につながっています。
6. 確認問題
問1NASNetは、ネットワーク全体の構造を一から探索するのではなく、繰り返し使う小さな構成単位であるセルを探索し、それを積み重ねて大きなネットワークを構築する。
解答・解説をみる
○ 正しい
セル単位の探索と積み重ねによる転用が、NASNetの中心的な工夫です。小規模データセットで探索したセルを、大規模なタスク向けのネットワークへ転用する設計になっています。
問2NASNetのセルは1種類のみで、「Normal Cell」と「Reduction Cell」という区別は存在しない。
解答・解説をみる
× 誤り
正しくは、NASNetのセルは特徴マップのサイズを変えない「Normal Cell」と、サイズを半分に縮小する「Reduction Cell」の2種類があり、これらを組み合わせて積み重ねる構造です。1種類のみという記述は誤りです。
問3NASNetのアーキテクチャ探索には強化学習を用いたコントローラによる候補構成の生成と評価が使われ、多数のGPUを要する計算コストの高さが課題として知られている。
解答・解説をみる
○ 正しい
論文ではRNNによるコントローラがセルの候補構成を生成し、実際の精度を報酬として強化学習で改善する仕組みが報告されています。数百台規模のGPUを要する計算コストの高さが知られています。

