用語集

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

畳み込みニューラルネットワーク(CNN)がコンピューター・ビジョンにどのような革命をもたらし、ヘルスケアや自動運転車などのAIにどのようなパワーを与えているかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

畳み込みニューラルネットワーク(CNN)は、ディープラーニングモデルの一種で、画像や動画などのビジュアルデータの分析に特に適している。従来のニューラルネットワークとは異なり、CNNは入力データから特徴の空間的階層を自動的かつ適応的に学習するように設計されている。これは、エッジやテクスチャ、より複雑な形状のようなパターンを検出するために、畳み込みのような数学的演算を実行する層によって実現される。CNNはコンピュータ・ビジョン(CV)の分野に革命をもたらし、機械が視覚情報を解釈・理解する方法を大幅に進歩させた。

コア・コンポーネントと機能性

CNNは数種類のレイヤーから構成され、それぞれが視覚データを処理する上で明確な役割を果たす:

  • 畳み込みレイヤー:これらのレイヤーは、フィルタを使用して入力画像をスキャンし、特定のパターンを強調する特徴マップを作成する。各フィルタは、垂直エッジやカーブなど、特定の特徴の検出を担当します。畳み込み処理の詳細については、畳み込みを参照してください。
  • プーリング層:一般的に畳み込み層の後に使用されるプーリング層は、特徴マップの空間次元を減らし、計算負荷を軽減し、オーバーフィッティングを防ぐのに役立つ。一般的なタイプには、最大プーリングと平均プーリングがあります。
  • 活性化関数: 活性化関数はネットワークに非線形性を導入し、複雑なパターンの学習を可能にする。ReLU(整流線形ユニット)やその変形であるLeaky ReLUなどがよく使われる。
  • 完全接続層:これらの層は、従来のニューラルネットワークと同様に、前の層から次の層へとすべてのニューロンを接続する。この層は通常、ネットワークの末尾に配置され、畳み込み層によって抽出された特徴に基づいて最終的な分類や予測を行う。
  • ドロップアウト層これらのレイヤーは、トレーニング時間中の更新ごとに入力ユニットの何割かをランダムに0にすることで、オーバーフィッティングを防ぐのに役立つ。

他のニューラルネットワークとの主な違い

すべてのニューラルネットワークは相互接続されたノードという基本概念を共有しているが、CNNはリカレント・ニューラル・ネットワーク(RNN)や基本的なフィードフォワード・ネットワークのような他のタイプとは大きく異なる:

  • 空間階層:CNNはデータ内の空間的階層を捉えることに優れており、画像や映像の分析に極めて重要である。一方、RNNはシーケンシャルなデータ用に設計されているため、自然言語処理(NLP)や時系列分析などのタスクに適している。
  • パラメータの共有:CNNでは、入力空間全体でフィルターが共有されるため、完全連結ネットワークに比べてパラメーターの数が大幅に削減される。これはCNNをより効率的にするだけでなく、視覚的なタスクにおいてより優れた汎化を可能にする。
  • 局所受容野:CNNのニューロンは、受容野と呼ばれる入力の局所的な領域にのみ接続されているため、局所的なパターンを効果的に検出することができる。これは、各ニューロンが前の層の全ニューロンに接続されている完全接続ネットワークとは対照的である。

実世界での応用

CNNは様々な領域で目覚ましい能力を発揮している。ここでは、CNNの実際の応用例を2つ紹介する:

  1. 医療画像解析CNNは、X線、CTスキャン、MRIスキャンなどの医療画像の分析に、医療分野で広く使われている。CNNは高い精度で異常を検出し、病気を分類し、臓器をセグメント化することができる。例えば、CNNは腫瘍や骨折などを識別することができ、医師の診断や治療計画に役立つ。画像から複雑なパターンを学習するCNNの能力は、患者の予後を改善する上で非常に貴重である。ヘルスケアにおけるAIについてもっと読む。
  2. 自律走行車:自動運転車は、物体検出画像セグメンテーション、シーン理解のためにCNNに大きく依存している。CNNはカメラからの視覚データを処理して、歩行者、他の車両、交通標識、道路の境界を識別する。この情報はリアルタイムの運転判断に不可欠であり、自律走行車の安全性と効率性を確保します。自動運転車のAIについて詳しくはこちら。

ツールとフレームワーク

CNNの開発と配備は、あらかじめ構築されたレイヤー、最適化アルゴリズム、ハードウェアアクセラレーションを提供するさまざまなツールやフレームワークによって容易になる:

  • PyTorch:柔軟性と使いやすさで知られるオープンソースのディープラーニングフレームワーク。PyTorch 、動的な計算グラフが可能で、研究者や開発者の間で人気がある。
  • TensorFlow: Google によって開発されたTensorFlow は、研究環境と生産環境の両方をサポートする、もう一つの広く使われているフレームワークである。ツール、ライブラリ、コミュニティリソースの包括的なエコシステムを提供している。
  • Keras TensorFlow ユーザーフレンドリーなニューラルネットワークライブラリ。 PyTorch.Kerasは、ディープラーニングモデルの構築とトレーニングのプロセスを簡素化する。
  • Ultralytics YOLO:YOLO" を初めて使用し、Ultralytics YOLO モデルは、CNN アーキテクチャを活用して高精度と高速性を実現した最先端の物体検出モデルです。これらのモデルは、Ultralytics HUBを通じて利用可能であり、モデルのトレーニング、デプロイ、および管理を効率的に行うためのツールを提供しています。

CNNの複雑さを理解することで、ユーザーはAIと機械学習の進歩におけるCNNの重要性をより理解することができる。これらのネットワークは、業界全体の技術革新を推進し続け、現代のコンピュータ・ビジョン・アプリケーションの礎となっています。

すべて読む