生成對抗網絡(GAN)是通過競爭(“對抗”)學習從特定分布中選取樣本(“生成”)的神經網絡。GAN由生成網絡和判別網絡組成,并通過生成網絡和判別網絡的相互對抗進行訓練。因此,要理解GAN,不僅需要理解生成網絡和判別網絡兩部分,還需要理解這兩個網絡在訓練過程中是如何相互影響的。而理解這兩個網絡在訓練過程中迭代、動態(tài)、復雜的相互作用對初學者而言很有挑戰(zhàn)性,有時甚至專家也沒有完全理解整個過程。
為此,佐治亞理工學院Minsuk Kahng、Polo Chau和Google Brain的Nikhil Thorat、Fernanda Viégas、Martin Wattenberg合作開發(fā)了GAN Lab。這一交互式的可視化工具,可以幫助理解GAN的內部機制。
GAN Lab
閑話少敘,現在就隨論智君一起上手體驗下GAN Lab吧。
首先,訪問https://poloclub.github.io/ganlab/,稍等片刻,讓頁面加載完畢。之后在左上角選擇數據樣本。GAN常用于生成圖像,但可視化圖像這樣的高維數據很麻煩。為了盡可能清晰地展示數據分布,GAN Lab使用了二維數據點(x, y)。
如圖所示,左側的模型概覽包含數據分布的小圖,右側顯示數據分布的大圖。
點擊運行按鈕,開始訓練后,我們能在最右看到不斷更新的測度,上為生成網絡、判別網絡的損失,下為KL散度和GL散度。
而右側的數據分布視圖中,除了原先的綠點(真實樣本),我們還能看到一些紫點(生成樣本)。在訓練過程中,生成樣本的位置持續(xù)更新,最終趨向于和真實樣本的分布重疊。GAN Lab使用了綠色和紫色,而不是通常的綠色和紅色,是因為不想讓人將生成樣本聯(lián)想為負面情形。
然后左側就是GAN模型架構,訓練過程中,虛線將示意數據流動方向。運行按鈕邊上有一個慢動作按鈕,點擊后能放慢訓練過程,更清楚細致地查看數據的流動。
鼠標懸浮于生成網絡(Generator),可以看到從隨機噪聲到生成樣本的流形變換過程。透明度編碼了密度,也就是說,透明度越高,生成數據點所在空間就越小。另外,勾選Generator下的小框后,在右側的數據分布視圖中也將顯示生成數據點的流形。
判別網絡(Discriminator)上,決策邊界可視化為二維熱圖。綠色表示判別網絡分類為真實樣本,紫色表示判別網絡分類為生成樣本。顏色深淺編碼了置信度,也就是說,顏色越深,判別網絡對自己的判斷就越自信。隨著訓練的進行,判別網絡的熱圖總體趨向于灰色,意味著判別網絡越來越難以分辨真實樣本和虛假樣本。另外,判別網絡輸出的預測,同樣使用顏色深淺編碼置信度。同樣,勾選Discriminator下的小框后,右側的數據分布視圖也將顯示熱圖。
最后,右側的數據分布視圖用紫線可視化了生成網絡的梯度。在訓練中,梯度刺向背景熱圖的綠色區(qū)域,這意味著生成網絡正努力嘗試欺騙判別網絡。
下圖為訓練了111個epoch后的整體效果:
交互性
慢動作模式按鈕旁,有步進按鈕,點擊一下就訓練一個epoch。而且,甚至可以選擇只訓練生成網絡或判別網絡。
上:只訓練生成網絡;中:只訓練判別網絡;下:同步訓練
點擊模型概覽上的鉛筆圖標可以修改模型的超參數,包括隨機噪聲分布(均勻、高斯),生成網絡和判別網絡的隱藏層層數、每層神經元數、優(yōu)化方法、學習率、損失函數。
論智君胡亂調參后,模型崩塌了
除了修改模型超參數之外,還可以自行設置分布。點擊左上角數據分布區(qū)域的鉛筆圖標,可以自行繪制新分布。
實現技術
GAN Lab基于TensorFlow.js實現(作者之一 Nikhil Thorat是TensorFlow.js的領導開發(fā)者),整個GAN網絡的訓練都在瀏覽器中完成!
作者開源了代碼,只需輸入如下幾個命令,就可以在自己的機器上運行GAN Lab:
git clone https://github.com/poloclub/ganlab.git
cd ganlab
yarn prep
./scripts/watch-demo
>> Waitingfor initial compile...
>> 3462522 bytes written to demo/bundle.js (2.17 seconds) at 00:00:00
>> Starting up http-server, serving ./
>> Available on:
>> http://127.0.0.1:8080
>> Hit CTRL-C to stop the server
GAN網絡的變體很多,如果想要可視化偏愛的GAN變體,歡迎參與GAN Lab開發(fā)。
-
圖像
+關注
關注
2文章
1087瀏覽量
40501 -
GaN
+關注
關注
19文章
1947瀏覽量
73685 -
可視化
+關注
關注
1文章
1197瀏覽量
20971
原文標題:生成對抗網絡交互式可視化 GAN Lab
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論