YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

ニューラルアーキテクチャ探索(NAS)

ニューラルアーキテクチャ探索 (NAS) がディープラーニングモデルの設計をどのように自動化するかを学びましょう。その中核となるメカニズムを発見し、Ultralytics YOLO26 のような最適化されたモデルを探求してください。

ニューラルアーキテクチャ探索 (NAS) は、人工ニューラルネットワークの設計を自動化する自動機械学習 (AutoML)の領域における高度な技術です。従来、高性能なディープラーニング (DL)アーキテクチャの設計には、広範な人間の専門知識、直感、および時間のかかる試行錯誤が必要でした。NASは、この手動プロセスを、特定のタスクに最適な構造を発見するために広範なネットワークトポロジーを体系的に探索するアルゴリズム戦略に置き換えます。さまざまな層と操作の組み合わせをテストすることで、NASは精度、計算効率、または推論速度の点で人間が設計したモデルを大幅に上回るアーキテクチャを特定できます。

NASの主要なメカニズム

優れたアーキテクチャを発見するプロセスは、一般的に最適なニューラルネットワーク(NN)を見つけるために相互作用する3つの基本的な側面を含みます。

  1. 探索空間: これは、アルゴリズムが探索できるすべての可能なアーキテクチャのセットを定義します。これは、畳み込みフィルター、プーリング層、およびさまざまな活性化関数などの構成要素のライブラリのように機能します。適切に定義された探索空間は、探索が計算上実行可能であることを保証しつつ、イノベーションのための十分な柔軟性を許容するために複雑さを制約します。
  2. 探索戦略: すべての可能性をテストする(ブルートフォース)のではなく、NASはインテリジェントなアルゴリズムを採用して探索空間を効率的にナビゲートします。一般的なアプローチには、エージェントが時間とともに優れたアーキテクチャを生成することを学習する強化学習や、最高のパフォーマンスを発揮するモデルを変異させて組み合わせ、より優れた候補を生み出す進化的アルゴリズムなどがあります。
  3. 性能評価戦略: 全ての候補ネットワークをゼロからトレーニングすることは、非常に時間がかかります。これを加速するために、NASは、少ないエポックでのトレーニング、低解像度のプロキシデータセットの使用、または重み共有の採用といった推定技術を用いて、候補アーキテクチャの可能性を迅速にランク付けします。

実際のアプリケーション

NASは、ハードウェアの制約や性能要件が厳しい業界において非常に重要となり、コンピュータビジョン (CV)やその他のAI分野の限界を押し広げています。

  • 効率的なエッジコンピューティング: モバイルデバイスにAIをデプロイするには、軽量かつ高速なモデルが必要です。NASは、高い精度を維持しながら推論レイテンシを最小限に抑えるMobileNetV3EfficientNetのようなアーキテクチャを発見するために広く使用されています。これは、スマートカメラでのリアルタイムビデオ分析や自律型ドローンなどのエッジAIアプリケーションにとって不可欠です。
  • 医療画像: 医療画像解析において、精度は最も重要です。NASは、X線やMRIスキャンにおける微妙な異常をdetectするようにネットワークを調整でき、人間エンジニアが見落とす可能性のある新しい特徴抽出経路をしばしば発見します。これにより、脳腫瘍や骨折などの状態をより高い感度で特定するための、より信頼性の高いツールが生まれます。

NASと関連概念

NASの具体的な役割を理解するには、類似の最適化手法との違いを区別することが有用である:

  • NASとハイパーパラメータ調整:どちらも最適化を伴うが、 ハイパーパラメータ調整は 固定されたアーキテクチャに対し、 学習率 やバッチサイズなどの設定値を調整することに焦点を当てる。 一方、NASは層の数やニューロンの接続方法など、 モデル自体の根本的な構造そのものを変更する。
  • NAS対転移学習: 転移学習は既存の事前学習済みモデルを用い、 その重みを新たなタスクに適応させる。 NASは学習開始前にモデルアーキテクチャを一から構築する(またはより優れたバックボーンを探索する)。

NAS由来モデルの活用

NASによる完全な探索を実行するにはGPU リソースが必要ですが、開発者はNASを通じて作成されたモデルを容易に利用できます。例えば、YOLOアーキテクチャYOLO物体検出タスク向けに最適化するため、これらの探索原理を用いて発見されました。

Python 、事前学習済みNASモデルをロードして使用する方法を示しています。 ultralytics パッケージで提供される:

from ultralytics import NAS

# Load a pre-trained YOLO-NAS model (architecture found via NAS)
# 'yolo_nas_s.pt' refers to the small version of the model
model = NAS("yolo_nas_s.pt")

# Run inference on an image to detect objects
# This utilizes the optimized architecture for fast detection
results = model("https://ultralytics.com/images/bus.jpg")

# Print the top detected class
print(f"Detected: {results[0].names[int(results[0].boxes.cls[0])]}")

NASの複雑さなしに最先端モデルを学習したい方には、Ultralytics YOLO26が、研究における最新の進歩を取り入れた、箱から出してすぐに使える高度に最適化されたアーキテクチャを提供します。Ultralytics Platformを使用することで、これらのモデルのデータセット、トレーニング、デプロイメントを簡単に管理でき、MLOpsライフサイクル全体が簡素化されます。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。