影象生成王者不是GAN?擴散模型最近有點火:靠加入類別條件,效果直達SOTA

語言: CN / TW / HK

比GAN更真實,還懂全景區域性多角度構圖

博雯 發自 凹非寺

量子位 報道 | 公眾號 QbitAI

OpenAI剛剛推出的年末新作GLIDE,又讓 擴散模型 小火了一把。

這個基於擴散模型的文字影象生成大模型引數規模更小,但生成的影象質量卻更高。

於是,依舊是OpenAI出品,論文標題就直接號稱“在影象生成上打敗GAN”的 ADM-G模型 也重新進入了大眾眼中:

光看Papers with Code上基於ImageNet資料集的影象生成模型榜單,從64 x 64到512 x 512解析度都由這一模型佔據榜首:

對比曾號稱史上最強影象生成器的BigGAN-deep也不落下風,甚至還能在LSUN和ImageNet 64 × 64的影象生成效果上達到SOTA。

有網友對此感嘆:前幾年影象生成領域一直由GAN主導,現在看來,似乎要變成擴散模型了。

加入類別條件的擴散模型

我們先來看看擴散模型的定義。

這是一種新的影象生成的方法,其名字中的“擴散”本質上是一個迭代過程。

具體到推理中,就是從一幅完全由噪聲構成的影象開始,通過預測每個步驟濾除的噪聲,迭代去噪得到一個高質量的樣本,然後再逐步新增更多的細節。

而OpenAI的這個ADM-G模型,則是在此基礎上向影象生成任務中加入了 類別條件 ,形成了一種獨特的消融擴散模型。

研究人員分別從以下幾個方面做了改進:

基本架構

基於UNet結構做了五點改進:

  • 在保持模型大小不變的前提下,增加深度與寬度
  • 增加註意頭(Attention Head)數量
  • 在32×32、16×16和8×8的解析度下都使用注意力機制
  • 使用BigGAN殘差塊對啟用函式進行上取樣和下采樣
  • 將殘差連線(Residual Connections)縮小為原來的1/根號2

類別引導(Classifier Guidance)

在噪聲逐步轉換到訊號的過程中,研究人員引入了一個預先訓練好的分類網路。

它能夠為中間生成影象預測並得到一個標籤,也就是可以對生成的圖片進行分類。

之後,再基於分類分數和目標類別之間的交叉熵損失計算梯度,用梯度引導下一步的生成取樣。

縮放分類梯度(Scaling Classifier Gradients)

按超引數縮放分類網路梯度,以此來控制生成影象的多樣性和精度。

比如像這樣,左邊是1.0規模大小的分類網路,右邊是10.0大小的分類網路,可以看到,右邊的生成影象明顯類別更加一致:

也就是說,分類網路梯度越高,類別就越一致,精度也越高,而同時多樣性也會變小。

生成領域的新熱點

目前,這一模型在GitHub上已有近千標星:

而與GAN比起來,擴散模型生成的影象還更多樣、更復雜。

基於同樣的訓練資料集時,擴散模型可以生成擁有全景、區域性特寫、不同角度的影象:

△左:BigGAN-deep 右:ADM

其實,自2020年穀歌發表DDPM後,擴散模型就逐漸成為了生成領域的一個新熱點,

除了文章中提到的OpenAI的兩篇論文之外,還有Semantic Guidence Diffusion、Classifier-Free Diffusion Guidence等多個基於擴散模型設計的生成模型。

擴散模型接下來還會在視覺任務上有哪些新的應用呢,我們來年再看。

論文連結:

https://arxiv.org/abs/2105.05233

開源連結:

https://github.com/openai/guided-diffusion

參考連結:

[1]https://www.casualganpapers.com/guided_diffusion_langevin_dynamics_classifier_guidance/Guided-Diffusion-explained.html

[2]https://www.reddit.com/r/MachineLearning/comments/rq1cnm/d_diffusion_models_beat_gans_on_image_synthesis/

版權所有,未經授權不得以任何形式轉載及使用,違者必究。

「其他文章」