2019年4月時点のGANに関する未解決な問題(1/7)

  • 2019.04.23
  • AI
2019年4月時点のGANに関する未解決な問題(1/7)

1.2019年4月時点のGANに関する未解決な問題(1/7)まとめ

・2019年4月時点のGANに関する未解決な問題/研究課題を7点掘り下げ
・一つ目の問題はGANとその他の生成モデルの違いについて
・GAN、Flow Models、Autoregressive Modelsは並列性と効率性と可逆性の点で一長一短に見える

2.GANに関する未解決な問題とは?

以下、distill.pubより「Open Questions about Generative Adversarial Networks」の意訳です。元記事は、2019年4月9日、Augustus Odenaさんによる投稿です。

~私達がまだ知らないGANについて知りたいこと~

問題1.GANと他の生成モデルとの違いは何ですか?

問題2.GANはどのような分布をモデル化できますか?

問題3.どうすれば画像合成以上にGANをスケールできますか?

問題4.トレーニングダイナミクスのグローバルな収束について私たちが理解している事は何ですか?

問題5.GANをどのように評価し、いつ使用するべきですか?

問題6.GANのトレーニングはバッチサイズとどのように連動していますか?

問題7.GANと敵対的サンプルの関係とは何ですか?

画像合成の進歩を計測するベンチマークなどの、いくつかの測定基準によると、過去2年間でGenerative Adversarial Networks(GAN)の研究は大きく進歩しました。以下のように実用的な画像合成技術の品質は急速に高まっており、この進化の速さに追いついていく事は簡単ではありません。


一段目Odena et al., 2016、二段目Miyato et al., 2017、三段目Zhang et al., 2018、四段目Brock et al., 2018

訳注:まだ評価が定まっていない最先端の研究分野を俯瞰しようと言う試みなので、「~が漏れている|欠けている|足りない|~の貢献を無視している」等々のフィードバックを想定してか、原文は非常に細やかな気づかいと言い回し、及び注釈でフォローしています。しかし、そういった配慮の部分まで訳そうとするとわかりにくくなってしまうため訳しきれていません。各研究分野の先達に敬意を持っていないと言うわけではないのでご容赦ください。

しかし、他の測定基準の観点からは、それほど早い進化は起こっていません。そのため、GANをどのように評価すべきかについては、依然として意見の相違が広がっています。

最新の画像合成ベンチマークのスコアの更新も、やや停滞しているように思われるので、今こそ、この研究を様々な観点から振り返る良い機会だと思います。

今回用意した未解決の問題リストは他の分野でも有用でした。この記事は未解決の研究課題を示唆しており、私達は他の研究者達もこの課題に取り組んでいる事にわくわくしています。これらの問題の全てを詳細に説明するには、あまりにも多くの関連事項を説明する必要があるので、かなりの量の前提知識(または物事を調べる意欲)を持つ読者を想定しています。

問題1.GANと他の生成モデルの違いは何ですか?

GANに加えて、現在2つの他のタイプの生成モデル、Flow ModelsとAutoregressive Modelsが人気があります。大まかに言って、Flow Modelsは、観測値の正確な対数尤度(訳注:「尤度:ゆうど」、とは観察結果から前提条件を推測しようという考え方)を計算できるように、前のサンプルに可逆の変換を適用します。

一方、Autoregressive Modelsは、観測値の分布を条件付き分布に分解し、一度に1つの観測成分を処理していきます。(画像の場合は、一度に1ピクセルを処理できます)。

最近の研究では、これらのモデルは異なるパフォーマンス特性とトレードオフを持っていることが示唆されています。 これらのトレードオフを正確に特徴付け、それらがモデルファミリに固有のものであるかどうかを判断することは、興味深い未解決の問題であると考えます。

具体的には、GANとFlow Modelsの計算コストの違いに一時的に注目してみましょう。一見すると、Flow ModelsはGANを不要にする可能性があるようです。

Flow Modelsは正確な対数尤度計算と正確な推論を可能にするので、Flow ModelsとGANのトレーニングが同じ計算コストである場合、GANは役に立ちません。GANのトレーニングには多くの努力が費やされているので、Flow ModelsがGANを時代遅れにするかどうかを気にする必要があるようです。

しかし、GANのトレーニングとFlow Modelsの計算コストには大きな差があるようです。この差の大きさを推定するために、私達は人間の顔のデータセットで訓練された2つのモデルを考えることができます、

GLOWモデル(OpenAIのFlow based生成モデル)は40のGPUを2週間使用し、約2億のパラメータで256 x 256解像度の有名人の顔を生成するように訓練されています。

これとは対照的に、プログレッシブGANは、8つのGPUを4日間使用し、約4千6百万のパラメータで1024 x 1024解像度の画像を生成するように、同様の顔データセットでトレーニングされます。

大まかに言って、Flow Modelsは16倍少ない画素の画像を生成するのに17倍多いGPU×日数と4倍多いパラメータを必要としました。 この比較は完璧ではありませんが、大ざっぱに感覚を掴む事ができます。

Flow Modelsはなぜ効率が悪いのでしょうか? 考えられる理由は2つあります。まず、最尤トレーニングは、敵対的トレーニングよりも計算が困難です。

特に、あなたのトレーニングセットのいずれかの要素があなたの生成モデルによって確率ゼロを割り当てられると、あなたは無限に厳しいペナルティを科されるでしょう!一方、GANジェネレータは、トレーニングセットの要素に確率ゼロを割り当てる事は間接的にペナルティが課されるだけで、このペナルティはそれほど厳しくありません。

第二に、Flow Modelsを正規化することは特定の機能を表現するための非効率的な方法かもしれません。2015年の論文「Variational Inference with Normalizing Flows」の6.1節では表現力に関する小さな実験がいくつか行われていますが、現時点ではこの問題についての詳細な分析は行われていません。

GANとFlow Modelsの間のトレードオフについて説明しましたが、Autoregressive Modelsについてはどうでしょうか?Autoregressive Modelsは(Flow Modelsと同様に可逆的であるため)並列化できないFlow Modelsとして考える事ができることがわかります。また、Autoregressive ModelsはFlow Modelsよりも時間とパラメータの効率が高いこともわかりました。

したがって、GANは並列かつ効率的ですが可逆的ではなく、Flow Modelsは可逆的かつ並列ですが効率的ではなく、Autoregressive Modelsは可逆的かつ効率的ですが並列ではありません。

並列性 効率性 可逆性
GANs ×
Flow Models ×
Autoregressive Models ×

これにより、最初の未解決の疑問が生まれます。

GANと他の生成モデルとの違い、その基本的なトレードオフは何ですか?特に、可逆性、並列性、およびパラメータ/時間効率について、ある種のCAP定理を定義することができますか?(訳注:CAP定理とは、「分散コンピュータシステムは情報複製に関して一貫性(Consistency)と可用性(Availability)と分断耐性(Partition-tolerance)の3つを同時に保証する事は出来ない」と言う定理)

この問題に取り組む1つの方法は、複数のモデルを混ぜ合わせたハイブリッド型のモデルをより多く研究することです。これはハイブリッドGAN/Flow Modelsとして考案されていますが、しかし、私達はこのアプローチがまだ過少評価されていると思います。

最尤トレーニングが必ずしもGANトレーニングよりも難しいかどうかについても確信が持てません。GANのトレーニング損失のもとでは、トレーニングデータポイントにゼロを設定することが明示的に禁止されているわけではありません。しかし、ジェネレーターがこれを行っても、十分に強力なディスクリミネーターは上手く捌く事ができるのも事実です。GANは現実には0 とならない点からなる分布を学習しているようです。

究極的には、Flow Modelsは基本的に任意のデコーダ関数よりもパラメータ単位の表現力が低いと考えられ、私達はこれは特定の仮定の下で証明可能であると考えています。

 

3.2019年4月時点のGANに関する未解決な問題(1/7)関連リンク

1)distill.pub
Open Questions about Generative Adversarial Networks