GAN Lecture 8 (2018): Photo Editing



這邊舉一些GAN在照片上的應用範例,然後試圖解釋其原理

Application 1

Demo: https://youtu.be/kPEIJJsQr7U

這是NVIDIA的一個task,調整一個參數,就可以生成黑頭髮、金頭髮的人臉

如何達成這件事呢?首先我們要先知道哪些東西可以控制特定特徵

之前提過,input給generator的vector之中,每個維度可能都包含某種特徵,只是我們並不知道每個維度對應的特徵。因此我們想要反推出input每個dim特徵

我們可以收集到大量的image,也可以收集到大量的label,但可能不清楚這張image由什麼vector生成。要是可以知道「生成這張image的vector」長怎樣,就可以知道vector與image的關係

所以要先知道:什麼樣的vector可以產生某張image

假設已經train好一個generator,給一個vecotr產生一張image,那我們就逆向工程,給個image,看什麼樣的vector可以產生這個image

可以這麼做:

把一個encoder接在image generator前面,整個系統變成autoencoder

給一張image,encoder把他壓成latent code丟給generator(decoder),output是原來那張image

訓練過程中,generator固定不動(事先訓練好),丟一張image x給encoder,最後decoder output的x要跟input x越近越好