GAN — GANパフォーマンスの測定方法は?

写真:DawidMałecki

GANでは、ジェネレーターとディスクリミネーターの目的関数は、通常、相手に対してどれだけうまく機能しているかを測定します。たとえば、ジェネレータが弁別器をだましている度合いを測定します。画質やその多様性を測定するのに適した指標ではありません。 GANシリーズの一部として、異なるGANモデルの結果を比較する方法について、インセプションスコアとフレシェインセプション距離を調べます。

開始スコア(IS)

ISは、GANのパフォーマンスの測定に2つの基準を使用します。

  • 生成された画像の品質、および
  • 彼らの多様性。

エントロピーはランダム性と見なすことができます。ランダム変数xの値が高度に予測可能な場合、エントロピーは低くなります。それどころか、非常に予測不可能な場合、エントロピーは高くなります。たとえば、次の図では、2つの確率分布p(x)があります。 p2のエントロピーはp1よりも高くなります。これは、p2の分布がより均一であるため、xが何であるかについての予測が難しいためです。

GANでは、条件付き確率P(y | x)を高度に予測可能(低エントロピー)にする必要があります。つまり、画像が与えられた場合、オブジェクトの種類を簡単に知る必要があります。そのため、Inceptionネットワークを使用して、生成された画像を分類し、P(y | x)を予測します。ここで、yはラベル、xは生成されたデータです。これは画像の品質を反映しています。次に、画像の多様性を測定する必要があります。

P(y)は、次のように計算される限界確率です。

生成された画像が多様な場合、yのデータ分布は均一(高エントロピー)でなければなりません。

次の図は、この概念を視覚化したものです。

これら2つの基準を組み合わせるには、KL発散を計算し、ISを計算するために以下の方程式を使用します。

ISの1つの欠点は、クラスごとに1つのイメージしか生成しない場合、パフォーマンスを誤って伝える可能性があることです。多様性が低い場合でも、p(y)は依然として均一です。

フレシェ開始距離(FID)

FIDでは、Inceptionネットワークを使用して、中間層からフィーチャを抽出します。次に、平均µと共分散Σをもつ多変量ガウス分布を使用して、これらの特徴のデータ分布をモデル化します。実画像xと生成画像gの間のFIDは次のように計算されます。

Trはすべての対角要素を合計します。

FID値が低いほど、画質と多様性が向上します。

FIDはモード崩壊に敏感です。以下に示すように、距離は、欠落モードをシミュレートすると増加します。

ソースFIDスコアが低いほど、より良いモデルを識別します。

FIDはISよりもノイズに対して堅牢です。モデルがクラスごとに1つの画像のみを生成する場合、距離は長くなります。したがって、FIDは画像の多様性を測定するのに適しています。 FIDにはある程度高いバイアスがありますが、分散は低くなります。トレーニングデータセットとテストデータセット間のFIDを計算することにより、両方が実際の画像であるため、FIDがゼロになることを期待する必要があります。ただし、トレーニングサンプルの異なるバッチでテストを実行すると、ゼロFIDは表示されません。

ソース

また、FIDとISは両方とも、特徴抽出(特徴の有無)に基づいています。空間的な関係が維持されない場合、ジェネレーターは同じスコアを持ちますか?

精度、リコール、F1スコア

生成された画像が平均して実際の画像に似ている場合、精度は高くなっています。再現率が高いということは、ジェネレーターがトレーニングデータセットで見つかったサンプルを生成できることを意味します。 F1スコアは、精度と再現率の調和平均です。

Google Brainの研究論文「Are GANs created equal」では、さまざまなGANモデルの精度と再現率を測定するために、三角形のデータセットを使用したおもちゃの実験が作成されています。

ソース

このおもちゃのデータセットは、異なるGANモデルのパフォーマンスを測定できます。これを使用して、さまざまなコスト関数のメリットを測定できます。たとえば、新しい関数は、カバレッジが良好な高品質の三角形を作成するのに適していますか?

参照

GANをトレーニングするための改善されたテクニック

GANは同等に作成されますか?大規模研究

2時間スケールの更新ルールによってトレーニングされたGANがローカルナッシュ均衡に収束する