日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

StackGAN mini review

發布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 StackGAN mini review 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作者:曹恭澤
鏈接:https://zhuanlan.zhihu.com/p/24421479
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

arxiv 傳送門

最近 NIPS 上有一篇關于 GAN 的論文很受關注,在 reddit 上也有不少討論,因為它的生成結果實在很 impressive ,如圖:

最下一排是 stackGAN ,生成的圖片不僅分辨率最高,而且最真實。

stackGAN 的主要的 motivation 是,如果我們沒辦法一次生成高分辨率又 plausible 的圖片,那么可以分兩次生成。分階段生成圖片的想法并不鮮見,Denton et all 的 LapGAN 的想法就是將生成的低分辨率的圖片一次次 refine ,XiaoLong et all 的 S^2GAN 也是將生成圖片的過程分成了 Structure and Style 兩個階段。當然這兩者都沒有 caption 作為 condition ,沒法比較。

關于 text to image 這一任務,之前就有人用 GAN 做,比如 Generative Adversarial Text to Image Synthesis ,所用的方法思路與 stackGAN 基本一樣,都是在 generator 與 discriminator 前加入 text 的embedding 作為condition 。但 stackGAN 的結構要 fancy 一點,如下。

第一階段:

從 embedding 開始,stackGAN 沒有直接將 embedding 作為 condition ,而是用 embedding 接了一個 FC 層得到了一個正態分布的均值和方差,然后從這個正態分布中 sample 出來要用的 condition 。之所以這樣做的原因是,embedding 通常比較高維,而相對這個維度來說, text 的數量其實很少,如果將 embedding 直接作為 condition,那么這個 latent variable 在 latent space 里就比較稀疏,這對我們的訓練不利。我的理解是,如果 text 的數量較少,那么即使我們有比較高維的 latent variable ,但其中一大部分都是離散的 text embedding ,相當于真正的隨機變量相對變少了,因此生成數據流形就會變得不連續(因為比較低維),這是我們不想看到的。而從參數化的正態分布中 sample 出要用的 condition 的話,相當于 embedding 周圍的點也會被作為 condition ,這就增加了 text 的數量和 condition 的維數。為了防止這個分布 degenerate 或者方差太大的情況,generator 的 loss 里面加入了對這個分布的正則化: 。

generator 使用的并不是常用的 Deconv ,而是若干個上采樣加保持大小不變的 3x3 的 conv 的組合,這是最近提出的一種避免 Deconv 棋盤效應的上采樣方法 。

discriminator 是若干步長為 2 的 conv ,再與 resize 的 embedding 合起來,接一個 FC。

第二階段:

第二階段的 generator 并沒有噪聲輸入,而是將第一階段的 sample downsample 以后與 augmented embedding (sampled from gaussian) 合起來作為輸入。經過若干 residual blocks ,進行與第一階段相同的上采樣過程得到圖片。

第二階段的 discriminator 與第一階段大體相同。

我的看法

說實在,stackGAN 并沒有太多讓人眼前一亮的新穎觀點與方法,但是它將 two-phased generation, sentence-embedding, semi-supervised learning 結合到了一起,實驗也做的很好(這樣的結構我覺得應該很難訓練)。看到 reddit 上有人說,unsupervised learning 本來是以不用辛辛苦苦的標 label 為目的而發展的,但有點諷刺的是,給越多 label ,它 work 得越好。這當然是必然的,給越多 label ,generator 就可以將一個復雜的分布(譬如 imagenet ),分解成若干簡單的,維數低的分布進行建模,discriminator 也可以分別做判別。

另外,paper 只在最后給了一些失敗的 sample ,一部分是圖文不符,一部分是太像生成樣本,前者我傾向于認為可能是 embedding 的失誤。鑒于結構的復雜性,我覺得不會看到開源實現(如果作者不放出源代碼的話),我確實挺關心他的正確率。

代碼已經 release :

Github


原文地址: https://zhuanlan.zhihu.com/p/24421479

總結

以上是生活随笔為你收集整理的StackGAN mini review的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。