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

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

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

・GANの評価方法については様々なものが提案されているが決定的なものはない
・評価手法が定まっていない理由の一つはどのような時にGANを使うべきかが曖昧なため
・GANは、知覚的なフレーバーを持つタスクに最適でコストを考えなければ人力評価も選択肢

2.GANを評価する方法

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

GANをどのように評価し、どんな時に使用すれば良いですか?

GANの評価手法に関しては、多くの提案がありますが、主流と見なされている手法はありません。以下のような提案があります。

(1)インセプションスコアとFID
これら両方のスコアは事前に訓練された画像分類器を使用しますが、両方とも既知の問題があります。一般的な批判は、これらのスコアが「サンプルの品質」を測定し、「サンプルの多様性」を実際には捉えていないということです。

(2)MS-SSIM
MS-SSIMを使用して多様性を個別に評価することを提案しますが、この手法にはいくつかの問題があり、実際には把握できていません。

(3)AIS
論文、「On the Quantitative Analysis of Decoder-Based Generative Models」では、GANの出力にガウス観測モデルを置き、このモデルの下で対数尤度を推定するためにAIS(Annealed Importance Sampling:超直訳で焼きなまし重点サンプリング)を使用することを提案しています。しかし、「Flow-GAN: Bridging implicit and prescribed learning in generative models 」は、GANジェネレータがフローモデルでもある場合、この方法で計算された推定値は不正確であることを示しています。

(4)Geometry Score
論文「Geometry Score: A Method For Comparing Generative Adversarial Networks」では、は、生成されたデータの多様な幾何学的特性を計算し、それらの特性を実際のデータと比較することを提案しています。

(5)Precision and Recall
「Assessing Generative Models via Precision and Recall」ではGANの「precision(適合率)」と「Recall(再現率)」の両方を測定しようとします。

(6)Skill Rating
「Skill Rating for Generative Models」と「Discriminator Rejection Sampling」は、訓練済みGANディスクリミネータ内に評価に利用できる有用な情報が含まれている事を示しました。

これらは、提案されているGAN評価スキームのほんの一部です。インセプションスコアとFIDは比較的人気がありますが、GAN評価は明らかに解決された問題ではありません。究極的には、GANの評価法についての混乱は、GANをどんな時に使用するかについての混乱から生じていると思われます。したがって、これら2つの質問を1つにまとめました。

どんな時に他の生成モデルではなくGANを使用するべきですか?
GANを使用すべき状況でパフォーマンスをどのように評価すればよいでしょうか?

GANを何に使うべきですか? 現在の密度モデルが必要な場合、GANはおそらく最良の選択ではありません。GANがターゲットデータセットのlow supportな特徴表現を学ぶという、実験的な良い証拠があります。これは、GANが(暗黙的に)テストセットのかなりの部分にゼロ尤度を割り当てているかもしれないことを意味します。

これをあまり心配しないで、GAN研究をこれが問題ない、あるいは役に立つ場合があるタスクに集中させることは理にかなっていると思います。GANは、知覚的なフレーバーを持つタスクに最適です。画像合成、画像変換、画像埋め込み、属性操作などのグラフィックスアプリケーションはすべてこの範疇にあります。

これらの知覚問題に関してGANをどのように評価すべきでしょうか。理想的には人手を使った審査ですが、これは高価です。安価な代替手段は、分類器が実際の例と偽の例を区別できるかどうかを確認することです。これは、C2ST(classifier two-sample test)と呼ばれます。C2STの主な問題は、Generatorに軽微な欠陥があり、それがサンプル間で体系的になっている場合(例:distill.pubの過去記事「Deconvolution and Checkerboard Artifacts」)これが評価を左右します。

理想的には、単一の要因によって左右されない全体的な評価があるはずです。1つのアプローチは、支配的な欠陥を持たない価値関数(critic)を作ることです。しかし、一度これを実行すると、他の何らかの欠陥が支配的になる可能性があり、新しい価値関数が必要になる事があります。これを繰り返し行うと、ある種の「価値関数のためのグラム・シュミットの正規直交化法」が得られ、最も重要な欠陥とそれらを持たない価値関数の順序付きリストが作成されます。おそらくこれは、価値関数の活性化に対してPCAを実行し、順次、より多くの分散成分を捨てることによって行うことができます。

最後に、我々は費用はかかりますが人手を使って評価することができます。これにより、私たちが実際に気にしていることを測定することができます。この種のアプローチは、人間の答えを予測し、予測が不確実な場合にのみ実際の人間と対話することによって、より安価にすることができます。

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

1)distill.pub
Open Questions about Generative Adversarial Networks
Deconvolution and Checkerboard Artifacts

2)arxiv.org
Improved Techniques for Training GANs
GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium
Conditional Image Synthesis With Auxiliary Classifier GANs
On the Quantitative Analysis of Decoder-Based Generative Models
Geometry Score: A Method For Comparing Generative Adversarial Networks
Skill Rating for Generative Models
Discriminator Rejection Sampling