我們就開始來玩玩看 GAN Lab 吧,先聊一下他整個的訓練過程。一開始我們要先選一個真實的樣本集,然後看是否要使用預訓練的模型,然後按下執行就開始運作了。他在訓練時,會持續的調整二個網路。
第一個部份是訓練鑑別網路(discriminative network)
過程大致是:
第二個部份是訓練生成網路(generative network)
過程大致是:
再來介紹一下介面。
跟 tensorflow playground 一樣,在這裡,你可以選擇你的真實樣本,是否要用預訓練的模型。
下面就是生成式對抗網路的架構。你可以看到二個網路串在一起左下生成網路(generative network),右上是鑑別網路(discriminative network)。
是不是跟昨天介紹的架構長很像。
圖片來源:Thalles Silva
畫面的右邊是顯示真實的樣本集分佈與生成器產生的樣本集分佈。
最右邊的是損失值的走勢。
較深的綠色表示該區域中的樣本更可能是真實的。 較深的紫色,更可能是假的。
隨著GAN接近最佳值,整體的熱圖將整體呈灰色,這表明辨別器不再能夠輕易地將假示例與真實示例區分開。你可以看到下圖,真實的樣本,跟由生成器(Generator)產生出來的樣本,分布已經很像了。
之後你可以再調整更細部的設定,像是訓練率和神經網路的層數與神經元的個數。
以上就是 GAN Lab 的操作介紹。藉由這個視覺化的網站,可以更容易了解 GAN 運作原理,真的是很棒,感謝開發的團隊。
好,第24天,結束。
參考
GAN Lab
GAN Lab: Understanding Complex Deep Generative Models using Interactive Visual Experimentation
谷歌带来GAN入门神器:浏览器上运行的可视化工具GAN Lab
ffhq-dataset