生成對(duì)抗網(wǎng)絡(luò)(GAN)之IS與FID
一、Inception score (IS)
Inception score是衡量GAN生成數(shù)據(jù)的好壞的標(biāo)準(zhǔn),如它的名字一樣,基于inception v3的模型。架構(gòu)可見(jiàn)Google的Inception v3 Guide,其中有一張完整的架構(gòu)圖。

二、IS的計(jì)算方式
針對(duì)我們GAN生成的圖片,我們套用一個(gè)預(yù)先訓(xùn)練好的Inception模型來(lái)獲得概率分布 。我們希望我們的GAN生成接近真實(shí)的數(shù)據(jù),同時(shí)也希望GAN生成多樣的數(shù)據(jù),所以我們希望概率分布
有著低entropy,以及
有著高entropy。
于是我們的評(píng)分機(jī)制為:
KL代表Kullback–Leibler divergence,用于衡量?jī)蓚€(gè)概率分布間的距離,
具體的代碼可參見(jiàn)論文團(tuán)隊(duì)的GitHub Repo頁(yè),閱讀需要一些numpy的基礎(chǔ)。

三、Fréchet Inception Distance (FID)
FID是在IS的基礎(chǔ)上的改良版。我們令分別代表GAN生成數(shù)據(jù)的概率分布和來(lái)自"real-world"的概率分布,
分別為
的均值和協(xié)方差,
分別為
的均值和協(xié)方差。我們從Inception v3的最后一個(gè)層的activation中獲取以上的數(shù)據(jù)。
然后我們基于Fréchet distance:
然后我們希望這個(gè)距離越小越好。
以下為來(lái)自論文團(tuán)隊(duì)GitHub Repo的代碼(有個(gè)人刪減)
以下是個(gè)人娛樂(lè)用的嘗試,128*128的圖片,A組為云,B組為星空


結(jié)果得出,距離很遠(yuǎn)。
如果將A組圖片一分為二,然后計(jì)算自身與自身的距離,得出

參考資料
Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, Sepp Hochreiter - GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium
Tim Salimans, Ian Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, Xi Chen - Improved Techniques for Training GANs
bioinf-jku/TTUR -?https://github.com/bioinf-jku/TTUR/blob/master/FIDvsINC/fid.py
openai/improved-gan -?https://github.com/openai/improved-gan/blob/master/inception_score/model.py

THE END.