コンピュータービジョンと深層学習における畳み込みの基礎を探求します。カーネルと特徴マップがどのように Ultralytics YOLO26 をリアルタイムタスクで支えているかを学びましょう。
畳み込みは、現代のコンピュータービジョン(CV)および深層学習(DL)システムの核となる構成要素として機能する基本的な数学的操作です。画像処理の文脈では、畳み込みは、入力画像上で小さなフィルター(しばしばカーネルと呼ばれる)をスライドさせ、重要な特徴のマップを作成する操作を伴います。このプロセスにより、人工知能(AI)モデルは、人間の介入なしに、エッジ、テクスチャ、形状などのパターンを自動的に学習し、識別することができます。手動での特徴抽出を必要とすることが多い従来の機械学習(ML)とは異なり、畳み込みは、ネットワークが単純な線から始まり、顔や車両のような複雑なオブジェクトへと進む、視覚データの階層的な理解を構築することを可能にします。
この操作は、入力データにフィルターを適用し、要素ごとの乗算を実行し、結果を合計して各位置の単一の値を生成することで機能します。この出力は特徴マップとして知られています。
畳み込みを完全に理解するには、ニューラルネットワーク (NN)の文献でよく見られる類似の用語と区別することが役立ちます。
畳み込みの効率性により、AIは堅牢な知覚システムを強化することで、様々な産業に革命をもたらすことが可能になりました。
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のデプロイメントに最適です。同じカーネルが画像全体で共有される(パラメータ共有)ため、モデルは従来の全結合アーキテクチャよりも大幅に少ないメモリで済みます。この効率性により、高度なモデルをスマートフォンやIoTデバイスで実行することが可能になります。
カスタムデータセットにこれらの操作を活用したいチームにとって、Ultralytics Platformは、複雑なインフラストラクチャを管理することなく、画像をアノテーションし、畳み込みベースのモデルをトレーニングするためのシームレスな環境を提供します。転移学習を使用することで、事前学習済みの畳み込み重みをファインチューニングし、最小限のトレーニングデータで新しいオブジェクトを認識させることができます。
未来の機械学習で、新たな一歩を踏み出しましょう。