Receptive Field
受容野がニューラルネットワークの視覚範囲をどのように定義するかを解説します。Ultralytics YOLO26が空間コンテキストを最適化し、あらゆるサイズのオブジェクトを効果的に検出する方法を学びましょう。
コンピュータビジョン (CV)およびディープラーニングの領域において、受容野とは、ニューラルネットワーク (NN)内の特定のニューロンが「見る」または分析する入力画像の特定の領域を指します。概念的には、人間の目やカメラレンズの視野と同様に機能します。これは、モデルが特定のレイヤーでどれだけの空間的コンテキストを認識できるかを決定します。畳み込みニューラルネットワーク (CNN)を通じてデータが処理されるにつれて、受容野は通常拡大し、システムがエッジや角のような小さな局所的詳細の識別から、オブジェクトやシーン全体のような複雑でグローバルな構造の理解へと移行できるようになります。
受容野のメカニズム#
受容野のサイズと深さは、ネットワークのアーキテクチャによって決定されます。初期のレイヤーでは、ニューロンは通常小さな受容野を持ち、きめ細かなテクスチャを捉えるために小さなピクセルのクラスターに焦点を当てます。ネットワークが深くなるにつれて、プーリングレイヤーやストライド畳み込みなどの操作が、特徴マップを効果的にダウンサンプリングします。このプロセスにより、後続のニューロンは元の入力のはるかに大きな部分からの情報を集約できるようになります。
最先端のUltralytics YOLO26を含む最新のアーキテクチャは、これらのフィールドを綿密にバランスさせるように設計されています。受容野が狭すぎる場合、モデルは全体的な形状を認識できないため、大きなオブジェクトの認識に失敗する可能性があります。逆に、解像度を維持せずにフィールドが広すぎる場合、モデルは小さなオブジェクトを見逃す可能性があります。これに対処するため、エンジニアはディレテッド畳み込み(アトラス畳み込みとも呼ばれます)を使用して、空間解像度を低下させることなく受容野を拡大することがよくあります。これは、セマンティックセグメンテーションのような高精度なタスクに不可欠な手法です。
実社会での応用#
受容野の最適化は、さまざまなAIソリューションの成功にとって不可欠です。
- 自動運転: 自動車向けAIにおいて、知覚システムは微細な詳細と大きな障害物を同時に追跡する必要があります。車両は、遠くの信号機を識別するために小さな受容野を必要とする一方で、近くのトラックの軌道や道路の車線の曲率を理解するために大きな受容野を同時に必要とします。このマルチスケール知覚により、より優れたAI安全性と意思決定が確保されます。
- 医療診断: ヘルスケアにおけるAIを適用する場合、放射線科医はスキャン内の異常を見つけるためにモデルに依存します。脳腫瘍を特定するためには、ネットワークは脳全体の対称性と構造を理解するために大きな受容野を必要とします。しかし、マンモグラフィで微小石灰化を検出するために、モデルは微妙なテクスチャの変化に敏感な小さな受容野を持つ初期のレイヤーに依存します。
関連概念の区別#
ネットワーク設計を完全に理解するためには、受容野を類似の用語と区別することが役立ちます。
- 受容野とカーネルの比較: カーネル(またはフィルター)サイズは、単一の畳み込み操作のスライディングウィンドウの寸法(例:3x3)を定義します。受容野は、ニューロンに影響を与える累積入力領域全体を表す創発的プロパティです。複数の3x3カーネルのスタックは、3x3よりもはるかに大きな受容野をもたらします。
- 受容野と特徴マップの比較: 特徴マップは、学習された表現を含む、レイヤーによって生成される出力ボリュームです。受容野は、その特徴マップ上の単一の点と元の入力画像との関係を説明します。
- 受容野とコンテキストウィンドウの比較: どちらの用語も認識されたデータの範囲を指しますが、「コンテキストウィンドウ」は通常、自然言語処理 (NLP)または動画分析で使用され、時間的または順序的なスパン(例:トークン制限)を示します。受容野は、グリッド状のデータ(画像)における空間領域を厳密に指します。
コードにおける実用的な使用方法#
新しいYOLO26のような最先端のモデルは、Feature Pyramid Networks (FPN) を活用して、あらゆるサイズのオブジェクトに対して効果的な受容野を維持します。以下の例は、これらの内部アーキテクチャの最適化を自動的に活用しながら、モデルをロードして物体検出を実行する方法を示しています。最適化されたアーキテクチャを使用して独自のモデルをトレーニングしようとするユーザーは、シームレスなデータセット管理とクラウドトレーニングのためにUltralytics プラットフォームを利用できます。
from ultralytics import YOLO
# Load the latest YOLO26 model with optimized multi-scale receptive fields
model = YOLO("yolo26n.pt")
# Run inference; the model aggregates features from various receptive field sizes
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results, detecting both large (bus) and small (person) objects
results[0].show()





