iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
AI & Data

圖像生成 AI 的原理與應用系列 第 5

[Day 5] Wasserstein GAN - 改善原始 GAN 難以收斂的問題

  • 分享至 

  • xImage
  •  

如同昨天文章的內容提到的,利用一個二元分類器作為 discriminator 和 generator 對抗,期望 generator 最終能學會產生近乎真實的影像,雖然理論上可行,但實際上訓練起來並不是那麼容易/images/emoticon/emoticon02.gif

而其中一個原因是,利用 JS divergence 評估生成影像的和真實影像的差距並不合適。這是因為當生成分布和真實分布沒有重疊時,算出來的 JS divergence 永遠等於 log(2)。

下圖以狗狗影像生成任務為例子,粉色的分布是 generator 要學習的真實影像分布,藍色的分布則是生成分布,而可以看到最左邊的生成影像是一堆雜訊影像,中間則是一些模糊的狗狗影像,最右邊則從是品質相對較好的影像了。但是當這些生成影像的分布和真實分布沒有重疊,算出來的 JS divergence 都是一樣的,換句話說,評估生成影像品質的分數都是一樣的,如此 generator 要怎麼知道右邊比起左邊才是它要學習的方向呢?

https://ithelp.ithome.com.tw/upload/images/20230914/20162522PkgHLQ30xN.jpg

從二元分類的角度來想,當兩個分布不重疊時,不管分布間的距離遠近,分類器都可以輕易地劃分出真實與生成分布間的界線。試想當 discriminator 能完全區分出所有生成和真實的影像,generator 完全沒辦法騙到 discriminator,generator 就會像不管怎麼作答都得到零分的學生一樣,找不到學習的方向/images/emoticon/emoticon70.gif

WGAN

既然 JS divergence 不適合用來訓練 GAN,那我們可以用什麼指標來評估生成影像和真實影像的差距呢?

其中一個可能,就是使用 Wasserstein distance。

Wasserstein distance 的詳細內容我並沒有很清楚,但簡單來說,這個距離又被稱為「推土機距離(Earth Mover’s distance)」,它的定義是由 P 分布轉換成 Q 分布所需要的代價(移動的最短距離)。

使用 Wasserstein distance 的好處是,即使生成和真實分布沒有重疊,只要兩個分布有變接近,Wasserstein distance 是估測的出差異的。以剛剛的狗狗生成任務為例,最右邊的狀況計算得到的 Wasserstein distance 就會比最左邊的狀況來得低,如此就能引導 generator 學習產生越來越逼真的圖。而使用 Wasserstein distance 訓練的 GAN,就稱為 Wasserstein GAN(WGAN)。

https://ithelp.ithome.com.tw/upload/images/20230914/20162522JX66R5Vydz.jpg
(圖片來源:【機器學習2021】生成式對抗網路 (Generative Adversarial Network, GAN) (二) – 理論介紹與WGAN

WGAN 的公式如上,直接的解釋就是,discriminator 要最大化從 P_data 抽樣出來的真實影像通過 discriminator 得到的分數,最小化從 P_G 抽樣出來的生成影像得到的分數,兩者的差距要越大越好。除此之外,discriminator 要符合 Lipschitz 連續性,簡單來說就是 discriminator 要足夠平滑。

直覺來想,如果缺少了平滑性的限制,不管真實影像分布和生成分布間的距離多接近,discriminator 都會想辦法讓真實影像的得分無限大,生成影像的得分則無限小,generator 就難以從 Wasserstein distance 知道分布間的差距,如此以來,GAN 的訓練將無法收斂。

至於要如何達到 Lipschitz 連續性呢?原始的 WGAN paper 作法是限定 network 參數數值範圍落在 -c 和 c 之間,但這並無法保證能符合 Lipschitz 連續性。後來的 improved WGAN 則提出了 gradient panelty 的方法。最終,Spectral normalization GAN(SNGAN)藉由讓 gradient norm 維持小於 1,就達成了 Lipschitz 連續性的條件。

參考資料

呼~又是成功完成文章的一天~每天被進度壓力追著跑好充實/images/emoticon/emoticon13.gif


上一篇
[Day 4] 淺談 GAN 的理論
下一篇
[Day 6] 如何評估 GAN 生成影像的表現?
系列文
圖像生成 AI 的原理與應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言