Wolfram言語

カプセルネットを使う

カプセルネット(CapsNet)は,コンピュータビジョンにおける従来のたたみ込みニューラルネットに代るネットワークの提供を目指す,新しいクラスのニューラルネットである.CapsNetsは,まだ現実世界のアプリケーションでは使われていないが,有望な研究テーマである.この例では,MNIST分類タスクで訓練された最初のカプセルネットワークを示し,これが計算するカプセルベクトルの特性を探る.

訓練済みのCapsNetモデルをWolfram Neural Net Repositoryから得る.

CapsNetは純粋な分類子ではない.これは自動エンコーダでもあり,したがって入力データを再構築することができる.

各クラスについて最終スコアを持つスカラーニューロンを持つ代りに,CapsNetはカプセルベクトルを提供するが,これはスコアをそのノルムで符号化する.スカラーの場合に加え,検出された例の特徴についての情報も,特徴ベクトルと同じような方法でカプセルベクトルの向きに符号化される.ネットワークの"Pick" ブロックからノルムが最高の長さ16のカプセルベクトルを抽出する.

"Reconstruct"ブロックは,レギュラライザとして動作するカプセルベクトルに含まれる情報から入力画像を再構築するように訓練される.再構築の成功は,カプセルベクトルが向きによって検出された特定の例の特徴を符号化することを証明する.再構築子を入手する.

先に入手したカプセルベクトルを再構築子にフィードする.

カプセルベクトルが広がった空間は,従来の自動エンコーダと変分型自動エンコーダの潜在空間を思い出させる特徴を有している.カプセルベクトルを変えて実験する.カプセルベクトルを変えると,厚さのような特徴が変わったり,例それ自体が別のクラスになったりする.

さまざまな数字のカプセルベクトルを補間する.

関連する例

en