Semi-supervised learning
with Ladder Networks
NIPS読み会, 2016/1/20
Preferred Networks, 松元 叡一
@mattya1089
自己紹介
2
 松元 叡一 (@mattya1089)
 Preferred Networksリサーチャー
ロボット Chainer-gogh Chainer-DCGAN
アジェンダ
 半教師あり深層学習の最先端の手法を紹介します
 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)
半教師あり学習(semi-supervised learning)
4
分離面をどこに引きますか?
半教師あり学習(semi-supervised learning)
5
分離面をどこに引きますか?
(わりとどうしようもない)
半教師あり学習(semi-supervised learning)
6
現実
テストデータたち
半教師あり学習(semi-supervised learning)
7
※青と黄色は50%ずつ存在するとする
ラベル無しデータ(白丸)があったら?
半教師あり学習(semi-supervised learning)
8
※青と黄色は50%ずつ存在するとする
ラベル無しデータ(白丸)があったら?
まあここらへんに引くよね
半教師あり学習(semi-supervised learning)
9
ラベル無しデータ(白丸)があったら?
パーフェクト!
半教師あり学習の問題設定
 x: データ、y: ラベル
 データセットにはラベルがついてないデータもある
 しばしばラベル有りデータ数 << ラベル無しデータ数
– ラベルを付けるのは大変なんだ
10
MNIST dataset
28 x 28 pixelの手書き数字データセット
0~9のどれかを当てるタスク
70000個の(画像, 正解)ペアがあるが、
100個のラベル有りデータ
59900個のラベル無しデータ
10000個のテスト用データ
と分割して半教師学習を行う。
なお、空間構造を使ってはいけない縛りのとき、
Permutation-invariant MNISTという。
半教師あり学習のアイデア
 類似したデータは同じラベルになりやすいとする
– 近傍グラフやクラスタリング
– 次元に呪われる
 きれいな中間表現に飛ばす
– 多様体学習
– 生成モデル
 分離面をデータから遠ざける
– 自己教示(ラベル無しデータに仮ラベルをふる)
– ノイズを入れる
11
半教師あり学習の手法
 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% -
①
①
②
③
③
今日話す順番 (半教師手法は全教師でもつよい)
半教師あり学習の手法
 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% -
☆
☆
半教師あり学習の手法 – 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
半教師あり学習の手法 – 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
半教師あり学習の手法 – 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
半教師あり学習の手法 – 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
半教師あり学習の手法
 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% -
☆
半教師あり学習の手法 – 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
データがスカスカなところに
線を引くと正解になるような
データセットに強い
ε
半教師あり学習の手法 – Virtual Adversarial Training
 Virtual Adversarial Training (Miyato et al., 2015)
20
既存のNNに
たったこれだけの実装を
加えるだけ。
ハイパーパラメタも3つ
↓
実用上とても使いやすい
実用上とても使いやすい
半教師あり学習のアイデア
 類似したデータは同じラベルになりやすいとする
– 近傍グラフやクラスタリング
– 次元に呪われる
 きれいな中間表現に飛ばす
– 多様体学習
– 生成モデル
 分離面をデータから遠ざける
– 自己教示(ラベル無しデータに仮ラベルをふる)
– ノイズを入れる
21
Generative models
VAT
半教師あり学習の手法
 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% -
☆
☆
半教師あり学習の手法 – Ladder Network
???
半教師あり学習の手法 – 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
半教師あり学習の手法 – 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といえばこんな形だよな
→ノイズ入れる前と比較
半教師あり学習の手法 – Ladder Network
4. Lateral connectionをつける
x’
x
x~
y’
t
Reconstruction loss
Supervised loss
入力の分布が、各クラスごとに中心が異なるガウシアンとかだとこれでOK
(x’が、推定したラベルに対応する中心に向かうようにdenoisingする)
Combination
(精度のデータ無し)
どのクラスかが推定できれば
どっち向きにdenoisingすれば
いいか分かる
半教師あり学習の手法 – 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~
半教師あり学習の手法 – 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~
半教師あり学習の手法 – 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のときには実は寄与しない
半教師あり学習の手法 – 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はこのようにして作られた!
まとめ・考察
 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
 パラメタも気を使わないといけない点も多すぎるよ…(´・ω・`)
おしまい
 文献
– 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のどこがおかしいのか教えて…
 以下補足
半教師あり学習の手法 – Ladder Network
 実装上の詳細①:Encoderでノイズを入れるところ
– Batch Normalizationの、平均引いて標準偏差で割った直後に入れる
(そうしないとノイズ耐性がつくように大きなスケールの値を出すように学習される)
半教師あり学習の手法 – Ladder Network
 実装上の詳細②:Lateral connectionをDecoderに入れるところ
– Encoder側の、ノイズを入れた直後の値を、
– Decoder側の、平均引いて標準偏差で割った直後と混ぜる(混ぜ方は後述)
– ちなみにDecoder側にはBNでのscale, shiftは無い
半教師あり学習の手法 – Ladder Network
 実装上の詳細③:混ぜ方
– Encoder側からz~、Decoder側からuが来ている
– 各成分ごとに、小さなニューラルネットで混ぜる(CNNとかとは違って、パラメタは
全部異なる)
 Denoisingなので、基本はz~
iで、uiがその補正量
– ちなみにオリジナル論文は左のやつで、右ので少し精度が上がるらしい
半教師あり学習の手法 – Ladder Network
 実装上の詳細④:Reconstruction Loss
– 何も考えずにcleanなzと、reconstructしたzを比較すると、実はLateralから来たzを
そのままコピーするのが良い解になってしまう
・・・Batch normalizationは、minibatchのサイズの有限性から、ノイズが乗る
EncoderのClean側とNoisy側で、乗るノイズはよく似るはず
これを防ぐために、reconstructionしたzから、clean側のNormalizationに用いたμを引
いて、σで割った値と、clean側のzとを比較する
半教師あり学習の手法 – Ladder Network
 実装上の詳細⑤:さらにこまかいこと
– ラベル付きデータセットは、各クラスのデータが均等に入っているように作る
– Adamで学習。Learning rateはepoch100まで0.002で、150までで0におとす
– 入力データの値域は[0,1]
– ハイパーパラメタたちはひたすらグリッドサーチなどして求めたらしい
– Decoderのtopに入力するのは、softmax後
– LinearにBias項なし
– Clean encoder側にもBackpropする?(たぶんそう)
– Weight decayはいれる?(ないほうがよさそう)

NIPS2015読み会: Ladder Networks

  • 1.
    Semi-supervised learning with LadderNetworks NIPS読み会, 2016/1/20 Preferred Networks, 松元 叡一 @mattya1089
  • 2.
    自己紹介 2  松元 叡一(@mattya1089)  Preferred Networksリサーチャー ロボット Chainer-gogh Chainer-DCGAN
  • 3.
    アジェンダ  半教師あり深層学習の最先端の手法を紹介します  DeepGenerative 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.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
    半教師あり学習の問題設定  x: データ、y:ラベル  データセットにはラベルがついてないデータもある  しばしばラベル有りデータ数 << ラベル無しデータ数 – ラベルを付けるのは大変なんだ 10 MNIST dataset 28 x 28 pixelの手書き数字データセット 0~9のどれかを当てるタスク 70000個の(画像, 正解)ペアがあるが、 100個のラベル有りデータ 59900個のラベル無しデータ 10000個のテスト用データ と分割して半教師学習を行う。 なお、空間構造を使ってはいけない縛りのとき、 Permutation-invariant MNISTという。
  • 11.
    半教師あり学習のアイデア  類似したデータは同じラベルになりやすいとする – 近傍グラフやクラスタリング –次元に呪われる  きれいな中間表現に飛ばす – 多様体学習 – 生成モデル  分離面をデータから遠ざける – 自己教示(ラベル無しデータに仮ラベルをふる) – ノイズを入れる 11
  • 12.
    半教師あり学習の手法  Permutation-invariant MNISTのstate-of-the-art 12 100labels 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.
    半教師あり学習の手法  Permutation-invariant MNISTのstate-of-the-art 13 100labels 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.
    半教師あり学習の手法 – DeepGenerative 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.
    半教師あり学習の手法 – DeepGenerative 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.
    半教師あり学習の手法 – DeepGenerative Models  Deep Generative Model (M1+M2) (Kingma et al., 2014) 16 Gen. Inf. Gen. Inf. http://approximateinference.org/accepted/MaaloeEtAl2015.pdf 矢印は全部 Deep NN
  • 17.
    半教師あり学習の手法 – DeepGenerative 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.
    半教師あり学習の手法  Permutation-invariant MNISTのstate-of-the-art 18 100labels 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.
    半教師あり学習の手法 – VirtualAdversarial 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.
    半教師あり学習の手法 – VirtualAdversarial Training  Virtual Adversarial Training (Miyato et al., 2015) 20 既存のNNに たったこれだけの実装を 加えるだけ。 ハイパーパラメタも3つ ↓ 実用上とても使いやすい 実用上とても使いやすい
  • 21.
    半教師あり学習のアイデア  類似したデータは同じラベルになりやすいとする – 近傍グラフやクラスタリング –次元に呪われる  きれいな中間表現に飛ばす – 多様体学習 – 生成モデル  分離面をデータから遠ざける – 自己教示(ラベル無しデータに仮ラベルをふる) – ノイズを入れる 21 Generative models VAT
  • 22.
    半教師あり学習の手法  Permutation-invariant MNISTのstate-of-the-art 22 100labels 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.
  • 24.
    半教師あり学習の手法 – LadderNetwork 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.
    半教師あり学習の手法 – LadderNetwork 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.
    半教師あり学習の手法 – LadderNetwork 4. Lateral connectionをつける x’ x x~ y’ t Reconstruction loss Supervised loss 入力の分布が、各クラスごとに中心が異なるガウシアンとかだとこれでOK (x’が、推定したラベルに対応する中心に向かうようにdenoisingする) Combination (精度のデータ無し) どのクラスかが推定できれば どっち向きにdenoisingすれば いいか分かる
  • 27.
    半教師あり学習の手法 – LadderNetwork 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.
    半教師あり学習の手法 – LadderNetwork 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.
    半教師あり学習の手法 – LadderNetwork 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.
    半教師あり学習の手法 – LadderNetwork 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.
    まとめ・考察  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.
    おしまい  文献 – Semi-supervisedlearning 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.
  • 34.
    半教師あり学習の手法 – LadderNetwork  実装上の詳細①:Encoderでノイズを入れるところ – Batch Normalizationの、平均引いて標準偏差で割った直後に入れる (そうしないとノイズ耐性がつくように大きなスケールの値を出すように学習される)
  • 35.
    半教師あり学習の手法 – LadderNetwork  実装上の詳細②:Lateral connectionをDecoderに入れるところ – Encoder側の、ノイズを入れた直後の値を、 – Decoder側の、平均引いて標準偏差で割った直後と混ぜる(混ぜ方は後述) – ちなみにDecoder側にはBNでのscale, shiftは無い
  • 36.
    半教師あり学習の手法 – LadderNetwork  実装上の詳細③:混ぜ方 – Encoder側からz~、Decoder側からuが来ている – 各成分ごとに、小さなニューラルネットで混ぜる(CNNとかとは違って、パラメタは 全部異なる)  Denoisingなので、基本はz~ iで、uiがその補正量 – ちなみにオリジナル論文は左のやつで、右ので少し精度が上がるらしい
  • 37.
    半教師あり学習の手法 – LadderNetwork  実装上の詳細④:Reconstruction Loss – 何も考えずにcleanなzと、reconstructしたzを比較すると、実はLateralから来たzを そのままコピーするのが良い解になってしまう ・・・Batch normalizationは、minibatchのサイズの有限性から、ノイズが乗る EncoderのClean側とNoisy側で、乗るノイズはよく似るはず これを防ぐために、reconstructionしたzから、clean側のNormalizationに用いたμを引 いて、σで割った値と、clean側のzとを比較する
  • 38.
    半教師あり学習の手法 – LadderNetwork  実装上の詳細⑤:さらにこまかいこと – ラベル付きデータセットは、各クラスのデータが均等に入っているように作る – Adamで学習。Learning rateはepoch100まで0.002で、150までで0におとす – 入力データの値域は[0,1] – ハイパーパラメタたちはひたすらグリッドサーチなどして求めたらしい – Decoderのtopに入力するのは、softmax後 – LinearにBias項なし – Clean encoder側にもBackpropする?(たぶんそう) – Weight decayはいれる?(ないほうがよさそう)