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

畳み込みニューラルネットワーク(CNN)

畳み込みニューラルネットワーク(CNN)が現代のコンピュータービジョンをどのように支えるかを探求します。層、アプリケーション、そしてリアルタイムAIのためにUltralytics YOLO26を実行する方法を学びましょう。

畳み込みニューラルネットワーク(CNN)は、格子状のトポロジーを持つデータ、特にデジタル画像を処理するために設計された特殊な深層学習アーキテクチャである。視覚野の生物学的構造に着想を得たCNNは、入力データ内の空間的関係を保持する独自の能力を持つ。 従来型ニューラルネットワークが画像を長い数値リストに平坦化するのとは異なり、CNNは画像の小さな重なり合う領域を分析し、単純なエッジやテクスチャから複雑な形状や物体に至る特徴の階層構造を自動的に学習します。この能力が、現代のコンピュータビジョン(CV)システムの基盤技術となっています。

畳み込みニューラルネットワークの仕組み

CNNの力は、複雑な画像を、良好な予測を得るために重要な特徴を失うことなく、処理しやすい形式に削減する能力にあります。これは、入力ボリュームを出力クラスまたは値に変換する、異なる層のパイプラインを通じて実現されます。

  • 畳み込み層: これはコアとなる構成要素です。学習可能なフィルター(またはカーネル)のセットを使用し、懐中電灯のように入力画像上をスライドします。各位置で、フィルターは畳み込みと呼ばれる数学的演算を実行し、水平線や色勾配などの特定のパターンを強調する特徴マップを作成します。
  • 活性化関数: 畳み込みの後、出力に非線形関数が適用されます。最も一般的な選択肢は、負のピクセル値をゼロにするReLU(Rectified Linear Unit)です。これにより非線形性が導入され、ネットワークは単純な線形関係を超えた複雑なパターンを学習できるようになります。
  • プーリング層:ダウンサンプリングとも呼ばれ、特徴マップの次元を削減する層である。 最大値プーリングなどの手法は、領域内で最も重要な特徴(最高値)のみを保持し、 これにより計算負荷が軽減され、過学習の防止に寄与する。
  • 完全接続層:最終段階では、処理された特徴量が平坦化され、標準的なニューラルネットワーク(NN)に入力される。この層は、前の層で識別された高次元特徴量を用いて、「猫」や「犬」といった最終的な分類や予測を行う。

実際のアプリケーション

CNNは超人的な精度で視覚的タスクを自動化し、産業を変革した。

  • 医療診断: ヘルスケアにおいて、CNNは人間の目よりも速く医用スキャン内の異常を特定することで、放射線科医を支援します。例えば、ディープラーニングモデルはMRIおよびCTスキャンを解析し、腫瘍や骨折の初期兆候をdetectします。放射線医学におけるAIに関する研究は、これらのツールが診断の一貫性と速度をどのように向上させるかを強調しています。
  • 自律システム:自動運転車は周囲を認識するためにCNNに大きく依存している。YOLO26のようなモデルは効率的なCNNバックボーンを活用し、リアルタイム物体検出を実行。歩行者、交通標識、他車両を識別し、瞬時の運転判断を下す。

CNNs 対 ビジョントランスフォーマー (ViT)

CNNは長らく視覚タスクの標準であったが、新たに登場したアーキテクチャである ビジョン・トランスフォーマー(ViT)が台頭している。

  • CNNは局所特徴を使用して画像を処理し、「帰納バイアス」(近くのピクセルが関連していると仮定する)により、小規模なデータセットで非常に効率的です。エッジデバイスでのリアルタイム推論を必要とするシナリオで優れています。
  • ViTsは画像をパッチに分割し、グローバルな自己注意機構を用いて処理する。これにより画像全体にわたる長距離依存関係を捕捉できるが、効果的に学習させるには通常、膨大なデータセットとより多くの計算能力を必要とする。

実施例

現代のライブラリは、CNNベースのモデルを簡単に使用できるようにします。 ultralytics このパッケージは、高速推論のための高度に最適化されたCNNアーキテクチャを備えたYOLO26などの最先端モデルへのアクセスを提供します。

以下の例は、事前学習済みCNNモデルを読み込み、予測を実行する方法を示しています:

from ultralytics import YOLO

# Load a YOLO26 model, which uses an advanced CNN architecture
model = YOLO("yolo26n.pt")

# Run inference on an image to identify objects
results = model("https://ultralytics.com/images/bus.jpg")

# Display the prediction results
results[0].show()

開発のためのツール

CNNの開発は、堅牢なオープンソースツールのエコシステムによって支えられています。エンジニアは通常、カスタムアーキテクチャを構築するためにPyTorchTensorFlowなどのフレームワークを使用します。これらのライブラリは、畳み込みとバックプロパゲーションに必要な低レベルのtensor操作を提供します。

データ収集からデプロイメントまで、コンピュータービジョンプロジェクトのライフサイクルを合理化したいチームにとって、Ultralytics Platformは包括的なソリューションを提供します。これにより複雑なワークフローが簡素化され、開発者はインフラストラクチャの管理ではなく、CNNをビジネス問題の解決に適用することに集中できます。さらに、モデルはエッジデバイスでの高性能デプロイメントのために、ONNXTensorRTなどの形式にエクスポートできます。

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

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