GAN是非監督式學習的一種方法,透過讓兩個神經網路相互博弈的方式進行學習,生成對抗網絡由一個生成網絡(Generator)與一個判別網絡(Discriminator)組成,生成網絡從潛在空間中隨機取樣作為輸入,其輸出結果需要盡量模仿訓練集中的真實樣本。判別網絡的輸入則為真實樣本或生成網絡的輸出,其目的是將生成網絡的輸出從真實樣本中盡可能分辨出來。
GAN 主要由兩個模型:Generator 和 Discriminator 組成
Generator 的目標就是當你input 的 array的時候,他能依照你的array樣態生成目標
Discriminator的目標就是當Generator生成照片時,可以透過這個網路來對生成的照片做評分或者說驗證品質。因此,這Componet 有著不同的目標,相互對抗。
https://github.com/jonbruner/generative-adversarial-networks/blob/master/gan-notebook.ipynb
在訓練的過程,Generator會不斷的想辦法騙過Discriminator,而Discriminator會努力地去判斷。所以雙方就會互相成長,就像國外最長的舉例,假鈔跟驗證假鈔,Generator 是負責做假鈔的人,Discriminator 是檢驗是否為假鈔。透過不斷的訓練,就能生成越來越像的樣本。