潜在変数を2つの変数(incompressive noize z と latent code c)に分離し、latent code c と生成画像 G(z,c) の間の相互情報量の最大化を利用して、GAN の潜在空間をある程度 disentangles(解きほぐし)することで、教師なしの枠組みの中で生成画像の属性をある程度に分離的に制御することを実現した GAN モデル。
2. 先行研究と比べてどこがすごいの?
従来の GAN では、潜在空間が複雑に絡み合っている(entangles)ために、生成画像の属性を分離して制御することが困難であった(例えば、MNIST では 0 ~ 9 の数字を狙って生成するなど)。一方 cGAN のような教師ありの手法では、このような制御は可能であるが、画像とラベルの対応付けに手間がかかる問題がある。
本手法では、潜在変数を incompressive noize z と latent code c の2つに分離し、latent code c と生成画像 G(z,c) の間の相互情報量の最大化を利用して GAN の潜在空間をある程度 disentangles(解きほぐし)することで、教師なしの枠組みの中で生成画像の属性を、latent code c である程度に分離的に制御することを実現している。
3. 技術や手法の"キモ"はどこにある?
InfoGAN のアーキテクチャ
まず、従来の GAN における潜在変数(=入力ノイズ)を、incompressive noize z と latent code c の2つに分割することを考える。
※ incompressive noize z は、通常の潜在変数よりも要素数が小さくなったサブセットのノイズ。
※ latent code c は、例えば MNIST の場合は、0 ~ 9 の離散値を表現するものや線の太さや角度を表現するものを含んでいる。
従来の GAN において、このように潜在変数を2つに分解して入力しても、incompressive noize z のほうだけに強く反応し、latent code c の効果が無視されるようにネットワークが学習されることで、通常の潜在変数を入力してる状態と変わらない結果となってしまう。
0. 論文情報・リンク
1. どんなもの?
2. 先行研究と比べてどこがすごいの?
3. 技術や手法の"キモ"はどこにある?
InfoGAN のアーキテクチャ
まず、従来の GAN における潜在変数(=入力ノイズ)を、incompressive noize z と latent code c の2つに分割することを考える。 ※ incompressive noize z は、通常の潜在変数よりも要素数が小さくなったサブセットのノイズ。 ※ latent code c は、例えば MNIST の場合は、0 ~ 9 の離散値を表現するものや線の太さや角度を表現するものを含んでいる。
従来の GAN において、このように潜在変数を2つに分解して入力しても、incompressive noize z のほうだけに強く反応し、latent code c の効果が無視されるようにネットワークが学習されることで、通常の潜在変数を入力してる状態と変わらない結果となってしまう。
そのため、本手法では、情報理論における相互情報量の概念を導入し、このような問題が発生しないようにする。
潜在変数の相互情報量の最大化と損失関数 情報理論において、X と Y との間の相互情報量 I(X,Y) は、以下の式のようにエントロピーの差で定義される。
今考えている GAN のタスクに、この相互情報量を適用すると、
これは、相互情報量 I が小さいほど、latent code c の影響は小さくなることを意味するようになる。
従って、GAN における min-max ゲームは、この相互情報量 I を導入すると以下の式のように定式化される。
次に、相互情報量 I が値が大きいほど、latent code c の影響を大きくできるので、相互情報量 I を最大化することを考える。 しかしながら、相互情報量 I を実際に計算するには、
の関係より、事後分布 P(c|x) を経由する必要があるので、この値を直接最大化することは困難である。
そのため、以下の式のように補助の分布 Q(c|x) を導入し、事後分布 P(c|x) を近似することで、計算可能な I の下限値(=変分下限)L_I を求める。 ※ この計算テクニックは、Variational Information Maximization と呼ばれる。
更に、この変分下限の式は、以下のように変形できる。
従って、最終的な損失関数は、以下の式のように書き換えられる。
4. どうやって有効だと検証した?
5. 議論はあるか?
6. 次に読むべき論文はあるか?
7. 参考文献