NAS探索空間(エヌエーエスタンサククウカン)
Neural Architecture Searchにおいて候補アーキテクチャが取りうる構造の範囲を定義する設計空間。セル単位・ブロック単位・ネットワーク全体の階層で構成され、探索空間の設計がNASの成否を大きく左右する。
NAS探索空間とは
NAS探索空間(Search Space)は、Neural Architecture Searchで探索対象となるニューラルネットワーク構造の候補集合を定義するものだ。どのような演算(Convolution、Pooling、Skip Connectionなど)を選択肢に含め、どのような接続パターンを許容するかを規定する。探索空間が狭すぎると最適解を見逃し、広すぎると探索コストが爆発するため、適切な設計が極めて重要だ。
探索空間の階層構造
マクロ探索空間(Network-Level)
ネットワーク全体の構造(層数、各層のチャネル数、ダウンサンプリングの位置)を探索する。自由度が最も高いが探索コストも最大だ。初期のNASNet(2017年)はこのレベルで探索し、500 GPU-daysを要した。
セル探索空間(Cell-Level)
ネットワークを繰り返し単位(セル)に分解し、セル内部の構造のみを探索する。NASNet以降の主流で、Normal Cell(解像度維持)とReduction Cell(解像度半減)の2種類を探索するのが一般的だ。
ブロック探索空間(Block-Level)
MobileNet系のInverted Residual Block内部(expansion ratio、カーネルサイズ、SE有無)を探索する。MnasNet(2019年)やEfficientNetがこの粒度を採用した。
| 階層 | 探索対象 | 自由度 | 探索コスト | 代表手法 |
|---|---|---|---|---|
| マクロ | ネットワーク全体 | 最大 | 数百GPU-days | 初期NAS |
| セル | セル内部構造 | 中 | 1-10 GPU-days | DARTS, NASNet |
| ブロック | ブロック内パラメータ | 小 | 数時間-1日 | MnasNet, OFA |
主要な演算候補(Operation Set)
探索空間に含める演算の種類は精度と効率のトレードオフを決定する。
| 演算 | パラメータ数 | 計算コスト | 用途 |
|---|---|---|---|
| Conv 3x3 | 9×C² | 中 | 汎用的な特徴抽出 |
| Conv 5x5 | 25×C² | 高 | 広い受容野 |
| Depthwise Sep Conv 3x3 | 9×C + C² | 低 | モバイル向け |
| Dilated Conv 3x3 | 9×C² | 中 | セマンティックセグメンテーション |
| Max Pool 3x3 | 0 | 低 | ダウンサンプリング |
| Average Pool 3x3 | 0 | 低 | 平滑化 |
| Skip Connection | 0 | 最低 | 残差接続 |
| Zero(None) | 0 | 0 | 接続なし |
Transformer向け探索空間
LLM時代にはTransformer固有の探索空間設計が重要になっている。
- Attention構成: Head数(4/8/12/16/32)、Head Dim(32/64/128)、GQA/MQA/MHA選択
- FFN構成: Hidden Dim比率(2x/4x/8x)、SwiGLU/GeLU/ReLU選択
- 位置エンコーディング: RoPE/ALiBi/Sinusoidal/Learned
- 正規化: Pre-LN/Post-LN/RMSNorm/DeepNorm
探索空間設計のベストプラクティス
- 既知の良構造を含める: ResNet的なSkip Connectionは必須
- 冗長な選択肢を排除: 精度に寄与しない演算は除外してコスト削減
- ハードウェア親和性: デプロイ先のハードウェアで効率的な演算に限定
- 階層的に絞り込む: まずマクロ構造を決め、次にセル/ブロックを探索
FAQ
Q: 探索空間を広げれば必ず良いモデルが見つかりますか?
A: 理論的には広い探索空間が有利だが、実用上は探索コストの爆発と評価ノイズの増大により、むしろ精度が下がることがある。適度に制約を設けた探索空間の方が安定して良い結果を出す。
Q: 自分でカスタム探索空間を設計するにはどうすればよいですか?
A: NNI(Microsoft)やAutoGluon(Amazon)などのフレームワークが探索空間の定義APIを提供している。PyTorchのnn.Moduleを拡張して選択可能な演算をラップし、探索戦略に渡す形が一般的だ。
Q: CNNとTransformerで探索空間は共有できますか?
A: 基本的に別設計が必要だ。CNNはカーネルサイズや接続パターンが主軸、Transformerはhead数やFFN比率が主軸で、探索の次元が根本的に異なる。ただしHybridモデル(CNN+Attention)向けの統一探索空間の研究も進んでいる。