Skip to main content

Mode Collapse

Mode collapse は、GAN の Generator が多様な sample を生成できず、同じような出力ばかりを作る失敗モードです。

何が起きているのか

Generator が、real data distribution のごく一部の mode だけをうまく再現できるようになると、その狭い領域に出力が集中してしまうことがあります。Discriminator をだませる sample を作れているように見えても、real data distribution 全体を表現できているわけではありません。

画像生成では、似た構図、似た色、似た形の画像ばかりが生成される形で現れます。

Mode collapse の例

画像出典: Lilian Weng, “From GAN to WGAN”。画像生成に強い inductive bias を持たない MLP ベースの DCGAN では、mode collapse が強く現れることがあります。

なぜ問題なのか

Generative model に期待される重要な性質の一つは、多様性です。たとえば、顔画像を生成する model であれば、年齢、表情、姿勢、照明、背景など、多くの variation を表現できる必要があります。

Mode collapse が起きると、sample の見た目が一部では良くても、distribution としては不完全になります。つまり、sample quality と diversity の両方を評価する必要があります。

改善の方向性

Mode collapse を緩和するための方法としては、次のような technique が使われます。

数式で見る mode collapse

Mode collapse は、generator distribution pgp_g が data distribution prp_r の一部の mode だけを覆う状態として理解できます。理想的には pg(x)=pr(x)p_g(x)=p_r(x) ですが、collapse している場合には、多くの領域で次のようになります。

pr(x)>0かつpg(x)0p_r(x)>0 \quad \text{かつ} \quad p_g(x)\approx 0

この状態では、見た目の良い sample は出るかもしれませんが、data distribution 全体の多様性は再現できていません。Diversity を見る一つの直感的な指標は entropy です。

H(pg)=pg(x)logpg(x)dxH(p_g)=-\int p_g(x)\log p_g(x)\,dx

Mode collapse では、pgp_g が少数の領域に集中するため、この entropy が小さくなります。ただし、高次元画像分布の entropy を直接推定することは難しいため、実務では FID、precision/recall、生成 sample のクラスタ分布などを合わせて確認します。

関連ページ