又、WGAN, WGAN-GP のように生成器の1回の更新で n 回の識別器の更新をしなくてよいので、学習時間を大幅に短縮することが出来る。
3. 技術や手法の"キモ"はどこにある?
従来の非 IPM ベースの GAN の問題点(ミニバッチデータに対する事前知識、JSダイバージェンス最小化から)
GAN における基本的な振る舞いの1つとしては、識別器において、偽物データが(誤って)本物と判定される確率 D(x_f ) が増加するにつれて、本物データが(正しく)本物と判定される確率 D(x_r ) が減少することである。
これは、学習データ(厳密にはミニバッチのデータ)の半分が本物でもう半分が偽物であるという事前知識の元では、上図の (A), (C) のように、学習後の識別器の判定が、本物 50% 偽物 50% となる動作となる。
このことを、vainilla GAN が行っている JSダイバージェンスの最小化の議論で考える。
JSダイバージェンスは、上図の (A) のように、本物データの本物判定確率と偽物データの本物判定確率が等しい()とき最小化される(=言い換えると、真の分布とモデルの分布が一致するとき最小化される。)ので、正しく学習されている状況と対応していることがわかる。
しかしながら、vanilla GAN や LSGAN などの非 IPM ベースの GAN では、実際上の動作として、学習完了後には上図の (B) のように、識別器はほとんどの(本物と偽物を含む)サンプルを、本物と判定してしまう動作になっている。
言い換えると、非 IPM ベースの GAN では、学習データ(厳密にはミニバッチのデータ)の半分が本物でもう半分が偽物であるという事前知識を知らないという暗黙的な仮定がなされていることになる。そして、このとき JS ダイバージェンスの最小化を行えておらず、正しく学習出来ていないことがわかる。
一方、WGAN や WGAN-GP などの IPM ベースの GAN では、本物データと偽物データの比較方法を比較する?ために、ミニバッチデータの(半分とはいかなくても)いくつかは偽物であるという仮定を暗黙的に課していることになる。そして、それ故に学習が安定化する。
言い換えると、IPM ベースの GAN は、後述で説明する RGAN, RaGAN のサブセット(=特別な場合)になっている。
Relativistic standard GAN [RSGAN]
先の議論により、非 IPM ベースの GAN 手法での問題点は、本物と判定される確率 が増加しても、本物データが(正しく)本物と判定される確率 が減少しないことにあった。
そこで、RGAN では、本物データと偽物データのペア 双方を相対的に比較するような識別器 "relativistic discriminator" を導入し、識別器からの出力を以下のように定義する。
この式は、非 IPM ベースの GAN における識別器が出力する本物 or 偽物データの本物偽物判定結果ではなくて、本物データが偽物データよりも本物らしい確率の推定値を与えている式となっている。
この式を vanilla GAN の Adv loss に適用すると、以下の式のようになり、これを Relativistic standard GAN の損失関数として定義する。
又、WGAN-GP に対して、適用したものは以下の式のようになる。
Relativistic GANs [RGAN]
Relativistic standard GAN [RSGAN] におけるシグモイド活性化関数を任意の活性化関数で一般化すると、以下のような式となり、これを Relativistic GANs [RGAN] の損失関数として定義する。
※ この RAGAN の損失関数は、 の場合、IPM ベースの GAN loss と一致する。つまり、WGAN などの IPM ベースの GAN は、RGAN の特別なケースとなっていることに注目。
※ また、非 IPM ベースの多くの GAN loss では、一般的な GAN の損失関数の式における生成器の第1項目の g1 が有効になっておらず(=言い換えると g1 の勾配が0になっている)、それ故に本物データから本物らしさを学習していない点に注目。
更に、この RGAN の損失関数は、
の2つの条件が成り立つときに以下の式のように簡略が出来る。
このような条件は、-1 or 1 の対象ラベルで損失関数の式に含まれる vanilla GAN や LSGAN, IPM ベースの GAN のときに成り立つので、このような GAN に対しては、上の簡略式が適用できる。(※ vanilla GAN に対して、上式の簡略式を適用し、更に活性化関数をシグモイド関数としたものが RSGAN になっている。)
Relativistic average GANs [RaGAN]
RSGAN や RGAN の識別器では、ミニバッチデータにおけるランダムにサンプリングされた偽物データより本物らしい確率を推定していた。
一般的には、ミニバッチデータにおけるランダムにサンプリングされたデータは複数あるので、これら全てのデータに対して偽物データより本物らしい確率を推定し、それらを平均化することが望ましい。
即ち、式で書くと
但し、この方法では、本物データと偽物データのペアの全ての可能な組み合わせを確認する必要があるために、バッチサイズに応じて計算コストが オーダーで増大する問題がある。
この問題を回避するために、Relativistic average GANs [RaGAN] では、それぞれ反対のタイプ(=本物なら偽物、偽物なら本物)のみを平均化して両者を比較する。これにより、本物データと偽物データのペアの全ての可能な組み合わせを確認する必要はなくなるので オーダーに計算コストを軽減することが出来る。
このことを式で書くと以下の式のようになる。
この RaGAN を、従来の各種 GAN に適用したときの損失関数は、以下のようになる。
0. 論文情報・リンク
1. どんなもの?
2. 先行研究と比べてどこがすごいの?
3. 技術や手法の"キモ"はどこにある?
従来の非 IPM ベースの GAN の問題点(ミニバッチデータに対する事前知識、JSダイバージェンス最小化から)
Relativistic standard GAN [RSGAN] 先の議論により、非 IPM ベースの GAN 手法での問題点は、本物と判定される確率 が増加しても、本物データが(正しく)本物と判定される確率 が減少しないことにあった。
そこで、RGAN では、本物データと偽物データのペア 双方を相対的に比較するような識別器 "relativistic discriminator" を導入し、識別器からの出力を以下のように定義する。
Relativistic GANs [RGAN] Relativistic standard GAN [RSGAN] におけるシグモイド活性化関数を任意の活性化関数で一般化すると、以下のような式となり、これを Relativistic GANs [RGAN] の損失関数として定義する。
※ また、非 IPM ベースの多くの GAN loss では、一般的な GAN の損失関数の式における生成器の第1項目の g1 が有効になっておらず(=言い換えると g1 の勾配が0になっている)、それ故に本物データから本物らしさを学習していない点に注目。
更に、この RGAN の損失関数は、
このような条件は、-1 or 1 の対象ラベルで損失関数の式に含まれる vanilla GAN や LSGAN, IPM ベースの GAN のときに成り立つので、このような GAN に対しては、上の簡略式が適用できる。(※ vanilla GAN に対して、上式の簡略式を適用し、更に活性化関数をシグモイド関数としたものが RSGAN になっている。)
Relativistic average GANs [RaGAN] RSGAN や RGAN の識別器では、ミニバッチデータにおけるランダムにサンプリングされた偽物データより本物らしい確率を推定していた。 一般的には、ミニバッチデータにおけるランダムにサンプリングされたデータは複数あるので、これら全てのデータに対して偽物データより本物らしい確率を推定し、それらを平均化することが望ましい。 即ち、式で書くと
4. どうやって有効だと検証した?
5. 議論はあるか?
6. 次に読むべき論文はあるか?
7. 参考文献