paper_readings icon indicating copy to clipboard operation
paper_readings copied to clipboard

Progressive Growing of GANs for Improved Quality, Stability, and Variation

Open kogaki opened this issue 7 years ago • 0 comments

低解像度から徐々に育てていくアイディアで高解像度なGANを達成

論文本体・著者

  • http://research.nvidia.com/publication/2017-10_Progressive-Growing-of
  • https://arxiv.org/abs/1710.10196
    • ICLR 2018 under review
  • Tero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen
    • NVIDIA
    • ラストオーサーはAalto Universityの准教授

解きたい問題

  • 高解像度なGAN

新規性

  • 低解像度から徐々に学習すると言うアイディア、そのための学習方法
  • その他既存のテクニックを改良したGANの学習手法複数

実装

メインのテクニック

image
論文 Fig. 1 より
  • 低解像度から徐々に学習する
    • 何epochか毎に増やす
image
論文 Fig. 2 より
  • 増やす時に、前のステップの結果と混合させる!

その他のテクニック

  • INCREASING VARIATION USING MINIBATCH STANDARD DEVIATION

    • featureの分散をrealとfakeで近づけたい
      • ミニバッチ内で計算された分散をconcatすることで、discriminatorが手がかりとできるようにする。
    • https://github.com/pfnet-research/chainer-gan-lib/blob/master/progressive/net.py#L55
  • NORMALIZATION IN GENERATOR AND DISCRIMINATOR

    • GANにおいてはBNまで使う必要はない。
    • [Pixelwise normalization] ただし、全ピクセルについて分散を計算して正規化はする
      • https://github.com/pfnet-research/chainer-gan-lib/blob/2b2dd086c8c831ebf8f345bd2b4d184f0819821e/progressive/net.py#L14
      • あれ、結局backwardしない以外にBNと何が違うんだっけ。。
    • [Equalized learning rate]
      • convolutionの出力に、チャンネル数とカーネルサイズを固定でかける
        • そうすると、backward時に、各パラメタが均等に更新されるっぽい(チャンネル数が多いとパラメタがちょっとずつしか更新されないのを防げる)
        • 通常は、random / ksize / ksize / channel で 初期化 する。それは、そのスケールに収束させるから。でも、それだと、更新量がしょぼくなるので、そのスケール項はforward時に固定で掛けるようにするってこと。

実験・議論

image
  • Sliced Wasserstein distanceで性能比較してる!
    • progressive growingとequalized learning rateがかなり役に立ってる感じ

読んだ中での不明点などの感想

関連論文

  • Tim Salimans, Ian J. Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, and Xi Chen. Improved techniques for training GANs. In NIPS, 2016.
    • ミニバッチdiscriminationのアイディア

kogaki avatar Nov 13 '17 06:11 kogaki