Open shimopino opened 4 years ago
[arXiv:2006.10728] Diverse Image Generation via Self-Conditioned GANs
Steven Liu, Tongzhou Wang, David Bau, Jun-Yan Zhu, Antonio Torralba
2020-06-16
Discriminatorの特徴空間からクラスタリングを行って得られたクラスラベルを使用して、自己条件つき学習を行うモデルを提案した。GeneratorがDiscriminatorが補足しているモードを表現できるようになり、モード崩壊のベンチマークで既存手法を上回った。
GANではクラスラベルなどを使用した条件付き学習でモデルの性能が向上することが知られている。
実験的にも理論的にも実データの分布はマルチモーダル、つまり多峰的であることがわかっているが、条件なしでの学習を行うと一部の重要なモード (カテゴリなど) を無視してしまう現象が発生してしまう。
しかしラベルなどの条件付きで学習を行うと、Generatorはどのモードを表現すべきなのか知ることができ、モード崩壊を防ぐことができると考えられている。
本研究では、Discriminatorから得られた特徴空間をクラスタリングを行うことで自動的にラベルを抽出し、条件付き学習を行うことでGeneratorがこれらのクラスタを表現できるようになる新たな学習方法を提案した。
以下が実際のクラスタと対応する生成画像である。
ラベルを使用する条件付き学習では以下の目的関数を最適化させることになる。
このラベルcは、学習データの量に比例して各クラスタを重みをつけるカテゴリ分布Pからサンプリングされるものである。
これでDiscriminatorがあるクラスタcの条件下で学習を行っている場合、もしもデータがクラスタcからサンプリングされたものでない場合は、低いスコアを出力するようになる。
そのためGeneratorがクラスタc以外からサンプリングした場合には、Discriminatorからのペナルティが与えられることで結果として、そのクラスタにとどまることなく正しいクラスタのデータを生成できるようになる。
学習中にはDiscriminatorが獲得する特徴量は変化するため、周期的にクラスタを更新する方針を採用している。クラスタの計算にはk最近傍法を使用しており、Discriminatorが獲得した特徴空間上でクラスタの平均との差異を最小化するようにしていく。
初期化にはk-mean++を採用している。なお連続的にクラスタリングを行うために、1つ前のステップで行ったクラスタ計算をもとに初期化を行っている。
k-mean++
新たに得られたDiscriminatorの特徴空間上で計算した画像ベクトルを、1つ前のクラスタから抽出された画像ベクトルで平均することで、クラスタの平均を計算する。
Generatorに対するTarget分布が大きく変化してしまわないように、過去のクラスタにマッチするように新たなクラスタを計算する。これは新たなクラスタでサンプル数が合うように計算を行うことと同義である。
全体のアルゴリズムは以下になる。
上記以外にも勾配法によるクラスタの逐次計算を試している。結果としてはモード崩壊用のデータセットに対しては有効に働いたが、実画像のデータセットでは有効に働かなかった。
人工的に生成したリング状でデータと格子状のデータで本手法の効果を検証した。ほとんどのデータセットで最も高い効果を発揮していることがわかる。
またStacked MNISTとCIFAR10のデータセットを使用して本手法の効果を検証した。本手法はデータセット中のモードをよく再現できており、また実データに対しても最も評価指標が改善されていることがわかる。
またCIFAR10データセットに対してクラスタ数を変化させた場合に、どのように評価指標が変化するのかを検証した。デフォルトで設定している100と25がもっとのよい評価指標を達成している。またある程度のクラスタ数の変化に対して頑強であることがわかる。
ImageNetに対して本手法を適用すると、他の手法よりも評価指標を改善できていることがわかる。しかしここで提示されているFIDは、従来の教師なしでの学習よりも悪いため、最新手法に本手法を適用した場合にどのように評価指標が変化するのか検証する必要がある。
実際に生成された画像を見てみても、従来のGANでは多様性の低い画像を生成しているが、本手法はより多様性のある画像を生成できていることがわかる。これは生成された画像の色や明るさ、背景などを見るとわかる。
条件無しで学習させたGANと本手法とで各クラスタの画像を比較した。本手法がよりTargetの画像を再現できていることがわかる。
https://github.com/stevliu/self-conditioned-gan
論文へのリンク
[arXiv:2006.10728] Diverse Image Generation via Self-Conditioned GANs
著者・所属機関
Steven Liu, Tongzhou Wang, David Bau, Jun-Yan Zhu, Antonio Torralba
投稿日時(YYYY-MM-DD)
2020-06-16
1. どんなもの?
Discriminatorの特徴空間からクラスタリングを行って得られたクラスラベルを使用して、自己条件つき学習を行うモデルを提案した。GeneratorがDiscriminatorが補足しているモードを表現できるようになり、モード崩壊のベンチマークで既存手法を上回った。
2. 先行研究と比べてどこがすごいの?
GANではクラスラベルなどを使用した条件付き学習でモデルの性能が向上することが知られている。
実験的にも理論的にも実データの分布はマルチモーダル、つまり多峰的であることがわかっているが、条件なしでの学習を行うと一部の重要なモード (カテゴリなど) を無視してしまう現象が発生してしまう。
しかしラベルなどの条件付きで学習を行うと、Generatorはどのモードを表現すべきなのか知ることができ、モード崩壊を防ぐことができると考えられている。
本研究では、Discriminatorから得られた特徴空間をクラスタリングを行うことで自動的にラベルを抽出し、条件付き学習を行うことでGeneratorがこれらのクラスタを表現できるようになる新たな学習方法を提案した。
以下が実際のクラスタと対応する生成画像である。
3. 技術や手法の"キモ"はどこにある?
3.1 Conditional GAN training
ラベルを使用する条件付き学習では以下の目的関数を最適化させることになる。
このラベルcは、学習データの量に比例して各クラスタを重みをつけるカテゴリ分布Pからサンプリングされるものである。
これでDiscriminatorがあるクラスタcの条件下で学習を行っている場合、もしもデータがクラスタcからサンプリングされたものでない場合は、低いスコアを出力するようになる。
そのためGeneratorがクラスタc以外からサンプリングした場合には、Discriminatorからのペナルティが与えられることで結果として、そのクラスタにとどまることなく正しいクラスタのデータを生成できるようになる。
3.2 Computing new partition by clustering
学習中にはDiscriminatorが獲得する特徴量は変化するため、周期的にクラスタを更新する方針を採用している。クラスタの計算にはk最近傍法を使用しており、Discriminatorが獲得した特徴空間上でクラスタの平均との差異を最小化するようにしていく。
3.3 Clustering initialization
初期化には
k-mean++
を採用している。なお連続的にクラスタリングを行うために、1つ前のステップで行ったクラスタ計算をもとに初期化を行っている。新たに得られたDiscriminatorの特徴空間上で計算した画像ベクトルを、1つ前のクラスタから抽出された画像ベクトルで平均することで、クラスタの平均を計算する。
3.4 Matching with old clusters
Generatorに対するTarget分布が大きく変化してしまわないように、過去のクラスタにマッチするように新たなクラスタを計算する。これは新たなクラスタでサンプル数が合うように計算を行うことと同義である。
全体のアルゴリズムは以下になる。
3.5 Online clustering variant
上記以外にも勾配法によるクラスタの逐次計算を試している。結果としてはモード崩壊用のデータセットに対しては有効に働いたが、実画像のデータセットでは有効に働かなかった。
4. どうやって有効だと検証した?
人工的に生成したリング状でデータと格子状のデータで本手法の効果を検証した。ほとんどのデータセットで最も高い効果を発揮していることがわかる。
またStacked MNISTとCIFAR10のデータセットを使用して本手法の効果を検証した。本手法はデータセット中のモードをよく再現できており、また実データに対しても最も評価指標が改善されていることがわかる。
またCIFAR10データセットに対してクラスタ数を変化させた場合に、どのように評価指標が変化するのかを検証した。デフォルトで設定している100と25がもっとのよい評価指標を達成している。またある程度のクラスタ数の変化に対して頑強であることがわかる。
ImageNetに対して本手法を適用すると、他の手法よりも評価指標を改善できていることがわかる。しかしここで提示されているFIDは、従来の教師なしでの学習よりも悪いため、最新手法に本手法を適用した場合にどのように評価指標が変化するのか検証する必要がある。
実際に生成された画像を見てみても、従来のGANでは多様性の低い画像を生成しているが、本手法はより多様性のある画像を生成できていることがわかる。これは生成された画像の色や明るさ、背景などを見るとわかる。
条件無しで学習させたGANと本手法とで各クラスタの画像を比較した。本手法がよりTargetの画像を再現できていることがわかる。
5. 議論はあるか?