李宏毅 _對抗生成網路 GAN
生成式對抗網路解決了什麼樣的問題呢?在機器學習領域,回歸(regression) 和分類 (classification)這兩項任務的解法人們已經不再陌生,但是如何讓機器更進一步創造出有結構的複雜物件
內容簡介
作者介紹
適合人群
你將會學到什麼
購買須知
-
Generative Adversarial Network (GAN)
GAN:找出一個生成器,給一個隨機向量(vector)利用神經網絡(Generator)生成一張圖片一個句子或者一篇文章
-
Introduction
生成對抗網絡,簡單來說就是由兩部分組成,一部分不斷進化,使其對立部分也不斷進化,實現共同進化的過程。 Basic idea of GAN Generator:a random vector to a object(image/sentence…);比較有用的 Generation 是 Conditional Generation Discriminator:輸入一個對象,輸出一個概率值(值越大表示對象的質量越好,越像真實對象) Adversarial:Generator vs Discriminator,寫作敵人念作朋友,這種關係有很多擬人化的解釋方法,比如:學生/老師,壞人做假鈔/警察,枯葉蝶/天敵… 影片內容 pdf:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2018/Lecture/GAN%20(v2).pdf
-
Conditional Generation
Conditional Generation:可以操控要輸出的內容,如輸入文字產生圖片(Text to image) Discriminator 不能只看 Generator 的 output,必須同時看 Generator 的 input 和 output Text to image 1.traditional supervised approach:訓練數據是 text+image,model 產生出的圖片都比較模糊,因為是多張 image 的平均 2.Conditional GAN-Discriminator 接收一個 pair,有兩種情況都應該給低分:real text + real other image、real text + generated image;只有real text +real image 給高分 影片內容 pdf:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2018/Lecture/CGAN.pdf
-
Unsupervised Conditional Generation
類似於風格轉化的 task 兩種方法: 1.直接轉:只能進行小改,input 和 output 間差距較小(如顏色或紋理轉化) 2.投射到公共空間:input 和 output 間差距較大(真人轉化為動畫人物) 影片內容 pdf:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2018/Lecture/CycleGAN.pdf
-
Basic Theory
Generator:minimize the divergence between distribution P_G P_data;問題是如何計算這個 divergence?因為兩者的 formulation 是不知道的。 GAN 解決這個問題的方法是 By Sample,然後通過 Discriminator 來計算兩者採樣間的 divergence。 影片內容 pdf:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2018/Lecture/GANtheory%20(v2).pdf
-
General Framework
original GAN中使用 JS divergence 來衡量 real data 和 generated data 之間的 divergence,fGAN 講的就是如何用其他類型 divergence 來衡量兩者間的差異,雖然在實做上沒有不同的效果 影片內容 pdf:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2018/Lecture/fGAN.pdf
-
WGAN, EBGAN
最原始的 GAN 使用 JS divergence,然而只要兩個分佈沒有重合,它們的 js divergence 都是 log2 LSGAN:把 sigmoid 換成 linear,(discriminator不要訓的太好也不要太差,就要求能區分又希望在 generated data 部分可微分) Wassertein GAN(WGAN) 使用 Earth Mover's Distance 衡量兩個 distribution 間的差距:將 P 數據鏟到 Q 所走的平均距離;窮舉所有的鏟土計劃,算出每個計劃中推土機要走的平均距離,距離最小的就是 W distance 。 影片內容 pdf:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2018/Lecture/WGAN%20(v2).pdf
-
Info GAN, VAE-GAN, BiGAN
在 GAN 的生成器中,輸入一個隨機向量,可生成一副圖像。向量和圖像間的關係可以理解為某種映射,也可以視作向量是圖像的特徵(儘管可能是隱形的 )。為了能找到向量中每個元素、特徵和生成圖像間的關係,希望元素的改變對圖像的影響是有規律可循的,但是一般這種規律是不直觀的,如影片所示: 影片內容 pdf:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2018/Lecture/GANfeature.pdf
-
Photo Editing
生成器是已經訓練好的一個網絡,encoder 是一個跟判別器很像的網絡,可以用判別器初始化 encoder(最後一層除外,因為網絡的輸出格式不一樣),然後訓練網絡。 影片內容 pdf:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2018/Lecture/PhotoEditing.pdf
-
Sequence Generation
用 maximize likelihood(也可以稱為 minimize cross entropy)訓練 seq2seq model 的問題是 training criterion 很難選到合適的 RL的困難是:機器需要跟人、環境互動很多次,在真實情境很難實現-> alpha GO style 讓兩個機器自己互動,在這種方法中的問題是 evaluation function 是人定的,而定義出合適的 evaluation function 其實是很難的-> use GAN to improving 影片內容 pdf:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2018/Lecture/GANSeqNew.pdf
-
Evaluation & Concluding Remarks
怎麼評價 GAN 產生的 object 是好還是不好? 傳統的方法:傳統用 likelihood 衡量 Generator 的效果,但是由 network 構成的 generator 沒有辦法知道真實概率分佈,只能通過採樣 kernel densityestimation:用 gaussian 去 fit sampled data;問題很多:不知道要 sample 多少個 data、不知道怎麼估測 gaussian likelihood 和 generator 真正的能力也未必是有關係的 影片內容 pdf:http://speech.ee.ntu.edu.tw/~tlkagk/courses/MLDS_2018/Lecture/GANEvaluation.pdf
-