物体検出、画像認識、医療用画像処理などのタスクを正確に実行できるようにする、コンピュータ・ビジョンにおける畳み込みがどのようにAIに力を与えるかを学ぶ。
畳み込みは、人工知能、特にコンピュータビジョン(CV)の分野で広く使われている基本的な数学演算である。畳み込みは畳み込みニューラルネットワーク(CNN)の重要な構成要素として機能し、画像や動画などのグリッド状のデータから直接、複雑で階層的なパターンを自動的に学習することができる。このプロセスでは、カーネルと呼ばれる小さなフィルターを入力信号や画像に適用する。この操作により、特徴マップと呼ばれる出力が生成され、カーネルが検出するように設計された特定のパターン(エッジ、テクスチャ、形状など)が強調される。
コンボリューションのプロセスは、大きな画像(入力データ)の上を小さな虫眼鏡(カーネルまたはフィルター)を滑らせるようなものだと考えてほしい。それぞれの位置で、カーネルは入力の小さなパッチに焦点を合わせる。そしてコンボリューション演算は、カーネル内で定義された重みを使って、このパッチ内のピクセル値の重み付き合計を計算する。この計算された値が、結果として得られる出力特徴マップの1ピクセルとなる。カーネルは入力画像全体を系統的にステップ・バイ・ステップで移動し、そのステップ・サイズは「ストライド」と呼ばれるパラメータで決定されます。出力サイズを制御するために、入力画像の周囲に「パディング」(余分な境界ピクセルを追加すること)が使われることもあります。1つの畳み込み層の中で複数のカーネルを適用することで、CNNは入力から多様な特徴を同時に抽出することができる。スタンフォード大学のCS231nコースノートにあるような視覚的な説明は、さらなる直感を与えてくれる。
いくつかのパラメータが畳み込み演算を定義する:
畳み込みはCNNの中で他の演算と一緒に使われることが多いが、明確な目的がある:
畳み込み層は、現代の数多くのAIアプリケーションに不可欠である:
物体検出では、CNNは畳み込み層を使用して画像から特徴を抽出し、物体を識別し、バウンディングボックスを使用してその位置を決定することができる。以下のような最先端のモデル Ultralytics YOLOなどのバージョンを含む YOLO11のような最先端のモデルは、効率的で正確な検出を行うために、様々なスケールで特徴を分析する畳み込みに大きく依存している。これは、自動運転車(Waymoの技術を参照)が安全なナビゲーションのために歩行者、車両、交通標識を認識することを可能にするなど、自動車用途のAIにとって不可欠であり、多くの場合、リアルタイムの推論が必要となる。
畳み込みは医療画像解析において重要な役割を果たし、X線、CTスキャン、MRIなどのスキャンを解釈する際に医療専門家を支援する。CNNで構築されたAIモデルは、腫瘍や骨折などの病気を示す微妙なパターンを検出することができ、時には人間のスピードや精度を上回ることもある(Radiology: Artificial Intelligence)。例えば、腫瘍検出のためにYOLO11 使用するなど、特定のタスクのためにモデルを訓練することができる。ヘルスケアにおけるAIソリューションの詳細をご覧ください。
これらの他にも、畳み込みは画像認識や 画像セグメンテーションのような視覚タスクの基本となっている。
畳み込みは現代のディープラーニング(DL)の基礎であり、特にグリッド状のデータを含むタスクに適している。空間的な局所性(近くのピクセルは関連していると仮定する)を利用し、異なる場所でパラメータを共有するその能力により、CNNは従来の完全連結ネットワークと比較して、視覚階層の学習において非常に効率的かつ効果的である。
畳み込みを使用するモデルの実装とトレーニングは、様々な深層学習フレームワークによって容易になる。例えば PyTorchPyTorch 公式サイト)や TensorFlowTensorFlow 公式サイト)のようなライブラリは、CNNを構築するための堅牢なツールを提供する。Ultralytics HUBのようなプラットフォームはモデル学習プロセスを合理化し、ユーザーは畳み込みを組み込んだ事前構築済みのアーキテクチャを活用したり、特定のアプリケーション用にカスタムモデルを学習したりできる。Kerasのような高レベルのAPIは、さらに開発を簡素化する。