AI繪畫(huà)的發(fā)展歷史(GAN、diffusion、VAE…)
除了使用工具外,可能很多同學(xué)也想了解這些生圖工具的原理,演進(jìn)歷史等,那本篇文章主要為大家介紹一下AI生圖的歷史以及目前部分主流的網(wǎng)絡(luò )模型運行機制。
隨著(zhù)像midjourney、stable diffusion、DALL-E 這些生圖模型的問(wèn)世,越來(lái)越多的同學(xué)開(kāi)始用上了AI生圖工具,類(lèi)似文章配圖,文章封面這類(lèi)創(chuàng )作場(chǎng)景都可以直接用AI產(chǎn)出的圖片,可以說(shuō)節省了成本的同時(shí)提供了很大的便利。
一、20世紀70年 AARON AI繪畫(huà)問(wèn)世
最早的AI繪畫(huà)追溯到20世紀70年代,藝術(shù)家哈羅德·科恩(Harold Cohen)發(fā)明了AARON,AARON最大的一個(gè)特點(diǎn)就是通過(guò)機械臂輸出作畫(huà)的,當然這套機器的背后也是通過(guò)計算機程序圍繞規則和算法驅動(dòng)的,下面為大家展示一些AARON繪畫(huà)的作品:
圖片風(fēng)格有點(diǎn)像我上小學(xué)那會(huì )兒學(xué)科課本上的插畫(huà)樣式帶點(diǎn)抽象風(fēng)格,90年代的”AARON”已經(jīng)能夠使用多種顏色進(jìn)行繪畫(huà),并在三維空間中創(chuàng )作,AARON的迭代改進(jìn)持續了幾十年,直到今天它還仍然在創(chuàng )作。
2006年, 出現了一個(gè)類(lèi)似ARRON的電腦繪畫(huà)產(chǎn)品 The Painting Fool. 它是倫敦大學(xué)金史密斯學(xué)院的計算機創(chuàng )作學(xué)教授Colton的作品,它可以觀(guān)察照片, 提取照片里的塊顏色信息, 使用現實(shí)中的繪畫(huà)材料如油漆, 粉彩或者和鉛筆等進(jìn)行創(chuàng )作,Painting Fool作品如下:
以上都是屬于“古典”的AI繪圖模型,我們現代的AI繪畫(huà)屬于基于深度神經(jīng)網(wǎng)絡(luò )基礎上產(chǎn)生的,最早也要追溯到2012年吳恩達訓練出的能生成“貓臉”的模型。
二、2012年模糊的貓臉
2012年,谷歌的吳恩達和Jeff Dean使用深度學(xué)習模型,基于大量貓臉圖片訓練出了一個(gè)能夠生成模糊貓臉的模型,這標志著(zhù)AI繪畫(huà)的一個(gè)重要起點(diǎn),他們使用了他們使用了1.6萬(wàn)個(gè)CPU核心和來(lái)自YouTube的一千萬(wàn)張貓臉圖片,進(jìn)行了為期3天的訓練,成功訓練出了一個(gè)能夠生成模糊貓臉的深度神經(jīng)網(wǎng)絡(luò )模型,通過(guò)模型生成的貓臉圖像參照下面這張圖:
盡管生成的圖像質(zhì)量并不高,但這個(gè)實(shí)驗標志著(zhù)深度學(xué)習在圖像生成領(lǐng)域的一個(gè)重大進(jìn)步。它證明了深度學(xué)習模型能夠學(xué)習到圖像的復雜特征,并用于生成新的圖像內容。這個(gè)實(shí)驗使用了卷積神經(jīng)網(wǎng)絡(luò )(CNN),這是一種特別適用于圖像識別和處理的深度學(xué)習架構。這個(gè)模型在之前的介紹GPT中的神經(jīng)網(wǎng)絡(luò )演進(jìn)歷史有講到過(guò),這篇文章就不再詳細介紹了。
三、2014年生成式對抗網(wǎng)絡(luò )(GAN)
2014年,加拿大蒙特利爾大學(xué)Ian Goodfellow等人提出的生成對抗網(wǎng)絡(luò )算法為AI繪畫(huà)帶來(lái)了新的發(fā)展,它本質(zhì)上是通過(guò)生成器和判別器的對抗過(guò)程來(lái)生成圖像,下面詳細介紹它的訓練原理:
上述圖中有兩個(gè)模型:生成器和判別器,這兩個(gè)模型分別都有一個(gè)目標,對于生成器來(lái)說(shuō),它的目的是讓自己生成的圖能夠騙過(guò)判別器,讓它認為這張圖就是原始數據庫中的真實(shí)圖片而非模型生成的,這種情況下輸出結果越趨近于1(1為真)就能說(shuō)明生成模型效果越好;對于判斷器來(lái)說(shuō),它的目的是有效地辨別出生成器生成的圖片,這種情況下輸出結果越趨近于0(0為假)就能說(shuō)明判別模型效果越好;這樣的話(huà)就形成了所謂的對抗(GAN),一個(gè)想讓生成結果更趨向于1,一個(gè)想讓生成的結果更趨向于0,生成的結果數值會(huì )給到兩個(gè)模型和訓練目標比對(一個(gè)目標是0,一個(gè)目標是1)后分別進(jìn)行Fine tune(優(yōu)化模型參數);那什么情況下算是訓練好了呢?這里就有一個(gè)納什均衡的概念,就是說(shuō)當輸出的結果無(wú)限趨近于0.5,0和1的中間值那么就算是把這個(gè)生成器訓練完了。這個(gè)時(shí)候生成器生成的圖片效果無(wú)限逼近于原始圖了。
我們現在熟知的Midjourney底層就是基于GAN模型。
四、2015年 谷歌的Deep Dream
2015年,谷歌推出了”深夢(mèng)”(Deep Dream)圖像生成工具,盡管它更像是一個(gè)高級濾鏡,但它也標志著(zhù)AI繪畫(huà)技術(shù)的進(jìn)步,我們可以先看一下Deep Dream生圖的效果:
上面那排是原始訓練的數據集,下面那排是Deep Dream 生成的像夢(mèng)境般的迷幻圖。
Deep Dream原理:
假設輸入圖像是X,這個(gè)輸入圖像可以是隨機噪音,也可以是一個(gè)圖像。把這個(gè)圖像輸入到卷積神經(jīng)網(wǎng)絡(luò )中,它輸出的結果是各個(gè)類(lèi)別的概率,這里卷積神經(jīng)網(wǎng)絡(luò )就是一個(gè)分類(lèi)機器,怎樣得到Deep Dream圖像呢?需要指定一個(gè)標簽。比如想要生成海星狀的圖像,就需要把目標標簽指定為海星,然后通過(guò)海星和預測結果的類(lèi)別之間的誤差,反向傳播到輸入圖像,去優(yōu)化輸入的圖像X,如果優(yōu)化后的X通過(guò)卷積神經(jīng)網(wǎng)絡(luò )后得到的海星標簽的概率很高,那么就得到了類(lèi)似海星的圖像。
注意:這里調整的是輸入圖像的像素值而不是卷積神經(jīng)網(wǎng)絡(luò )。在Deep Dream項目中,用到的卷積神經(jīng)網(wǎng)絡(luò )的參數是固定的,調整的僅是輸入的圖像。
無(wú)論是14年的GAN還是15年的DeepDream都還沒(méi)有實(shí)現文字-圖片,直到2021年Open AI推出的生圖模型DALL-E的誕生。
五、2021年 OpenAI 推出 DALL-E
DALL- E模型的革命性的意義是實(shí)現了文字-圖片的生成模式,相當于用戶(hù)輸入prompt給DALL-E,DALL-E就能生成文字對應的圖片,DALL-E截止目前已經(jīng)更新到了第三個(gè)版本,每個(gè)版本使用的模型可以說(shuō)差別都挺大的,這個(gè)三個(gè)版本涉及到的主要模型如下:
DALL-E 1
時(shí)間: 2021年1月
模型基礎: GPT-3(Transformer) + VAE(自分編碼器)
DALL-E 2
時(shí)間: 2022年4月
模型基礎: CLIP(視覺(jué)語(yǔ)言預訓練模型) + Diffusion(擴散模型)
DALL-E 3
時(shí)間: 2023年10月
模型基礎:CLIP + VAE + Diffusion(擴散模型)
下面是網(wǎng)上找到的DALL-E2和DALL- E3的對比圖:
上述涉及的模型比較多,但我們可以將其進(jìn)行歸類(lèi),一類(lèi)是圖像描述生成模型(將用戶(hù)的Prompt轉換成生圖模型理解的描述),例如:GPT-3(Transformer)、CLIP(視覺(jué)語(yǔ)言預訓練模型);另外一類(lèi)是圖像生成,模型 VAE(自分編碼器)、Diffusion(擴散模型)。那么下面我們就分別來(lái)看看這些模型的原理:
CLIP(視覺(jué)語(yǔ)言預訓練模型)
中心思想:基于4億個(gè)圖像-文本對的數據集,自監督學(xué)習的方式實(shí)現最大化文本和圖像的關(guān)聯(lián)關(guān)系。
1)具體步驟為:數據集準備:收集大量的圖像和文本對。這些圖像和文本對可以是成對的,也可以是單獨的圖像或文本。理想情況下,這些數據應該涵蓋廣泛的類(lèi)別和場(chǎng)景。
2)特征提?。菏褂妙A訓練的卷積神經(jīng)網(wǎng)絡(luò )(CNN)作為圖像編碼器,從圖像中提取特征。對于文本,可以使用預訓練的語(yǔ)言模型(如BERT)來(lái)提取文本特征。
3)正負樣本對:為每個(gè)圖像生成正樣本對(與圖像匹配的文本描述)和負樣本對(與圖像不匹配的文本描述)。這可以通過(guò)從數據集中隨機選擇或使用專(zhuān)門(mén)的數據增強技術(shù)來(lái)實(shí)現。
4)對比學(xué)習:CLIP模型的核心是對比學(xué)習,它通過(guò)最大化正樣本對之間的相似度并最小化負樣本對之間的相似度來(lái)訓練模型。這通常通過(guò)一個(gè)對比損失函數來(lái)實(shí)現。
5)迭代訓練:重復上述步驟,直到模型在驗證集上的性能不再顯著(zhù)提升或達到預定的迭代次數。
VAE(自分編碼器)
VAE(自分編碼器)也是一個(gè)生圖模型,我們在了解VAE(自分編碼器)之前可以先了解下它的前生AE(自動(dòng)編碼器)
AE模型由兩部分組成,編碼器(Encoder)和解碼器(Encoder),可以理解為是兩個(gè)神經(jīng)網(wǎng)絡(luò )層,前者是將高維輸入(圖片)映射為低維編碼(code),后者將低維編碼(code)映射為高維圖片。這樣的架構下生成的圖片效果并不是很理想,原因是過(guò)擬合,泛化性不好,下面用一個(gè)例子來(lái)解釋下這個(gè)缺點(diǎn):
如果我們讓 AE 這套架構先去學(xué)習“新月”和“滿(mǎn)月”兩個(gè)數據,其中“新月”輸出的 code=1 而滿(mǎn)月輸出的 code=10,這時(shí)候想讓訓練好的 AE 輸出“半月”也就是 code=5,效果是不理想的,原因模型訓練都是固定的輸入和輸出,中間沒(méi)有灰度,所以為了解決這個(gè)問(wèn)題,那么下面講到的 VAE 就橫空出世了。
VAE 是怎么解決 AE 的缺陷的呢,同樣用“新月”“滿(mǎn)月”的例子,如下圖:
我們可以簡(jiǎn)單理解為在 AE 的基礎上增加了正太函數,使得不僅僅code=1 為“新月”,code=0.9、0.8、1.1…同樣具備新月的特征,同理不僅僅code=10 為“滿(mǎn)月”,code=10.5、11、9.5…同樣具備滿(mǎn)月的特征,那當 code=5 時(shí)候就同時(shí)具備了滿(mǎn)月和新月的特征,輸出的結果就比較理想。
Diffusion(擴散模型)
同樣Diffusion(擴散模型)也是一個(gè)生圖模型,相比上文提到的GAN(對抗生成網(wǎng)絡(luò ))和AVE(自分編碼器)的優(yōu)勢在于生成的圖片質(zhì)量更高且訓練過(guò)程可控穩定但計算資源消耗較大,我們來(lái)看下擴散模型的生圖原理:
簡(jiǎn)單來(lái)說(shuō) diffusion models 就是一個(gè)通過(guò)給圖片加噪,再反向減噪還原圖片的過(guò)程,還原的過(guò)程中會(huì )涉及到一個(gè) unet 網(wǎng)絡(luò )去預測還原的噪聲。具體步驟如下:
1. 將數據集中的圖像加噪:
2. 反向引入 unet 網(wǎng)絡(luò )預測噪聲,這里涉及到unet網(wǎng)絡(luò )如何訓練:
引入一個(gè)隨機噪聲圖像;
隨機噪聲圖像代入到 unet 網(wǎng)絡(luò ),網(wǎng)絡(luò )預測產(chǎn)生了多少噪聲;
將隨機圖像-噪聲 得到圖片結果;
將圖片結果和實(shí)際正確圖片進(jìn)行比對產(chǎn)生誤差后反向調整模型,直到顯示正確的圖像。
不同的圖片數據集反復形成一個(gè)合格的 unet 網(wǎng)絡(luò )。
3. 有了 unet 網(wǎng)絡(luò ),就可以還原數據集中的圖片:隨機噪聲-unet 網(wǎng)絡(luò )預測的噪聲
021yin.com/watch?v=2NruDWUyXBkt=194s
馬爾可夫鏈在這里可以簡(jiǎn)單理解為,結果不受初始值(隨機噪聲)的影響,通過(guò)馬爾可夫鏈計算函數可以預測到固定的結果,所以我們可以引入隨機的噪音。
我們現在熟知的stable diffusion主要就是基于diffusion生圖模型。
到這里DALL-E模型就基本介紹完了,接下來(lái)介紹的就是我們眾所周知的Midjourney喝Stable Diffusion兩個(gè)圖片生成AI了,而他們所用的模型基本在前面的內容中都介紹了,所以我們就不再擴展,簡(jiǎn)單介紹下他們用的模型以及一些生圖的效果。
八、2022年3月 AI繪畫(huà)工具 Midjourney 問(wèn)世
核心的模型:CLIP+GAN
Midjourney 為閉源系統
* 圖片來(lái)源互聯(lián)網(wǎng),若有侵權請聯(lián)系作者刪除
九、2022年8月 AI繪畫(huà)工具 stable diffusion 問(wèn)世
核心模型:CLIP+diffusion+VAE
stable diffusion為開(kāi)源系統
*文章圖片來(lái)源互聯(lián)網(wǎng),若有侵權請聯(lián)系作者刪除
本文由 @產(chǎn)品蕭書(shū) 原創(chuàng )發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉載
題圖來(lái)自 Pixabay,基于CC0協(xié)議
該文觀(guān)點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)