昇思MindSpore首個(gè)可訓(xùn)練diffusion模型DDPM馬上要和大家見(jiàn)面了,操作簡(jiǎn)單,可訓(xùn)練+推理,單卡即可運(yùn)行,歡迎廣大產(chǎn)學(xué)研開(kāi)發(fā)者使用啟智社區(qū)免費(fèi)Ascend NPU算力體驗(yàn)
最近爆火的AI繪圖,相信大家并不陌生了。
從AI繪圖軟件生成的作品打敗一眾人類(lèi)藝術(shù)家,斬獲數(shù)字藝術(shù)類(lèi)冠軍,到如今DALL.E、Imagen、novelai等國(guó)內(nèi)外平臺(tái)遍地開(kāi)花。也許你也曾點(diǎn)開(kāi)過(guò)相關(guān)網(wǎng)站,嘗試讓AI描繪你腦海中的風(fēng)景,又或者上傳了一張自己帥氣/美美的照片,然后對(duì)著最后生成的糙漢哭笑不得。那么,在你感受AI繪圖魅力的同時(shí),有沒(méi)有想過(guò)(不你肯定想過(guò)),它背后的奧妙究竟是什么?
美國(guó)科羅拉多州技術(shù)博覽會(huì)中獲得數(shù)字藝術(shù)類(lèi)冠軍的作品——《太空歌劇院》
一切,都要從一個(gè)名為DDPM的模型說(shuō)起…
話說(shuō)DDPM
DDPM模型,全稱(chēng)Denoising Diffusion Probabilistic Model,可以說(shuō)是現(xiàn)階段diffusion模型的開(kāi)山鼻祖。不同于前輩GAN、VAE和flow等模型,diffusion模型的整體思路是通過(guò)一種偏向于優(yōu)化的方式,逐步從一個(gè)純?cè)胍舻膱D片中生成圖像。
現(xiàn)在已有生成圖像模型的對(duì)比
沒(méi)有相關(guān)機(jī)器學(xué)習(xí)背景的小伙伴可能會(huì)問(wèn)了,什么是純?cè)胍魣D片?
很簡(jiǎn)單,老式電視機(jī)沒(méi)信號(hào)時(shí),伴隨著“刺啦刺啦”噪音出現(xiàn)的雪花圖片,就屬于純?cè)胍魣D片。而DDPM在生成階段所做的事情,就是把這些個(gè)“雪花”一點(diǎn)點(diǎn)移除,直到清晰的圖像露出它的廬山真面目,我們把這個(gè)階段稱(chēng)之為“去噪”。
純?cè)胍魣D片:老電視的雪花屏
通過(guò)描述,大家可以感受到,去噪其實(shí)是個(gè)相當(dāng)復(fù)雜的過(guò)程。沒(méi)有一定的去噪規(guī)律,可能你忙活了好半天,到最后還是對(duì)著奇形怪狀的圖片欲哭無(wú)淚。當(dāng)然,不同類(lèi)型的圖片也會(huì)有不同的去噪規(guī)律,至于怎么讓機(jī)器學(xué)會(huì)這種規(guī)律,有人靈機(jī)一動(dòng),想到了一種絕妙的方法。
“既然去噪規(guī)律不好學(xué),那我為什么不先通過(guò)加噪的方式,先把一張圖片變成純?cè)胍魣D像,再把整個(gè)過(guò)程反著來(lái)一遍呢?”
這便奠定了diffusion模型整個(gè)訓(xùn)練-推理的流程,先在前向過(guò)程(forward process)通過(guò)逐步加噪,將圖片轉(zhuǎn)換為一個(gè)近似可用高斯分布的純?cè)胍魣D像,緊接著在反向過(guò)程(reverse process)中逐步去噪,生成圖像,最后以增大原始圖像和生成圖像的相似度作為目標(biāo),優(yōu)化模型,直至達(dá)到理想效果。
DDPM的訓(xùn)練-推理流程
到這里,不知道大家的接受度怎樣?如果感覺(jué)沒(méi)問(wèn)題,輕輕松松的的話。準(zhǔn)備好,我要開(kāi)始上大招(深入理論)啦。
1.1.1前向過(guò)程(forward process)
又稱(chēng)為擴(kuò)散過(guò)程(diffusion process),整體是一個(gè)參數(shù)化的馬爾可夫鏈(Markov chain)。從初始數(shù)據(jù)分布 出發(fā),每步在數(shù)據(jù)分布中添加高斯噪音,持續(xù)T次。其中從第t-1步到第t步的過(guò)程可以用高斯分布表示為:
通過(guò)合適的設(shè)置,隨著t不斷增大,原始數(shù)據(jù)會(huì)逐漸失去他的特征。我們可以理解為,在進(jìn)行了無(wú)限次的加噪步驟后,最終的數(shù)據(jù)會(huì)變成沒(méi)有任何特征,完全是隨機(jī)噪音的圖片,也就是我們最開(kāi)始說(shuō)的“雪花屏”。
在這個(gè)過(guò)程中,每一步的變化是可以通過(guò)設(shè)置超參來(lái)控制,在我們知曉最開(kāi)始的圖片是什么的前提下,前向加噪的整個(gè)過(guò)程可以說(shuō)是已知且可控的,我們完全能知道每一步的生成數(shù)據(jù)是什么樣子。
但問(wèn)題在于,每次的計(jì)算都需要從起始點(diǎn)出發(fā),結(jié)合每一步的過(guò)程,慢慢推導(dǎo)至你想要的某步數(shù)據(jù),過(guò)于麻煩。好在因?yàn)楦咚狗植嫉囊恍┨匦裕覀兛梢砸徊降轿?,直接從得到?/p>
(這里的和為組合系數(shù),本質(zhì)上是超參的表達(dá)式)
1.1.2反向過(guò)程(reverse process)
和前向過(guò)程同理,反向過(guò)程也是一個(gè)馬爾可夫鏈(Markov chain),只不過(guò)這里用到的參數(shù)不同,至于具體參數(shù)是什么,這個(gè)就是我們需要機(jī)器來(lái)學(xué)習(xí)的部分啦。
在了解機(jī)器如何學(xué)習(xí)前,我們首先思考,基于某一個(gè)原始數(shù)據(jù),從第t步,精準(zhǔn)反推回第t-1步的過(guò)程應(yīng)該是怎樣的?
答案是,這個(gè)仍可以用高斯分布表示:
注意這里必須要考慮,意思是反向過(guò)程最后生成圖像還是要與原始數(shù)據(jù)有關(guān)。輸入貓的圖片,模型生成的圖像應(yīng)該是貓,輸入狗的圖片,生成的圖像也應(yīng)該和狗相關(guān)。若是去除掉,則會(huì)導(dǎo)致無(wú)論輸入哪種類(lèi)型的圖片訓(xùn)練,最后diffusion生成的圖像都一樣,“貓狗不分”。
經(jīng)過(guò)一系列的推導(dǎo),我們發(fā)現(xiàn),反向過(guò)程中的參數(shù)和,竟然還是可以用,,以及參數(shù), 表示出來(lái)的,是不是很神奇~
當(dāng)然,機(jī)器事先并不知道這個(gè)真實(shí)的反推過(guò)程,它能做到的,只是用一個(gè)大概近似的估計(jì)分布去模擬,表示為。
1.1.3優(yōu)化目標(biāo)
在最開(kāi)始我們提到,需要通過(guò)增大原始數(shù)據(jù)和反向過(guò)程最終生成數(shù)據(jù)的相似度來(lái)優(yōu)化模型。在機(jī)器學(xué)習(xí)中,我們計(jì)算該相似度參考的是交叉熵(cross entropy)。
關(guān)于交叉熵,學(xué)術(shù)上給出的定義是“用于度量?jī)蓚€(gè)概率分布間的差異性信息”。換句話講,交叉熵越小,模型生成的圖片就越和原始圖片接近。但是,在大多數(shù)情況下,交叉熵是很難或者無(wú)法通過(guò)計(jì)算得出的,所以我們一般會(huì)通過(guò)優(yōu)化一個(gè)更簡(jiǎn)單的表達(dá)式,達(dá)到同樣的效果。
Diffusion模型借鑒了VAE模型的優(yōu)化思路,將variational lower bound(VLB,又稱(chēng)ELBO)替代cross entropy來(lái)作為最大優(yōu)化目標(biāo)。通過(guò)無(wú)數(shù)步的分解,我們最終得到:
看到這么復(fù)雜的公式,好多小伙伴肯定頭都大了。但不慌,這里需要關(guān)注的,只是中間的罷了,它表示的是和之間估計(jì)分布和真實(shí)分布的差距。差距越小,模型最后生成圖片的效果就越好。
1.1.4上代碼
在了解完DDPM背后的原理,接下來(lái)就讓我們看看DDPM模型究竟是如何實(shí)現(xiàn)…
才怪啦。相信看到這里的你,肯定也不想遭受成百上千行代碼的洗禮。好在MindSpore已經(jīng)為大家提供了開(kāi)發(fā)完備的DDPM模型,訓(xùn)練推理兩手抓,操作簡(jiǎn)單,單卡即可運(yùn)行,想要體驗(yàn)效果的小伙伴,可以先pip install denoising-diffusion-mindspore后,參考如下代碼配置參數(shù):
對(duì)重要的參數(shù)進(jìn)行一些解析:
GaussianDiffusion
image_size: 圖片大小
timesteps: 加噪步數(shù)
sampling_timesteps: 采樣步數(shù),為提升推理性能,需小于加噪步數(shù)
Trainer
folder_or_dataset: 對(duì)應(yīng)圖片中的path, 可以是已下載數(shù)據(jù)集的路徑(str),也可以是已做好數(shù)據(jù)處理的VisionBaseDataset, GeneratorDataset 或 MindDataset
train_batch_size:batch大小
train_lr: 學(xué)習(xí)率
train_num_steps: 訓(xùn)練步數(shù)
話說(shuō)MindDiffusion
DDPM只是Diffusion這個(gè)故事的開(kāi)篇。目前,已有無(wú)數(shù)的研究人員被其背后瑰麗的世界所吸引,紛紛投身其中。在不斷優(yōu)化模型的同時(shí),也逐漸開(kāi)發(fā)了Diffusion在各個(gè)領(lǐng)域的應(yīng)用。
其中,包括了計(jì)算機(jī)視覺(jué)領(lǐng)域的圖像優(yōu)化、inpainting、3D視覺(jué),自然語(yǔ)言處理中的text-to-speech,AI for Science領(lǐng)域的分子構(gòu)象生成、材料設(shè)計(jì)等,更有來(lái)自斯坦福大學(xué)計(jì)算機(jī)科學(xué)系的博士生Eric Zelikman大開(kāi)腦洞,嘗試將DALLE-2與最近另一個(gè)大火的對(duì)話模型ChatGPT相結(jié)合,制作出了溫馨的繪本故事。
DALLE-2 + ChatGPT合力完成的,關(guān)于一個(gè)名叫“羅比”的小機(jī)器人的故事
不過(guò)最廣為大眾所知的,應(yīng)該還是它在文生圖(text-to-image)方面的應(yīng)用。輸入幾個(gè)關(guān)鍵詞或者一段簡(jiǎn)短的描述,模型便可以為你生成相對(duì)應(yīng)的圖畫(huà)。
比如,輸入“城市夜景 賽博朋克 格雷格.路特科夫斯基”,最后生成的便是一張色彩鮮明,頗具未來(lái)科幻風(fēng)格的作品。
再比如,輸入“莫奈 撐陽(yáng)傘的女人 月亮 夢(mèng)幻”,生成的便是一張極具有朦朧感的女人畫(huà)像,色彩搭配的風(fēng)格有木有讓你想起莫奈的《睡蓮》?
想要寫(xiě)實(shí)風(fēng)格的風(fēng)景照作為屏保?沒(méi)問(wèn)題!
鄉(xiāng)村 田野 屏保
想要二次元濃度多一點(diǎn)的?也可以!
來(lái)自深淵 風(fēng)景 繪畫(huà) 寫(xiě)實(shí)風(fēng)格
以上這些圖片,均是由MindDiffusion平臺(tái)的下的悟空畫(huà)畫(huà)制作而成的哦,悟空畫(huà)畫(huà)是基于擴(kuò)散模型的中文文生圖大模型,由華為諾亞團(tuán)隊(duì)攜手中軟分布式并行實(shí)驗(yàn)室,昇騰計(jì)算產(chǎn)品部聯(lián)合開(kāi)發(fā)。模型基于Wukong dataset訓(xùn)練,并使用昇思框架(MindSpore)+昇騰(Ascend)軟硬件解決方案實(shí)現(xiàn)。
躍躍欲試的小伙伴先別著急,為了讓大家擁有更好的體驗(yàn),更多自行開(kāi)發(fā)的空間,我們打算讓MindDiffusion中的模型同樣也具備可訓(xùn)練、可推理的特性,預(yù)計(jì)在明年就要和大家見(jiàn)面啦,敬請(qǐng)期待,歡迎大家頭腦風(fēng)暴,生成各種別具風(fēng)格的作品哦~
(據(jù)去內(nèi)部打探情報(bào)的同事說(shuō),有人已經(jīng)開(kāi)始嘗試“張飛繡花”、“劉華強(qiáng)砍瓜”、“古希臘神大戰(zhàn)哥斯拉”了。ummmm,怎么辦,突然就很期待成品了呢(?ω?))
一個(gè)突然正經(jīng)的結(jié)語(yǔ)
最后的最后,在Diffusion爆火的如今,有人也曾發(fā)出過(guò)疑問(wèn),它為什么可以做到如此的大紅大紫,甚至風(fēng)頭開(kāi)始超過(guò)GAN網(wǎng)絡(luò)?Diffusion的優(yōu)勢(shì)突出,劣勢(shì)也很明顯;它的諸多領(lǐng)域仍是空白,它的前方還是一片未知。為什么卻有那么多的人在孜孜不倦地對(duì)它進(jìn)行研究呢?
興許,馬毅教授的一番話,可以給我們提供一種解答。
“但diffusion process的有效性以及很快取代GAN也充分說(shuō)明了一個(gè)簡(jiǎn)單道理:
幾行簡(jiǎn)單正確的數(shù)學(xué)推導(dǎo),可以比近十年的大規(guī)模調(diào)試超參調(diào)試網(wǎng)絡(luò)結(jié)構(gòu)有效得多。”
或許,這就是Diffusion模型的魅力吧。
Reference
https://medium.com/mlearning-ai/ai-art-wins-fine-arts-competition-and-sparks-controversy-882f9b4df98c
Jonathan Ho, Ajay Jain, and Pieter Abbeel. Denoising Diffusion Probabilistic Models. arXiv:2006.11239, 2020.
Ling Yang, Zhilong Zhang, Shenda Hong, Runsheng Xu, Yue Zhao, Yingxia Shao, Wentao Zhang, Ming-Hsuan Yang, and Bin Cui. Diffusion models: A comprehensive survey of methods and applications. arXiv preprint arXiv:2209.00796, 2022.
https://lilianweng.github.io/posts/2021-07-11-diffusion-models
https://github.com/lvyufeng/denoising-diffusion-mindspore
https://zhuanlan.zhihu.com/p/525106459
https://zhuanlan.zhihu.com/p/500532271
https://www.zhihu.com/question/536012286
https://mp.weixin.qq.com/s/XTNk1saGcgPO-PxzkrBnIg
https://m.weibo.cn/3235040884/4804448864177745
免責(zé)聲明:此文內(nèi)容為第三方自媒體作者發(fā)布的觀察或評(píng)論性文章,所有文字和圖片版權(quán)歸作者所有,且僅代表作者個(gè)人觀點(diǎn),與極客網(wǎng)無(wú)關(guān)。文章僅供讀者參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。投訴郵箱:editor@fromgeek.com。
- 2024年劇集氪金力大盤(pán)點(diǎn)
- “共創(chuàng)”、“造?!背身斄?,傳統(tǒng)品牌緣何要花式出圈?
- 人形機(jī)器人瘋狂進(jìn)廠打工!銀河通用、智元、樂(lè)聚機(jī)器人怕是都瘋了
- 折疊手機(jī)猛增三成,但是卻也到了崩盤(pán)邊緣,違背人性必被拋棄
- 因?yàn)樗投Y電商!2025微信、抖音、淘寶又撕破了臉
- 中國(guó)手機(jī)市場(chǎng)成績(jī)單:華為增長(zhǎng)最快,蘋(píng)果跌幅最大
- 原以為微軟、亞馬遜、阿里云云計(jì)算大局已定!沒(méi)想到有這四大變數(shù)
- 崖州灣之旅:看見(jiàn)海與智能,聯(lián)想到了未來(lái)
- 榮耀換帥,一艘AI巨輪的舵手更替會(huì)帶來(lái)什么?
- 泳池機(jī)器人Aiper,從價(jià)值鏈高處“游”進(jìn)全球庭院
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。