Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Dynamic Routing Between Capsules

2.588 Aufrufe

Veröffentlicht am

2018/01/10のDLゼミで紹介したカプセルネットワークについてです。

Veröffentlicht in: Daten & Analysen
  • Als Erste(r) kommentieren

Dynamic Routing Between Capsules

  1. 1. Dynamic Routing Between Capsules 北海道大学大学院 情報科学研究科 情報理工学専攻 複雑系工学講座 調和系工学研究室 修士1年 平間友大
  2. 2. 論文情報 タイトル – Dynamic Routing Between Capsules 発表学会 – Advances in Neural Information Processing Systems 30 (NIPS2017) 著者 – Sara Sabour, Nicholas Frosst, Geoffrey E. Hinton (Google Brain, Tront) 2 論文URL:https://papers.nips.cc/paper/6975-dynamic-routing-between-capsules
  3. 3. 概要 ・CNNをベースとしたCapsNetを提案 →従来のCNN構造の問題点を克服するアプローチ ・CapsNetの有効性を検証することが目的 3
  4. 4. 従来のCNN構造 4 https://hackernoon.com/what-is-a-capsnet-or-capsule-network-2bfbe48769cc 畳み込みニューラルネットワーク(CNN)の構造
  5. 5. 従来のCNN構造の改善点 5 プーリング層の仕組みに問題あり https://hackernoon.com/what-is-a-capsnet-or-capsule-network-2bfbe48769cc 畳み込みニューラルネットワーク(CNN)の構造
  6. 6. プーリング層の役割と問題点 位置不変性を得る=頑健? 6 https://kndrck.co/posts/capsule_networks_explained/ 位置関係は考慮していない
  7. 7. プーリング層の役割と問題点 位置不変性を得る=頑健? 7 https://kndrck.co/posts/capsule_networks_explained/ 位置関係は考慮していない
  8. 8. プーリング層の役割と問題点 位置不変性を得る=頑健? 8 https://kndrck.co/posts/capsule_networks_explained/
  9. 9. プーリング層の役割と問題点 位置不変性を得る=頑健? 9 https://kndrck.co/posts/capsule_networks_explained/ Not Face!
  10. 10. プーリング層の役割と問題点 位置不変性を得る=頑健? 10 https://kndrck.co/posts/capsule_networks_explained/
  11. 11. 従来CNNの問題点 11 ・同一の画像でも角度が異なると分類できない →姿勢や角度を考慮した空間認識能力がない 原因 ・特徴の位置関係情報がプーリングによって失われて いる ・特徴をスカラーで表してるのが原因
  12. 12. 提案手法 12 ・CNNをベースとし、カプセル構造を持った CapsNetを提案 - 特徴をスカラー→ベクトルで表現 - 各特徴ベクトル(カプセル)同士を繋ぐ - 画像内に存在するエンティティの特性を表現する ・ポーズ(位置,サイズ,方向)・幾何形状・速度 ・反射特性・色合い・テクスチャ
  13. 13. CapsNetの基本構造 13 畳み込み層 畳み込みカプセル層 (l) DigitCaps (l+1) 畳み込み層: 入力画像から256次元の特徴抽出 畳み込みカプセル層: 32×8次元 DigitCaps層: 16次元×10個(クラス)のベクトル CNN CapsNet
  14. 14. CapsNetのベクトル計算 14 v𝑗: カプセルjの出力ベクトル s𝑗: 前の層からの全出力 カプセルの出力ベクトルの長さが、エンティティの存在確率を表す 長さをより強調して学習しやすくなるようSquashing関数(1)を導入
  15. 15. CapsNetのベクトル計算 15 c𝑖𝑗: routing手法で決定される結合係数(softmax関数) カプセルiとjの繋がりの強さを表す 𝑏𝑖𝑗: 初期値0, 𝑏𝑖𝑗+(uj | i ・v𝑗) j:カプセルレイヤー l +1のカプセル i: カプセルレイヤー l のカプセル uj | i : l レイヤーのカプセルiの出力をu𝑖、jのカプセルとの変換行列W𝑖𝑗 と掛け合わせた予測ベクトル s𝑗: 前の層からの重み付け和
  16. 16. Routing Algorithm 16
  17. 17. CapsNetのベクトル計算 17 https://github.com/naturomics/CapsNet-Tensorflow 画像の空間情報を 持ったベクトル ラベルとの空間的な関連 性の重み付け行列 ルーティング手法による各予測 ベクトルの結合強度
  18. 18. ・ベクトルの長さ v 𝑘 がエンティティの存在確率を表す →そのクラスkに長いベクトルを持たせることを考える 𝑇𝑘: 数字の存在確率(𝑇𝑘=1or0) k: クラス(k=0,1,2…9) 𝜆: 𝑇𝑘=0の時の損失の軽減(𝜆 =0.5) 𝑚+=0.9,𝑚−=0.1 損失関数 ヒンジ関数 18
  19. 19. CapsNetの基本構造 19 畳み込み層 畳み込みカプセル層 (l) DigitCaps (l+1) CNN CapsNet - 画像内に存在するエンティティの特性を表現する ・ポーズ(位置,サイズ,方向)・幾何形状・速度 ・反射特性・色合い・テクスチャ
  20. 20. DigitCapsのデコーダー構造 20 DigitCaps層から数字の画像を復元するデコーダー構造
  21. 21. デコーダー構造の損失値も加えた場合 𝑙𝑜𝑠𝑠 = 𝐿 𝑘 + 0.0005×R R: (復元画素値 – 入力値) **2 損失関数 二乗誤差 21
  22. 22. データセット 22 MNIST 0〜9の手書き数字の画像セット (28*28) 学習 60K テスト 10K MultiMNIST MNISTの画像を2つ重ね合わせた画像 各方向に4pixの範囲でスライドさせたもの (36*36) 学習 60M テスト 10M affNIST4* MNISTのデータをアフィン変換したもの アフィン変換は回転・剪断・拡大縮小・移動の順 (40*40) 一枚の画像を32個にランダム変換 学習+テスト 2M Cifar10 犬や猫から船など10クラスの画像セット (32*32) http://www.cs.toronto.edu/~tijmen/affNIST/
  23. 23. Routing Algorithm 23
  24. 24. 実験結果1 exp(𝑏𝑖𝑗)の値の推移 24 ・ルーティングアルゴリズムの反復回数の検証 MNISTデータセットを用いた学習損失推移 最適化関数: Adam パラメータ: TensorFlowのデフォルト 500epoch時のイテレー ションごとの変化
  25. 25. 実験結果2 Cifar10データセットを用いた学習損失推移 25
  26. 26. 入力画像のデコード結果と精度 26 (l, p , r) (正解ラベル,予測結果,復元ラベル)
  27. 27. アフィン変換に対するCapsNetのロバスト性 ロバスト性を検証する実験 MNISTデータが40*40になるようパディング 27 MNSIT affNIST CapsNet 99.23% 79% 従来のCNN 99.22% 66% 従来手法とのロバスト性の精度比較 ・各モデルのパラメータ数は同じ ・学習の収束はCapsNetが早い
  28. 28. MultiMNISTを用いたデコーダーの精度検証 28 L: 入力された2つの数字のラベル R: 再構成に使用される2つの数字 P: 予測
  29. 29. MultiMNISTを用いたデコーダーの精度実験 29 8を7と誤判別 9を0と誤判別 正解ラベルで復元を行うと 情報を持っていることが分かる
  30. 30. まとめ 30 ・CNNをベースとしたCapsNetを提案 - 特徴表現をスカラー→ベクトルに変更することで、ベクトルをまとめた カプセル構造をつなぎ、その関係を学習することでCNNが持てなかった 位置情報や構造を認識可能になった - 従来手法と同程度の精度 ・計算速度の面や他のデータで検証をもっと行っていく必要がある

×