GAN 初學者指南

GAN是一個非常巧妙並且非常有用的模型。當有大量關於 GAN 的論文時,但是你會發現這些論文通常很難理解,你可能會想要一些對初學者更友好的東西。所以本文的對非傳統機器學習人員來說,是我能想到的最好的例子。

什麼是 GAN?

GANs 或 Generative Adversarial Networks 是一類機器學習技術,由兩個網絡組成,相互進行對抗性學習。

這一切都是爲了創造。音樂?繪畫?不存在的人的可怕逼真的照片?大聲笑等等。

GAN中的網絡一個被稱爲 Generator,可以將其視爲一種僞造者,第二個稱爲 Discriminator,可以將其視爲偵探。生成器的主要目標是生成逼真的圖像,而鑑別器則試圖區分真假圖像。

假設生成器正在嘗試創建貓的圖片,而鑑別器必須確定它是真正的貓還是 AI 生成的。

它是如何工作的?

判別器和生成器都在開始時隨機初始化並同時進行訓練。開始時生成器只產生一些隨機噪聲,經過訓練在創建逼真的圖像方面越來越好,而鑑別器在區分它們方面越來越好。在模型達到平衡後,鑑別器就無法區分真實圖像和假圖像。在推理階段,我們不再需要判別器,只是用生成器進行工作。

生成器試圖最小化以下函數,而鑑別器試圖最大化它:

損失函數,D(y) 是判別器對真實數據實例 y 爲真實的概率的估計。G(z) 是給定噪聲 z 時生成器的輸出。D(G(z)) 是鑑別器對假實例是真實的概率的估計。

簡單來說,生成器目的是希望欺騙鑑別器讓其相信輸出是真實的,這意味着生成器的權重經過優化,以最大限度地提高此處任何假圖像輸出屬於真實數據集的概率,而判別器應該最小化相同的概率。生成器不能直接影響函數中的 log(D(x)) 項,因此對於生成器來說最小化損失相當於最小化 log(1-D(G(z)))。

生成模型一般基於馬爾可夫鏈、最大似然估計(maximum likelihood estimation, MLE)和近似推理,其似然值在區間[0,1]內。

在均衡時D輸出1/2,因爲鑑別器不能區分生成的虛假數據和真實數據。

完整文章

https://avoid.overfit.cn/post/435488fa0bcd45ec81cfd94a5d938858

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章