昇思MindSpore首個(gè)可訓(xùn)練diffusion模型DDPM馬上要和大家見面了,操作簡(jiǎn)單,可訓(xùn)練+推理,單卡即可運(yùn)行,歡迎廣大產(chǎn)學(xué)研開發(fā)者使用啟智社區(qū)免費(fèi)Ascend NPU算力體驗(yàn)
最近爆火的AI繪圖,相信大家并不陌生了。
從AI繪圖軟件生成的作品打敗一眾人類藝術(shù)家,斬獲數(shù)字藝術(shù)類冠軍,到如今DALL.E、Imagen、novelai等國(guó)內(nèi)外平臺(tái)遍地開花。也許你也曾點(diǎn)開過相關(guān)網(wǎng)站,嘗試讓AI描繪你腦海中的風(fēng)景,又或者上傳了一張自己帥氣/美美的照片,然后對(duì)著最后生成的糙漢哭笑不得。那么,在你感受AI繪圖魅力的同時(shí),有沒有想過(不你肯定想過),它背后的奧妙究竟是什么?
美國(guó)科羅拉多州技術(shù)博覽會(huì)中獲得數(shù)字藝術(shù)類冠軍的作品——《太空歌劇院》
一切,都要從一個(gè)名為DDPM的模型說起…
話說DDPM
DDPM模型,全稱Denoising Diffusion Probabilistic Model,可以說是現(xiàn)階段diffusion模型的開山鼻祖。不同于前輩GAN、VAE和flow等模型,diffusion模型的整體思路是通過一種偏向于優(yōu)化的方式,逐步從一個(gè)純?cè)胍舻膱D片中生成圖像。
現(xiàn)在已有生成圖像模型的對(duì)比
沒有相關(guān)機(jī)器學(xué)習(xí)背景的小伙伴可能會(huì)問了,什么是純?cè)胍魣D片?
很簡(jiǎn)單,老式電視機(jī)沒信號(hào)時(shí),伴隨著“刺啦刺啦”噪音出現(xiàn)的雪花圖片,就屬于純?cè)胍魣D片。而DDPM在生成階段所做的事情,就是把這些個(gè)“雪花”一點(diǎn)點(diǎn)移除,直到清晰的圖像露出它的廬山真面目,我們把這個(gè)階段稱之為“去噪”。
純?cè)胍魣D片:老電視的雪花屏
通過描述,大家可以感受到,去噪其實(shí)是個(gè)相當(dāng)復(fù)雜的過程。沒有一定的去噪規(guī)律,可能你忙活了好半天,到最后還是對(duì)著奇形怪狀的圖片欲哭無淚。當(dāng)然,不同類型的圖片也會(huì)有不同的去噪規(guī)律,至于怎么讓機(jī)器學(xué)會(huì)這種規(guī)律,有人靈機(jī)一動(dòng),想到了一種絕妙的方法。
“既然去噪規(guī)律不好學(xué),那我為什么不先通過加噪的方式,先把一張圖片變成純?cè)胍魣D像,再把整個(gè)過程反著來一遍呢?”
這便奠定了diffusion模型整個(gè)訓(xùn)練-推理的流程,先在前向過程(forward process)通過逐步加噪,將圖片轉(zhuǎn)換為一個(gè)近似可用高斯分布的純?cè)胍魣D像,緊接著在反向過程(reverse process)中逐步去噪,生成圖像,最后以增大原始圖像和生成圖像的相似度作為目標(biāo),優(yōu)化模型,直至達(dá)到理想效果。
DDPM的訓(xùn)練-推理流程
到這里,不知道大家的接受度怎樣?如果感覺沒問題,輕輕松松的的話。準(zhǔn)備好,我要開始上大招(深入理論)啦。
1.1.1前向過程(forward process)
又稱為擴(kuò)散過程(diffusion process),整體是一個(gè)參數(shù)化的馬爾可夫鏈(Markov chain)。從初始數(shù)據(jù)分布 出發(fā),每步在數(shù)據(jù)分布中添加高斯噪音,持續(xù)T次。其中從第t-1步到第t步的過程可以用高斯分布表示為:
通過合適的設(shè)置,隨著t不斷增大,原始數(shù)據(jù)會(huì)逐漸失去他的特征。我們可以理解為,在進(jìn)行了無限次的加噪步驟后,最終的數(shù)據(jù)會(huì)變成沒有任何特征,完全是隨機(jī)噪音的圖片,也就是我們最開始說的“雪花屏”。
在這個(gè)過程中,每一步的變化是可以通過設(shè)置超參來控制,在我們知曉最開始的圖片是什么的前提下,前向加噪的整個(gè)過程可以說是已知且可控的,我們完全能知道每一步的生成數(shù)據(jù)是什么樣子。
但問題在于,每次的計(jì)算都需要從起始點(diǎn)出發(fā),結(jié)合每一步的過程,慢慢推導(dǎo)至你想要的某步數(shù)據(jù),過于麻煩。好在因?yàn)楦咚狗植嫉囊恍┨匦裕覀兛梢砸徊降轿?,直接從得到?/p>
(這里的和為組合系數(shù),本質(zhì)上是超參的表達(dá)式)
1.1.2反向過程(reverse process)
和前向過程同理,反向過程也是一個(gè)馬爾可夫鏈(Markov chain),只不過這里用到的參數(shù)不同,至于具體參數(shù)是什么,這個(gè)就是我們需要機(jī)器來學(xué)習(xí)的部分啦。
在了解機(jī)器如何學(xué)習(xí)前,我們首先思考,基于某一個(gè)原始數(shù)據(jù),從第t步,精準(zhǔn)反推回第t-1步的過程應(yīng)該是怎樣的?
答案是,這個(gè)仍可以用高斯分布表示:
注意這里必須要考慮,意思是反向過程最后生成圖像還是要與原始數(shù)據(jù)有關(guān)。輸入貓的圖片,模型生成的圖像應(yīng)該是貓,輸入狗的圖片,生成的圖像也應(yīng)該和狗相關(guān)。若是去除掉,則會(huì)導(dǎo)致無論輸入哪種類型的圖片訓(xùn)練,最后diffusion生成的圖像都一樣,“貓狗不分”。
經(jīng)過一系列的推導(dǎo),我們發(fā)現(xiàn),反向過程中的參數(shù)和,竟然還是可以用,,以及參數(shù), 表示出來的,是不是很神奇~
當(dāng)然,機(jī)器事先并不知道這個(gè)真實(shí)的反推過程,它能做到的,只是用一個(gè)大概近似的估計(jì)分布去模擬,表示為。
1.1.3優(yōu)化目標(biāo)
在最開始我們提到,需要通過增大原始數(shù)據(jù)和反向過程最終生成數(shù)據(jù)的相似度來優(yōu)化模型。在機(jī)器學(xué)習(xí)中,我們計(jì)算該相似度參考的是交叉熵(cross entropy)。
關(guān)于交叉熵,學(xué)術(shù)上給出的定義是“用于度量?jī)蓚€(gè)概率分布間的差異性信息”。換句話講,交叉熵越小,模型生成的圖片就越和原始圖片接近。但是,在大多數(shù)情況下,交叉熵是很難或者無法通過計(jì)算得出的,所以我們一般會(huì)通過優(yōu)化一個(gè)更簡(jiǎn)單的表達(dá)式,達(dá)到同樣的效果。
Diffusion模型借鑒了VAE模型的優(yōu)化思路,將variational lower bound(VLB,又稱ELBO)替代cross entropy來作為最大優(yōu)化目標(biāo)。通過無數(shù)步的分解,我們最終得到:
看到這么復(fù)雜的公式,好多小伙伴肯定頭都大了。但不慌,這里需要關(guān)注的,只是中間的罷了,它表示的是和之間估計(jì)分布和真實(shí)分布的差距。差距越小,模型最后生成圖片的效果就越好。
1.1.4上代碼
在了解完DDPM背后的原理,接下來就讓我們看看DDPM模型究竟是如何實(shí)現(xiàn)…
才怪啦。相信看到這里的你,肯定也不想遭受成百上千行代碼的洗禮。好在MindSpore已經(jīng)為大家提供了開發(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ù)
話說MindDiffusion
DDPM只是Diffusion這個(gè)故事的開篇。目前,已有無數(shù)的研究人員被其背后瑰麗的世界所吸引,紛紛投身其中。在不斷優(yōu)化模型的同時(shí),也逐漸開發(fā)了Diffusion在各個(gè)領(lǐng)域的應(yīng)用。
其中,包括了計(jì)算機(jī)視覺領(lǐng)域的圖像優(yōu)化、inpainting、3D視覺,自然語言處理中的text-to-speech,AI for Science領(lǐng)域的分子構(gòu)象生成、材料設(shè)計(jì)等,更有來自斯坦福大學(xué)計(jì)算機(jī)科學(xué)系的博士生Eric Zelikman大開腦洞,嘗試將DALLE-2與最近另一個(gè)大火的對(duì)話模型ChatGPT相結(jié)合,制作出了溫馨的繪本故事。
DALLE-2 + ChatGPT合力完成的,關(guān)于一個(gè)名叫“羅比”的小機(jī)器人的故事
不過最廣為大眾所知的,應(yīng)該還是它在文生圖(text-to-image)方面的應(yīng)用。輸入幾個(gè)關(guān)鍵詞或者一段簡(jiǎn)短的描述,模型便可以為你生成相對(duì)應(yīng)的圖畫。
比如,輸入“城市夜景 賽博朋克 格雷格.路特科夫斯基”,最后生成的便是一張色彩鮮明,頗具未來科幻風(fēng)格的作品。
再比如,輸入“莫奈 撐陽傘的女人 月亮 夢(mèng)幻”,生成的便是一張極具有朦朧感的女人畫像,色彩搭配的風(fēng)格有木有讓你想起莫奈的《睡蓮》?
想要寫實(shí)風(fēng)格的風(fēng)景照作為屏保?沒問題!
鄉(xiāng)村 田野 屏保
想要二次元濃度多一點(diǎn)的?也可以!
來自深淵 風(fēng)景 繪畫 寫實(shí)風(fēng)格
以上這些圖片,均是由MindDiffusion平臺(tái)的下的悟空畫畫制作而成的哦,悟空畫畫是基于擴(kuò)散模型的中文文生圖大模型,由華為諾亞團(tuán)隊(duì)攜手中軟分布式并行實(shí)驗(yàn)室,昇騰計(jì)算產(chǎn)品部聯(lián)合開發(fā)。模型基于Wukong dataset訓(xùn)練,并使用昇思框架(MindSpore)+昇騰(Ascend)軟硬件解決方案實(shí)現(xiàn)。
躍躍欲試的小伙伴先別著急,為了讓大家擁有更好的體驗(yàn),更多自行開發(fā)的空間,我們打算讓MindDiffusion中的模型同樣也具備可訓(xùn)練、可推理的特性,預(yù)計(jì)在明年就要和大家見面啦,敬請(qǐng)期待,歡迎大家頭腦風(fēng)暴,生成各種別具風(fēng)格的作品哦~
(據(jù)去內(nèi)部打探情報(bào)的同事說,有人已經(jīng)開始嘗試“張飛繡花”、“劉華強(qiáng)砍瓜”、“古希臘神大戰(zhàn)哥斯拉”了。ummmm,怎么辦,突然就很期待成品了呢(?ω?))
一個(gè)突然正經(jīng)的結(jié)語
最后的最后,在Diffusion爆火的如今,有人也曾發(fā)出過疑問,它為什么可以做到如此的大紅大紫,甚至風(fēng)頭開始超過GAN網(wǎng)絡(luò)?Diffusion的優(yōu)勢(shì)突出,劣勢(shì)也很明顯;它的諸多領(lǐng)域仍是空白,它的前方還是一片未知。為什么卻有那么多的人在孜孜不倦地對(duì)它進(jìn)行研究呢?
興許,馬毅教授的一番話,可以給我們提供一種解答。
“但diffusion process的有效性以及很快取代GAN也充分說明了一個(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)無關(guān)。文章僅供讀者參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。投訴郵箱:editor@fromgeek.com。
- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長(zhǎng)
- 一半是產(chǎn)品,一半是服務(wù),華為品牌帶給消費(fèi)者的有贊嘆更有溫暖
- 在人群里,看見「鯤鵬開發(fā)者」
- 游戲體驗(yàn)天花板,一加 Ace 5 系列售價(jià) 2299 元起
- 為創(chuàng)意和管理提效,新廣告投放(3.0)驅(qū)動(dòng)消費(fèi)品商家高效增長(zhǎng)
- 榮耀Magic7系列全面升級(jí)大王影像,首發(fā)AI超級(jí)長(zhǎng)焦拍遠(yuǎn)更清晰
- 2024過去了,留下十個(gè)科技記憶
- 年貨節(jié)如何大爆單?別錯(cuò)過巨量千川這三波紅利
- 美國(guó)無人機(jī)禁令升級(jí)?當(dāng)?shù)乜茖W(xué)家率先“喊疼”:我們離不開大疆
- iQOO Neo10 Pro:性能特長(zhǎng)之外,亦有全能實(shí)力
- 自動(dòng)駕駛第一股的轉(zhuǎn)型迷途:圖森未來賭上了AIGC
免責(zé)聲明:本網(wǎng)站內(nè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)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。