Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NIPS2015読み会: Ladder Networks

34,162 views

Published on

Deep半教師あり学習の最先端手法を、Ladder Networkを中心に紹介します。
Generative models, VAT, Ladder Network

Published in: Science

NIPS2015読み会: Ladder Networks

  1. 1. Semi-supervised learning with Ladder Networks NIPS読み会, 2016/1/20 Preferred Networks, 松元 叡一 @mattya1089
  2. 2. 自己紹介 2  松元 叡一 (@mattya1089)  Preferred Networksリサーチャー ロボット Chainer-gogh Chainer-DCGAN
  3. 3. アジェンダ  半教師あり深層学習の最先端の手法を紹介します  Deep Generative Models – Semi-supervised learning with deep generative models (Kingma et al., 2014) – Improving Semi-Supervised Learning with Auxiliary Deep Generative Models (Maaloe et al., 2015)  Virtual Adversarial Training – Distributional smoothing with virtual adversarial training (Miyato et al., 2015)  Ladder Networks (これをメインに) – Semi-supervised learning with Ladder network (Rasmus et al., 2015) – Deconstructing the ladder network architecture (Mohammad et al., 2016)
  4. 4. 半教師あり学習(semi-supervised learning) 4 分離面をどこに引きますか?
  5. 5. 半教師あり学習(semi-supervised learning) 5 分離面をどこに引きますか? (わりとどうしようもない)
  6. 6. 半教師あり学習(semi-supervised learning) 6 現実 テストデータたち
  7. 7. 半教師あり学習(semi-supervised learning) 7 ※青と黄色は50%ずつ存在するとする ラベル無しデータ(白丸)があったら?
  8. 8. 半教師あり学習(semi-supervised learning) 8 ※青と黄色は50%ずつ存在するとする ラベル無しデータ(白丸)があったら? まあここらへんに引くよね
  9. 9. 半教師あり学習(semi-supervised learning) 9 ラベル無しデータ(白丸)があったら? パーフェクト!
  10. 10. 半教師あり学習の問題設定  x: データ、y: ラベル  データセットにはラベルがついてないデータもある  しばしばラベル有りデータ数 << ラベル無しデータ数 – ラベルを付けるのは大変なんだ 10 MNIST dataset 28 x 28 pixelの手書き数字データセット 0~9のどれかを当てるタスク 70000個の(画像, 正解)ペアがあるが、 100個のラベル有りデータ 59900個のラベル無しデータ 10000個のテスト用データ と分割して半教師学習を行う。 なお、空間構造を使ってはいけない縛りのとき、 Permutation-invariant MNISTという。
  11. 11. 半教師あり学習のアイデア  類似したデータは同じラベルになりやすいとする – 近傍グラフやクラスタリング – 次元に呪われる  きれいな中間表現に飛ばす – 多様体学習 – 生成モデル  分離面をデータから遠ざける – 自己教示(ラベル無しデータに仮ラベルをふる) – ノイズを入れる 11
  12. 12. 半教師あり学習の手法  Permutation-invariant MNISTのstate-of-the-art 12 100 labels 60000 (all) Feed-forward NN 25.8% 1.18% Deep generative model (M1+M2) (Kingma et al., 2014) 3.33% 0.96% Virtual adversarial training (Miyato et al., 2015) 2.12% 0.64% Ladder network (Original) (Rasmus et al., 2015) 1.06% 0.61% Ladder network (AMLP) (Mohammad et al., 2016) 1.00% 0.57% Auxiliary deep generative model (Maaloe et al., 2015) 0.96% - ① ① ② ③ ③ 今日話す順番 (半教師手法は全教師でもつよい)
  13. 13. 半教師あり学習の手法  Permutation-invariant MNISTのstate-of-the-art 13 100 labels 60000 (all) Feed-forward NN 25.8% 1.18% Deep generative model (M1+M2) (Kingma et al., 2014) 3.33% 0.96% Virtual adversarial training (Miyato et al., 2015) 2.12% 0.64% Ladder network (Original) (Rasmus et al., 2015) 1.06% 0.61% Ladder network (AMLP) (Mohammad et al., 2016) 1.00% 0.57% Auxiliary deep generative model (Maaloe et al., 2015) 0.96% - ☆ ☆
  14. 14. 半教師あり学習の手法 – Deep Generative Models  Deep Generative Modelのアイデア (VAE, AAEなどなど) データの分布 本当はもっと高次元で複雑 Inference Generation 狙った形の分布に押し込める (画像は二次元正規分布) まだラベルデータは使ってない http://www.informatik.uni- bremen.de/~afabisch/files/tsne/tsne_mnist_all.png arXiv:1511.05644 Deep NN
  15. 15. 半教師あり学習の手法 – Deep Generative Models  Semi-supervised Deep Generative Modelのアイデア データの分布 本当はもっと高次元で複雑 Inference Generation こんな感じの分布を狙っても良い。 ラベルがあるデータは、 どの羽根に行くかもlossに入れる http://www.informatik.uni- bremen.de/~afabisch/files/tsne/tsne_mnist_all.png arXiv:1511.05644 Deep NN 0 1 2 3
  16. 16. 半教師あり学習の手法 – Deep Generative Models  Deep Generative Model (M1+M2) (Kingma et al., 2014) 16 Gen. Inf. Gen. Inf. http://approximateinference.org/accepted/MaaloeEtAl2015.pdf 矢印は全部 Deep NN
  17. 17. 半教師あり学習の手法 – Deep Generative Models  Auxiliary Deep Generative Model (ADGM) (Maaloe et al., 2015) 17 NIPS2015のワークショップ論文 100 label MNISTで0.97%のerror (現在最高記録)を主張している… (まだあまり検証されていない) http://approximateinference.org/accepted/MaaloeEtAl2015.pdf
  18. 18. 半教師あり学習の手法  Permutation-invariant MNISTのstate-of-the-art 18 100 labels 60000 (all) Feed-forward NN 25.8% 1.18% Deep generative model (M1+M2) (Kingma et al., 2014) 3.33% 0.96% Virtual adversarial training (Miyato et al., 2015) 2.12% 0.64% Ladder network (Original) (Rasmus et al., 2015) 1.06% 0.61% Ladder network (AMLP) (Mohammad et al., 2016) 1.00% 0.57% Auxiliary deep generative model (Maaloe et al., 2015) 0.96% - ☆
  19. 19. 半教師あり学習の手法 – Virtual Adversarial Training  Virtual Adversarial Training (Miyato et al., 2015) 19 データ点の側に分離面が来ない ↔ データ点x近辺で f(x) が平ら ↔ f(x) と f(x+ε) の出力が十分近い εがふつうのノイズだと、ただのdata augmentationだが、 「最も意地悪なε」が、実はback-propagationで求められる! http://arxiv.org/abs/1507.00677 データがスカスカなところに 線を引くと正解になるような データセットに強い ε
  20. 20. 半教師あり学習の手法 – Virtual Adversarial Training  Virtual Adversarial Training (Miyato et al., 2015) 20 既存のNNに たったこれだけの実装を 加えるだけ。 ハイパーパラメタも3つ ↓ 実用上とても使いやすい 実用上とても使いやすい
  21. 21. 半教師あり学習のアイデア  類似したデータは同じラベルになりやすいとする – 近傍グラフやクラスタリング – 次元に呪われる  きれいな中間表現に飛ばす – 多様体学習 – 生成モデル  分離面をデータから遠ざける – 自己教示(ラベル無しデータに仮ラベルをふる) – ノイズを入れる 21 Generative models VAT
  22. 22. 半教師あり学習の手法  Permutation-invariant MNISTのstate-of-the-art 22 100 labels 60000 (all) Feed-forward NN 25.8% 1.18% Deep generative model (M1+M2) (Kingma et al., 2014) 3.33% 0.96% Virtual adversarial training (Miyato et al., 2015) 2.12% 0.64% Ladder network (Original) (Rasmus et al., 2015) 1.06% 0.61% Ladder network (AMLP) (Mohammad et al., 2016) 1.00% 0.57% Auxiliary deep generative model (Maaloe et al., 2015) 0.96% - ☆ ☆
  23. 23. 半教師あり学習の手法 – Ladder Network ???
  24. 24. 半教師あり学習の手法 – Ladder Network 1. 普通のNN x y x’ y’ xラベル無しデータを使わない とても過学習する ラベル無しデータを使わない Data augmentationの一種となる。 分離面はラベルデータからは遠ざかる 2. 入力にノイズ t t 100 label: 25.8% 60000 : 1.18% 100 label: 23.0% 60000 : 0.82% Noise
  25. 25. 半教師あり学習の手法 – Ladder Network 3. Decoderをつける x’ x x~ y’ t Encoder Decoder Reconstruction loss Supervised loss Noise ラベル無しデータが使えるようになるので、100labelのときに改善が見られる。 通常のDAEとは違い、y (softmaxをとる手前)まで求めてから Decodeするので、復元に必要な情報はほとんど落ちている。 100 label: 23.0 -> 16.4% 60000 : 0.82 -> 0.82% ・ラベル無しデータで起こること ノイズ入り画像x’ →これは「3」かな? →3といえばこんな形だよな →ノイズ入れる前と比較
  26. 26. 半教師あり学習の手法 – Ladder Network 4. Lateral connectionをつける x’ x x~ y’ t Reconstruction loss Supervised loss 入力の分布が、各クラスごとに中心が異なるガウシアンとかだとこれでOK (x’が、推定したラベルに対応する中心に向かうようにdenoisingする) Combination (精度のデータ無し) どのクラスかが推定できれば どっち向きにdenoisingすれば いいか分かる
  27. 27. 半教師あり学習の手法 – Ladder Network 5. 中間層もつなぐ x’ x x~ y’ t Reconstruction loss Supervised loss Reconstructionのための手がかりが、ラベルの推定結果だけでなく 途中の層からもやってくる。 Semi-supervisedの成績がこの時点で圧倒的に良くなる。 h1’ h2’ h1~ h2~ 100 label: 16.4 -> 1.86% 60000 : 0.82 -> 0.73% y~
  28. 28. 半教師あり学習の手法 – Ladder Network 6. 中間層にもノイズを入れる x’ x x~ y’ t Reconstruction loss Supervised loss ノイズに対してロバストな表現に向かうような圧力がかかる。 VATみたいに分離面をデータから遠ざける働きをすると思われる h1’ h2’ h1~ h2~ 100 label: 1.86 -> 1.69% 60000 : 0.73 -> 0.61% Noise Noise Noise Noise y~
  29. 29. 半教師あり学習の手法 – Ladder Network 7. 中間層にもReconstruction lossを入れる Ladder Networkの完成! x’ x x~ y’ t Reconstruction loss Supervised loss h1’ h2’ h1~ h2~ 100 label: 1.69 -> 1.09% 60000 : 0.61 -> 0.61% Noise Noise Noise Noise x x y h1 h2 ノイズ無しEncoder y~ 最上位層のDecoderはPriorを 表現するようになる 上の方に行くほど、Lossは小さいweightで重み付けする Fully-supervisedのときには実は寄与しない
  30. 30. 半教師あり学習の手法 – Ladder Network 1. ただのFeed-forward NN 2. 入力にノイズ 3. Decoderで入力のReconstruction 4. Lateral connectionをつける 5. 各層にノイズ 6. 各層にReconstruction loss 100 labels 25.8% 23.0% 16.4% 1.86% 1.69% 1.09% 60000 labels 1.18% 0.82% 0.82% 0.73% 0.61% 0.61%  (最近まで)最強のNNはこのようにして作られた!
  31. 31. まとめ・考察  Generative models, VAT, Ladderが現在のdeep unsupervisedの3強  比較的直感的な前者2つと比べると、Ladderは謎めいている – Lateral connection、中間層へのノイズ、中間層のReconstruction、具体的にど ういった働きをしているのか? – Lateral connectionを持ったGenerative modelsとの対応関係 – MNISTよりももっと複雑なタスクだとどうなるんだろう  とくに回帰問題にも適用できるのだろうか? – The proposed model is simple and easy to implement with many existing feedforward architectures  パラメタも気を使わないといけない点も多すぎるよ…(´・ω・`)
  32. 32. おしまい  文献 – Semi-supervised learning with Ladder network (Rasmus et al., 2015) – Deconstructing the ladder network architecture (Mohammad et al., 2016) – Semi-supervised learning with deep generative models (Kingma et al., 2014) – Improving Semi-Supervised Learning with Auxiliary Deep Generative Models (Maaloe et al., 2015) – Distributional smoothing with virtual adversarial training (Miyato et al., 2015)  ソースコード – https://github.com/mattya/chainer-semi-supervised – VATとLadder Network (1.4%までしか落ちない…1.1%まではいけるはずなのに)の Chainer実装です。だれかLadderのどこがおかしいのか教えて…
  33. 33.  以下補足
  34. 34. 半教師あり学習の手法 – Ladder Network  実装上の詳細①:Encoderでノイズを入れるところ – Batch Normalizationの、平均引いて標準偏差で割った直後に入れる (そうしないとノイズ耐性がつくように大きなスケールの値を出すように学習される)
  35. 35. 半教師あり学習の手法 – Ladder Network  実装上の詳細②:Lateral connectionをDecoderに入れるところ – Encoder側の、ノイズを入れた直後の値を、 – Decoder側の、平均引いて標準偏差で割った直後と混ぜる(混ぜ方は後述) – ちなみにDecoder側にはBNでのscale, shiftは無い
  36. 36. 半教師あり学習の手法 – Ladder Network  実装上の詳細③:混ぜ方 – Encoder側からz~、Decoder側からuが来ている – 各成分ごとに、小さなニューラルネットで混ぜる(CNNとかとは違って、パラメタは 全部異なる)  Denoisingなので、基本はz~ iで、uiがその補正量 – ちなみにオリジナル論文は左のやつで、右ので少し精度が上がるらしい
  37. 37. 半教師あり学習の手法 – Ladder Network  実装上の詳細④:Reconstruction Loss – 何も考えずにcleanなzと、reconstructしたzを比較すると、実はLateralから来たzを そのままコピーするのが良い解になってしまう ・・・Batch normalizationは、minibatchのサイズの有限性から、ノイズが乗る EncoderのClean側とNoisy側で、乗るノイズはよく似るはず これを防ぐために、reconstructionしたzから、clean側のNormalizationに用いたμを引 いて、σで割った値と、clean側のzとを比較する
  38. 38. 半教師あり学習の手法 – Ladder Network  実装上の詳細⑤:さらにこまかいこと – ラベル付きデータセットは、各クラスのデータが均等に入っているように作る – Adamで学習。Learning rateはepoch100まで0.002で、150までで0におとす – 入力データの値域は[0,1] – ハイパーパラメタたちはひたすらグリッドサーチなどして求めたらしい – Decoderのtopに入力するのは、softmax後 – LinearにBias項なし – Clean encoder側にもBackpropする?(たぶんそう) – Weight decayはいれる?(ないほうがよさそう)

×