GAN算法
生成對抗模型
論文地址
- 有em算法思想
生成對抗網絡(GAN)由2個重要的部分構成:
生成器(Generator):通過機器生成數據(大部分情況下是圖像),目的是“騙過”判別器
判別器(Discriminator):判斷這張圖像是真實的還是機器生成的,目的是找出生成器做的“假數據”
主要流程:
第一階段:固定“判別器D”,訓練“生成器G”
我們使用一個還 OK 判別器,讓一個“生成器G”不斷生成“假數據”,然后給這個“判別器D”去判斷。一開始,“生成器G”還很弱,所以很容易被揪出來。但是隨著不斷的訓練,“生成器G”技能不斷提升,最終騙過了“判別器D”。到了這個時候,“判別器D”基本屬于瞎猜的狀態,判斷是否為假數據的概率為50%。
第二階段:固定“生成器G”,訓練“判別器D”
當通過了第一階段,繼續訓練“生成器G”就沒有意義了。這個時候我們固定“生成器G”,然后開始訓練“判別器D”。
“判別器D”通過不斷訓練,提高了自己的鑒別能力,最終他可以準確的判斷出所有的假圖片。到了這個時候,“生成器G”已經無法騙過“判別器D”。
循環階段一和階段二:
通過不斷的循環,“生成器G”和“判別器D”的能力都越來越強。最終我們得到了一個效果非常好的“生成器G”,我們就可以用它來生成我們想要的圖片了。
GAN算法有兩個特點:
- 是一種無監督學習算法,不需要label
- 用一個有監督學習(MLP)的損失函數來做無監督學習,算法效率會更高
總結:算法中涉及到生成模型和判別模型對抗思想,并且用到KL散度等數學知識,通過博弈來逼近最優結果。
總結
- 上一篇: 20210116 plecs 版本更新笔
- 下一篇: MacOS Mojave 更换开机登录界