Skip to main content

Distribution Metrics for Generative Models

Distribution metric は、生成された sample set の分布が real data distribution にどれだけ近いかを測る指標です。個々の画像が美しいかというより、model 全体として 品質と多様性を両立しているか を見ます。

Inception Score​

Inception Score (IS) は、生成画像を Inception v3 classifier に入れ、次の二つを同時に満たすほど高い score になるように設計されています。

  • 各画像の class prediction p(y∣x)p(y \mid x) が sharp である。
  • 生成画像全体の marginal class distribution p(y)p(y) が多様である。
IS=exp⁡(Ex[DKL(p(y∣x) ∥ p(y))])\mathrm{IS} = \exp\left(\mathbb{E}_{x}\left[D_{\mathrm{KL}}\left(p(y \mid x)\,\|\,p(y)\right)\right]\right)

IS は初期の GAN evaluation で広く使われましたが、class 内 diversity を直接見ないこと、classifier の class taxonomy に依存すること、人間の知覚とずれることが課題です。

Fréchet Inception Distance​

Fréchet Inception Distance (FID) は、real images と generated images を Inception feature space に写し、それぞれを Gaussian distribution と見なして distance を計算します。

FID=∥μr−μg∥22+Tr⁡(Σr+Σg−2(ΣrΣg)1/2)\mathrm{FID} = \|\mu_r - \mu_g\|_2^2 + \operatorname{Tr}\left(\Sigma_r + \Sigma_g - 2(\Sigma_r \Sigma_g)^{1/2}\right)

ここで、μr,Σr\mu_r, \Sigma_r は real feature の平均と共分散、μg,Σg\mu_g, \Sigma_g は generated feature の平均と共分散です。低いほど real distribution に近いと解釈します。

FID の長所と限界​

観点内容
長所品質と多様性をある程度同時に反映できる
長所model-level comparison に向いている
限界多数 sample が必要で、少数画像には不安定
限界Inception feature と Gaussian assumption に依存する
限界prompt alignment を直接評価しない

FD-DINO​

FD-DINO は、FID の feature extractor を Inception v3 から DINOv2 などの self-supervised vision transformer に置き換える発想です。DINOv2 feature は semantic / perceptual representation が豊かで、classification 用に閉じた Inception feature より生成画像評価に適する場合があります。

FID の式自体はほぼ同じで、feature space を変えることで評価感度を変えます。

CMMD​

CMMD は、CLIP feature space 上で Maximum Mean Discrepancy (MMD) を測る metric です。Gaussian assumption に頼る FID と異なり、kernel mean embedding の距離として distribution difference を測ります。

MMD2(P,Q)=Ex,x′∼P[k(x,x′)]+Ey,y′∼Q[k(y,y′)]−2Ex∼P,y∼Q[k(x,y)]\mathrm{MMD}^2(P, Q) = \mathbb{E}_{x,x' \sim P}[k(x,x')] + \mathbb{E}_{y,y' \sim Q}[k(y,y')] - 2\mathbb{E}_{x \sim P, y \sim Q}[k(x,y)]

CMMD では、CLIP-L feature と Gaussian RBF kernel を使う構成が代表的です。Text-image model の embedding と相性が良く、inpainting evaluation でも候補になります。

Fréchet Video Distance​

Fréchet Video Distance (FVD) は、FID を video feature space に拡張した metric です。生成動画と real video を video recognition model の feature に写し、Gaussian distribution 間の Fréchet distance を測ります。

FVD は video generation の代表的な single-number metric ですが、temporal consistency、motion、prompt alignment、style などを一つの数値に潰すため、VBench のような multi-dimensional benchmark と併用するのが望ましいです。

いつ使うべきか​

状況推奨 metric
GAN / image generator の model-level 比較FID、FD-DINO、CMMD
生成画像が少数しかないAesthetic Score、CLIP-IQA、human rating を優先
Prompt への忠実度を見たいCLIPScore、VQA Score、Gecko Score
Video generation を総合評価したいVBench、FVD を併用
Inpainting で大規模 dataset があるFID、FD-DINO、CMMD、LPIPS

数式で見る FID / KID / precision-recall の関係​

FID は、feature distribution を Gaussian と見なし、平均と共分散の距離を測ります。

FID=∥μr−μg∥22+Tr(Σr+Σg−2(ΣrΣg)1/2)\mathrm{FID}=\|\boldsymbol{\mu}_r-\boldsymbol{\mu}_g\|_2^2+ \mathrm{Tr}\left(\boldsymbol{\Sigma}_r+\boldsymbol{\Sigma}_g-2(\boldsymbol{\Sigma}_r\boldsymbol{\Sigma}_g)^{1/2}\right)

KID は、MMD の unbiased estimator として定義されます。

MMD2(P,Q)=Ex,x′∼P[k(x,x′)]+Ey,y′∼Q[k(y,y′)]−2Ex∼P,y∼Q[k(x,y)]\mathrm{MMD}^2(P,Q)=\mathbb{E}_{x,x'\sim P}[k(x,x')]+ \mathbb{E}_{y,y'\sim Q}[k(y,y')]-2\mathbb{E}_{x\sim P,y\sim Q}[k(x,y)]

この式の気持ちは、「実データ特徴と生成特徴の分布がどれくらい近いか」を測るというものです。FID は平均と共分散に要約するため計算しやすい一方、multi-modal な失敗を見落とすことがあります。Precision / recall 型 metric は、quality と diversity を分けて見るために使います。

  • Precision は「生成 sample が実データ manifold に乗っているか」を見ます。
  • Recall は「生成分布が実データ manifold をどれくらい覆えているか」を見ます。

したがって、FID が良くても recall が低ければ mode dropping が疑われ、precision が低ければ破綻 sample が多い可能性があります。

関連ページ​

主なソース​