Capsule Networks (CapsNet)
カプセルネットワーク(CapsNets)と、CNNsの制限を解決する仕組みを探ります。動的ルーティング、空間階層、CapsNetsとYOLO26の比較について学びます。
カプセルネットワークは、CapsNetと略されることが多く、従来のニューラルネットワークに見られる特定の制約を克服するために設計された、ディープラーニング分野の先進的なアーキテクチャです。Geoffrey Hinton氏とそのチームによって提案されたCapsNetは、標準的なモデルよりも人間の脳の生物学的な神経構造を忠実に模倣することを目指しています。一般的な畳み込みニューラルネットワーク (CNN)は特徴の検出に優れていますが、ダウンサンプリングによって空間的な関係を失うことがよくあります。一方、カプセルネットワークはニューロンを「カプセル」と呼ばれるグループに編成します。これらのカプセルは、物体が存在する確率だけでなく、向き、サイズ、テクスチャなどの具体的な特性もエンコードし、画像データ内の階層的な空間関係を効果的に保持します。
従来のCNNの制約#
CapsNetの革新を理解するには、標準的なコンピュータビジョンモデルの動作を確認すると分かりやすくなります。従来のCNNは、計算負荷を軽減し、位置不変性を実現するために、特徴抽出のレイヤーと、それに続くプーリングレイヤー、具体的には最大プーリングを使用します。つまり、CNNは画像内のどこに「猫」がいても、それを識別できます。
しかし、この処理では正確な位置情報が失われることが多く、「ピカソ問題」につながります。CNNは、必要な特徴がすべて存在するというだけで、口が額にあっても顔を正しく分類する可能性があります。CapsNetは、プーリングレイヤーを削除し、物体の空間的階層を尊重する処理に置き換えることで、この問題に対処します。
カプセルネットワークの仕組み#
このアーキテクチャの中核となる構成要素はカプセルです。カプセルは、スカラー値ではなくベクトルを出力する、入れ子状のニューロンの集合です。ベクトル数学では、ベクトルは大きさと方向の両方を持ちます。CapsNetでは、次のようになります。
- 大きさ(長さ): 現在の入力に特定のエンティティが存在する確率を表します。
- 方向(向き): 物体のポーズ推定、スケール、回転などのインスタンス化パラメーターをエンコードします。
下位レイヤーのカプセル(エッジなどの単純な形状を検出)は、上位レイヤーのカプセル(目やタイヤなどの複雑な物体を検出)の出力を予測します。この通信は、「ダイナミックルーティング」または「合意によるルーティング」と呼ばれるアルゴリズムによって管理されます。下位カプセルの予測が上位カプセルの状態と一致すると、それらの間の接続が強化されます。これにより、CNNに回転やスケールを学習させるために通常必要となる大規模なデータ拡張を行わなくても、ネットワークは異なる3D視点から物体を認識できます。
主な違い:CapsNetとCNN#
どちらのアーキテクチャもコンピュータビジョン (CV)の基盤となるものですが、視覚データの処理方法と表現方法が異なります。
- スカラーとベクトル: CNNのニューロンは、特徴の存在を示すためにスカラー出力を使用します。CapsNetは、存在(長さ)とポーズパラメーター(向き)をエンコードするためにベクトルを使用します。
- ルーティングとプーリング: CNNはデータをダウンサンプリングするためにプーリングを使用し、位置の詳細が失われることがよくあります。CapsNetは空間データを保持するためにダイナミックルーティングを使用するため、正確な物体追跡が必要なタスクで非常に効果的です。
- データ効率: カプセルは3D視点とアフィン変換を暗黙的に理解するため、物体のあらゆる回転を学習するために大量の例を必要とするCNNと比べ、より少ないトレーニングデータから一般化できることがよくあります。
実世界での利用例#
CapsNetはYOLO26のような最適化されたモデルよりも計算コストが高いことが多い一方、専門的な分野では明確な利点を提供します。
-
医療画像解析: 医療分野では、異常の正確な向きと形状が重要です。研究者はCapsNetを脳腫瘍セグメンテーションに適用しています。このタスクでは、標準的なCNNでは平滑化される可能性がある微妙な空間的階層に基づいて、腫瘍と周囲の組織を区別する必要があります。関連研究については、医用画像におけるカプセルネットワークをご覧いただけます。
-
重なり合う数字の認識: CapsNetは、数字が重なり合うシナリオにおいて、MNISTデータセットで最先端の結果を達成しました。ネットワークは各数字の「ポーズ」を追跡するため、重なり合う2つの数字(例:5の上にある3)を、混乱した単一の特徴マップに統合するのではなく、別々の物体として分離できます。
実用的な背景と実装#
カプセルネットワークは、主に分類アーキテクチャです。理論的には高い堅牢性を提供しますが、現代の産業用途では、リアルタイム性能のために高速なCNNやTransformerが好まれることがよくあります。ただし、MNISTなど、CapsNetで使用される分類ベンチマークを理解することは有用です。
次の例では、ultralyticsパッケージを使用して、MNISTデータセットで最新のYOLO分類モデルをトレーニングする方法を示します。これは、カプセルネットワークの検証に使用される主要なベンチマークタスクに対応しています。
from ultralytics import YOLO
# Load a YOLO26 classification model (optimized for speed and accuracy)
model = YOLO("yolo26n-cls.pt")
# Train the model on the MNIST dataset
# This dataset helps evaluate how well a model learns handwritten digit features
results = model.train(data="mnist", epochs=5, imgsz=32)
# Run inference on a sample image
# The model predicts the digit class (0-9)
predict = model("https://docs.ultralytics.com/datasets/classify/mnist")カプセルとVision AIの将来#
カプセルネットワークの原理は、AI安全性や解釈可能性の研究に引き続き影響を与えています。カプセルは部分と全体の関係を明示的にモデル化することで、ディープニューラルネットワークの「ブラックボックス」性に対する「ガラスボックス」型の代替手段を提供し、意思決定をより説明可能にします。今後は、カプセルの空間的な堅牢性と、YOLO11や新しいYOLO26のようなアーキテクチャの推論速度を組み合わせ、3D物体検出やロボティクスの性能を向上させることが期待されています。研究者は、合意アルゴリズムの計算コストをさらに削減するために、EMルーティングを用いたマトリクスカプセルについても研究しています。
データセットを効率的に管理し、モデルをトレーニングしたい開発者向けに、Ultralytics Platformは、データへのアノテーション付け、クラウドでのトレーニング、そしてCNNの速度と複雑なビジョンタスクに必要な精度のバランスを取ったモデルのデプロイを行うための統合環境を提供します。









