GAN Lecture 3 (2018): Unsupervised Conditional Generation
Conditional GAN也可以做unsupervised learning
應用例如給一張風景照,要機器轉換成梵谷的畫風。因為梵谷不可能看過所有風景,所以多數風景照沒有對應的label,因此只能使用unsupervised learning
現今主流的做法有兩種:Direct Transformation與Projection to Common Space
Direct Transformation:
直接轉。直接learn 一個generator,input x domain的東西,想辦法轉成y domain的東西
這種做法input output通常不會差距太多,通常是換顏色、材質等等
Projection to Common Space:
autoencoder的概念,把x domain object投影到低維空間,再建構回高維的y domain object
如果要轉換的東西差距很大,就必須使用這招,因為不是改改顏色材質就可以。
底下會詳細介紹兩種方法
這邊一樣以風景照轉成梵谷畫風為例,我們可以收集到一堆風景照(domain X)與梵谷畫(domain Y),不過沒有他們之間的關聯性
要讓generator知道給一個x domain要輸出y domain的東西的話,我們需要一個 y domain的discriminator ,這個discriminator看過很多y domain 的 image,所以他可以鑑別他看到的東西是不是 y domain的 image。
再來,只要generator可以想辦法騙過 y domain discrimniator,generator產生出來的image就會像是一張y domain的image
不過這樣會有個問題,如果只是要騙過discriminator的話,generator可以畫一張跟input完全無關的東西(上圖右,input風景,output梵谷自畫像)
因此,我們希望generator可以騙過discriminator的同時,generator的input跟output必須高度相關