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

畳み込み

コンピュータービジョンと深層学習における畳み込みの基礎を探求します。カーネルと特徴マップがどのように Ultralytics YOLO26 をリアルタイムタスクで支えているかを学びましょう。

畳み込みは、現代のコンピュータービジョン(CV)および深層学習(DL)システムの核となる構成要素として機能する基本的な数学的操作です。画像処理の文脈では、畳み込みは、入力画像上で小さなフィルター(しばしばカーネルと呼ばれる)をスライドさせ、重要な特徴のマップを作成する操作を伴います。このプロセスにより、人工知能(AI)モデルは、人間の介入なしに、エッジ、テクスチャ、形状などのパターンを自動的に学習し、識別することができます。手動での特徴抽出を必要とすることが多い従来の機械学習(ML)とは異なり、畳み込みは、ネットワークが単純な線から始まり、顔や車両のような複雑なオブジェクトへと進む、視覚データの階層的な理解を構築することを可能にします。

畳み込みの仕組み

この操作は、入力データにフィルターを適用し、要素ごとの乗算を実行し、結果を合計して各位置の単一の値を生成することで機能します。この出力は特徴マップとして知られています。

  • カーネル:これは、特定の特徴をdetectする小さな数値(重み)の行列です。例えば、Sobelオペレーターは、垂直または水平のエッジをdetectするために使用される特定の種類のカーネルです。
  • スライディングウィンドウ: カーネルは、「ストライド」と呼ばれる定義されたステップサイズを使用して画像を横断します。この空間フィルタリングプロセスは、ピクセル間の関係を保持し、これは画像を理解するために不可欠です。
  • 層階層: 畳み込みニューラルネットワーク (CNN)のような深層アーキテクチャでは、初期層が低レベルの詳細を捉え、より深い層がこれらを組み合わせて高レベルの概念を形成します。

畳み込みと関連概念の比較

畳み込みを完全に理解するには、ニューラルネットワーク (NN)の文献でよく見られる類似の用語と区別することが役立ちます。

  • 相互相関 vs. 畳み込み: 数学的には、真の畳み込みはカーネルを適用する前に反転させることを含みます。しかし、PyTorchライブラリを含むほとんどの深層学習フレームワークは、相互相関(反転させずにスライド)を実装していますが、重みがトレーニング中に学習されるため「畳み込み」と呼んでいます。これにより、反転の区別はパフォーマンスにとって無関係になります。
  • 畳み込み vs. アテンション: 畳み込みが情報を局所的(隣接するピクセル)に処理するのに対し、アテンションメカニズムは、モデルが画像の離れた部分を同時に関連付けることを可能にします。YOLO26のような最新のアーキテクチャは、アテンション層が計算コストが高くなる可能性があるため、リアルタイム推論速度を維持するために高度に最適化された畳み込み層をしばしば利用します。

実際のアプリケーション

畳み込みの効率性により、AIは堅牢な知覚システムを強化することで、様々な産業に革命をもたらすことが可能になりました。

  1. 医療診断: ヘルスケアAIの分野では、畳み込みは高解像度のMRIスキャンの解析に役立ちます。異常を強調するように設計された特定のカーネルを使用することで、モデルは人間の専門家に匹敵する精度で腫瘍や骨折の初期兆候をdetectできます。
  2. 自律走行:自動運転車はリアルタイムの物体検出に畳み込み処理を依存している。 車両が移動するにつれ、畳み込み層が映像フィードを処理し、歩行者、車線マーカー、交通標識を瞬時に識別する。これは自動車安全におけるAIの重要な構成要素である。

Ultralyticsを使用したPython

Pythonを使用して、最先端モデル内の畳み込み層を検査できます。以下の例は、 YOLO26 モデルであり、その初期層が標準的な畳み込み演算を利用していることを検証します。これは〜を介して実装されます。 torch.nn.

import torch.nn as nn
from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Access the first layer of the model's backbone
first_layer = model.model.model[0]

# Verify it is a Convolutional layer
if isinstance(first_layer.conv, nn.Conv2d):
    print("Success: The first layer is a standard convolution.")
    print(f"Kernel size: {first_layer.conv.kernel_size}")

エッジAIにおいて畳み込みが重要な理由

畳み込み演算は高度に最適化可能であり、計算リソースが限られているエッジAIのデプロイメントに最適です。同じカーネルが画像全体で共有される(パラメータ共有)ため、モデルは従来の全結合アーキテクチャよりも大幅に少ないメモリで済みます。この効率性により、高度なモデルをスマートフォンやIoTデバイスで実行することが可能になります。

カスタムデータセットにこれらの操作を活用したいチームにとって、Ultralytics Platformは、複雑なインフラストラクチャを管理することなく、画像をアノテーションし、畳み込みベースのモデルをトレーニングするためのシームレスな環境を提供します。転移学習を使用することで、事前学習済みの畳み込み重みをファインチューニングし、最小限のトレーニングデータで新しいオブジェクトを認識させることができます。

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

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