Yolo 深圳
深セン
今すぐ参加
用語集

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

Explore how Convolutional Neural Networks (CNNs) power modern computer vision. Learn about layers, applications, and how to run Ultralytics YOLO26 for real-time AI.

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

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

CNNの真価は、複雑な画像を処理しやすい形式に還元しつつ、良好な予測を得るために不可欠な特徴を損なわない点にある。これは、入力ボリュームを出力クラスまたは値へ変換する一連の異なる層からなるパイプラインによって達成される:

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

実際のアプリケーション

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

  • 医療診断:医療分野において、CNN(深層神経ネットワーク)は放射線科医を支援し、医療画像における異常を人間の目よりも迅速に特定する。例えば、深層学習モデルはMRIやCTスキャンを分析し、腫瘍や骨折detect 兆候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の開発は、オープンソースツールの堅牢なエコシステムによって支えられています。エンジニアは通常、PyTorchやTensorFlowなどのフレームワークを使用します。 PyTorchTensorFlow などのフレームワークを使用してカスタムアーキテクチャを構築します。これらのライブラリは畳み込みや バックプロパゲーションに必要な低次元のtensor を提供します。

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

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加