GAN Lab
GANの学習の用をブラウザ上でシミュレーションすることができるいけてるツール。
- Data Distributionで実データ(緑点)の分布を選択
- Runボタンでシミュレーション開始
これだけでGeneratorとDiscriminatorの学習の推移をみることができます。
Model overview graph
①Generatorによるデータ出力②Discriminatorによるデータ判別③D lossとG lossによる勾配計算(ネットワークの重み更新)のフローを点線で示しています。鉛筆マークのボタンを押すとoptimizerやlearning rate, hidden layerの数, G/Dの更新の比率, ロスの種類などを設定することができます。
Layered Distributions
緑点(reak sample)に対して、ノイズ入力からGeneratorが出力する紫点(fake sample)を可視化しています。学習エポックごとにGeneratorはノイズ空間から変換出力した紫点の分布を緑点に近づけるように学習し、Discriminatorはreal/fakeの分類判別(背景色)を学習する様子がわかります。背景色が濃いほど傾向が強いことを表しています。さらに、学習に使用される各サンプルの勾配方向は紫線で示され、GeneratorがDiscriminatorを騙すよう学習します。
Metrics
D loss/ G lossの推移だけでなく、2つの確率分布差異の尺度であるKL(Kullback-Leibler)ダイバージェンスとJS(Jensen-Shannon)ダイバージェンスも掲載しています。
所感
今まで頭の中でもやもやとイメージしていたものがわかりやすく可視化されとても面白かった。しかしすぐにOverfitしちゃいますね。WGAN-GPとかspectral normalizationを入れたものはどうなるのか気になるところ。
その他深層学習の可視化ツール
CNN ExplainerやConv Netなどインタラクティブに学習の様子が確認できます。