誕生日のパラドックスを応用してGANによる生成データの分布の多様性を評価する

GANによって生成されたデータの分布の多様性を評価する論文。
この論文では誕生日のパラドックスを使った少しトリッキーな分析をしている。

実際のGANの生成するデータの分布は、
GANに与える訓練データの分布より多様性に欠けるものであるという結論で終わっている。

誕生日のパラドックス

誕生日のパラドックスとは「何人集まれば,その中に誕生日が同一の2人がいる確率が50%を超えるか」という問題の結果が直観に反しているというパラドックス. 100%を超えるのは366人以上集まった場合だが, 50%を超えるのに必要なのはたった23人である.

試しに22人の場合に全員の誕生日が異なる確率を計算してみる.
その確率は以下のようになる. {} $$ \begin{align} p &= 1 \cdot (1 - \frac{1}{365}) \cdot (1 - \frac{2}{365}) \cdot (1 - \frac{3}{365}) \cdots (1 - \frac{22}{365}) \end{align} $$

この式を変形していく。
{x}が小さいときに{e^{x}}テイラー展開ができて {} $$ e^{x} \approx 1 + x $$ となるので例えば、以下の項は {} $$ 1 - \frac{1}{365} \approx e^{-1/365} $$ となる.これを使うと上の{p}は, {} $$ \begin{align} p &\approx 1 \cdot e^{-1/365} \cdot e^{-2/365} \cdots e^{-22/365} \\ &\approx e^{-1-2-3 \cdots -22/365} \\ &\approx e^{-(1+2+\cdots+22)/265} \\ &\approx e^{-(23 \cdot 22)/(2 \cdot 365)} \\ &= 0.499998 \end{align} $$ となる.
さてこの問題を一般化してみる.
人のある属性がT種類あるとき,n人集まったときにその属性が被る確率が50%を超えるnを求める問題を考えると, {} $$ p \approx e^{-(n^{2}/2 \cdot T)} $$ となる.これを{p = 0.5}に対して解くと, {} $$ n \approx 1.177 \sqrt{T} $$ となる.
よって、ある属性がT種類あるときに,だいたい{\sqrt{T}}人集めればその属性が被ることがわかる.

GANによる生成データの被り具合を調べる

この誕生日のパラドックスを利用して,GANによる生成データの分布の多様性を調べる.
その手順は以下のようなものになる.

  1. {s}個の生成データをサンプリングする
  2. サンプルの中から類似したペアを機械的アルゴリズムで検出
  3. 2で検出したペアに関して,目視で複製であるかチェックする
  4. 1に戻る

{s}個のサンプルをチェックしてその中で複製のようなペアが見つかった場合,
誕生日のパラドックスから生成データの全個数は{s^{2}}であるといえる.

GANの生成データの分布は連続であり、誕生日のパラドックスのように離散でない。
よって完全に同一のサンプルだけでなく,目視で非常に似ているサンプルを"複製"とみなす.

CelebAデータセットに対する結果

DCGANを使う条件において, CelebA(顔データセット)では400サンプルに50%の確率で複製が含まれていることがわかった。 したがって,誕生日のパラドックスを援用すると400*400=16000がこのGANが生成する画像の種類と言える. これはCelebAのデータセット数(200K個)からするとかなり小さい.
つまり訓練データ全体を生成データがカバーしているとは言い難い.

なお,生成分布の多様性はDiscriminatorのフィルタチャネル数に依存することも論文中で示されている.

f:id:yusuke_ujitoko:20170707002335p:plain:w500

論文では他にもCIFAR-10やLSUN(ベッドルーム画像データセット)に対しても評価が行われている. VAEに対してはぼやけていて画像間の複製が判断できなかったため未実施.

個人的にはWGAN-gpに対して同様の実験を行うとどうなるかが気になる.