LoginSignup
2
2

More than 5 years have passed since last update.

chainer 5.0.0におけるVirtual Adversarial Trainingの実装

Last updated at Posted at 2018-12-02

元論文
Distributional Smoothing with Virtual Adversarial Training

深層学習で,半教師あり学習に興味を持ったので,ここに書いてあったコードを動かそうとしたら,バージョンの関係で動かなかったので,chainerの勉強がてら5.0.0で動くようにしました
(深層学習関係のライブラリはアップデートが早すぎる...)
元々の記事がGPU onlyだったので,GPUを積んだマシンでしか動きません(CPUで動かすとかなり時間を食うのでCPU版を実装する気が無いというのはわかる...)

実装例

github

VATLossClassifierはchainer.links.Classifierの中身をコピーして
イテレータはラベル付きのものとラベル無しのものの二つを用意して,それを共にVATUpdaterに食わせました

実行例

python train_mnist_vat.py -g [gpuid] -e 25000

実行結果

手元の環境(Windows 10 + Nvidia GTX 1080 Ti)で,大体96~98%くらいのaccuracy

メモ

元論文ではAdamの学習率は0.002って書いてあったけど,0.0001にした方が収束しました

参考文献

論文メモ:Virtual Adversarial Training
chainerでVAT(準教師学習)

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2