李弘毅老師GAN筆記(二),Conditional GAN
目錄
1 什麼是 Condition GAN
一般形式的GAN在上一篇部落格已經介紹過,今天這節課講的是conditional GAN,翻譯過來就是條件GAN,所謂條件呢就是指我們現在生成的網路不僅僅需要逼真,而且還要有一定的條件。比如圖1所示的網路,輸入一段文字,輸出不僅僅是接近真實的影象,同時還要滿足輸入文字的條件,不如輸入一隻狗在奔跑,輸出即為一直狗狗在噴跑的圖。由於增加了條件,所以生成網路和判別網路的原理和訓練均有所改變。
圖1 conditional GAN 示例2 Conditional GAN 的原理
原理圖如圖2所示,上半部分是生成網路,輸入增加了一個條件,比如圖中所示的“train”說明輸出應該是一個火車。下半部分是判別網路,輸入除了生成的圖片,還有與生成網路輸入同樣的條件,輸出是一個綜合打分。若接近實際而且與條件符合則為1分,若輸出圖片質量低或
3 Conditional GAN 的訓練
同一般形式的GAN類似,也是先訓練判別網路,再訓練生成網路,然後再訓練判別網路,兩個網路交替訓練。只是訓練判別網路的樣本稍有不同,如圖4所示,訓練判別網路的時候需要這三種樣本,分別是:(1)條件和與條件相符的真實圖片,期望輸出為1;(2)條件和與條件不符的真實圖片,期望輸出為0;(3)條件和生成網路生成的輸出,期望輸出為0。
4 Conditional GAN 的一些應用
(1)image-to-image
輸入是一種圖片,輸出是另一種圖片,則將輸入的那種圖片作為條件,及替換掉上文所例子中的“train”。示意圖如圖5所示,其中z是一個向量,訓練時使用正態分佈隨機生成向量。
圖5 image-to-image的結構圖(2)語音增強
其實也是類似於影象到影象,示意圖如圖6所示
圖6 語音增強示意圖(3)視訊生成
根據視訊的前幾幀生成後一幀,與前兩個應用不同的是輸入的條件是一系列圖片,示意圖如圖7所示。
圖7 視訊生成示意圖5 其他技術
(1)Stack GAN
原理為先生成小圖,再生成大圖。
(2)Patch GAN
主要用作生成大圖,判別網路不在根據一整副圖來判斷,而是整幅圖中的一塊。
注:上文中所有的圖片均來自李弘毅老師的課件。