每日最新頭條.有趣資訊

電腦自動生成的影像是藝術品嗎

使用Prisma進行處理過的照片

前段時間在網絡上流行的Prisma軟體很多人都接觸過,我們可以使用它讓一張普通的照片充滿抽象藝術的風格。實際上,Prisma是基於“卷積神經網絡”這個技術來進行影像處理的。不過,能不能用類似的手段使電腦可以自動生成影像?這些影像可以被算作藝術品嗎?

Prisma背後是百萬修圖民工?

隨著技術的發展,進行影像處理的手段越來越多。使用類似Prisma的影像處理軟體,我們只要動動手指,電腦就會自動給照片加上我們想要的效果。不僅節省了時間,也給影像處理帶來了許多樂趣。

上圖是原圖,下圖是Prisma處理後的影像。如果自己用PS修圖,想要達到這個效果需要花不少功夫。

之前有一段時間,Prisma處理影像的時間變得特別長。因此有人調侃說“人工智能什麽的都是假象,Prisma實際上是一個血汗工廠,裡面有一百萬民工做苦力沒日沒夜地給我們修圖”。這當然是個笑話。那麽,是什麽原理“解放”了大家的雙手,讓電腦自己獲得了處理影像的能力呢?

Prisma使用的技術被稱為“卷積神經網絡”(Convolutional Neural Networks,簡稱CNN),它多用於影像處理領域,比如說手寫字體識別和人臉識別等等。CNN具體的細節比較複雜,這裡隻簡要進行介紹。

值得一提的是,對於電腦來說,所謂影像只是一個由帶有RGB值參數的點組成的矩陣而已。

首先,什麽是“神經網絡”呢?我們可以用上面那個工廠的例子做一個比喻。一個神經網絡就像一座大工廠的流水線,裡面有許多“部門”,每個部門裡的工人專門做一類工作,然後將處理完的半成品輸送到流水線的下遊;這個流水線中的每個工人對應一個神經元(Neuron),每個部門對應一個神經層(Layer)。

其次,什麽是“卷積”呢?按照上面的比喻,我們可以把它理解為工人們的一種工作方式。在一個影像處理“工廠”中,這種工作方式和普通的工作方式有著這樣的區別:工人們一般的工作方式是一個一個地對影像中的每一個像素做單獨處理;當工人們使用這種工作方式時,他們就不會對每一個像素逐一進行處理,而是“一塊一塊”地進行處理。使用“卷積運算”這種工作方式的工人處理過後的影像的效果更加均勻,並且有助於他們對影像中的細節——比如形狀或色塊進行識別。如果只看單個像素,我們也很難辨別整個影像呈現的是什麽。

卷積運算示意圖。從中可以看出,卷積處理的對象是一個一個矩陣(黃色區域),而不是單個的像素點。

CNN中卷積運算的視覺化示意圖。圖中進行了兩次卷積運算,意味著存在兩個卷積核——紅色框的卷積核處理像素RGB值中的R值,綠色框的卷積核處理RGB影像中的G值。(只是推測,總之兩個卷積核分別提取圖中不同的資訊)

在具體的情況下,那些工人依照什麽進行操作呢?一般的工廠裡都會給不同種類的工人配上一本相應的操作指南。在CNN中,這些“操作指南”就是卷積核。卷積核類似於一個給定的參數(也是某個矩陣),給定不同的卷積核對於同一幅影像進行卷積處理得到的結果也就不同。

在這個表格中,我們可以看到不同的卷積核(Fliter)對上述影像的卷積影響。如圖所示,我們可以通過改變卷積核的值完成諸如邊緣檢測、銳化等操作。這意味著不同的卷積核能夠提取到不同的影像資訊,例如邊緣、曲線等等。

最後,我們就可以把CNN比作一個由各種使用“卷積運算”的工人組成的一條流水線。這種流水線神奇的地方在於:它不需要工廠提前給工人配給操作指南。也就是說,這種神經網絡不需要設計者預先給定卷積核,電腦會通過對素材庫的層層卷積運算得到恰當的卷積核。這實際上就是所謂“深度學習”的過程。這不只是一種節省人工的做法,很多時候CNN會通過學習獲得超越設計者的能力。

“深度學習”的例子。如圖所示,在一開始,CNN只能提取物體邊緣這類基礎資訊;之後能逐漸提取五官(實際上是邊緣的組合),最後可識別整張人臉。

這是一個進行數字識別的CNN的完整結構。第一卷積層(Convolution Layer)有6個卷積核,第二卷積層有16個卷積核。我們能看到,隨著層數的增加,影像(feature map)面積越小,即保留的原始像素的資訊就越少;但是相對的,CNN提取的特徵資訊增加了。(feature map數量變多,每一個feature map對應一個特徵。)

如果把剛才圖中卷積層中的每一個影像(feature map)“摞起來”,我們就會得到這張立體圖——立方體的底面不斷縮小,但是深度不斷增加。其中,立方體的深度=卷積核的數量。

比如之前的AlphaGo,如果它的代碼是人類預先寫好的,那麽它的設計者一定是精通圍棋的大師。但事實上,它的設計者只是一群圍棋愛好者,AlphaGo的圍棋能力是其通過大量試錯自學而來的。

再比如,我們希望讓電腦具有識別男人和女人的能力,這對於人類來說輕而易舉,可要將這個能力用代碼直接“翻譯”出來是極其複雜的,而CNN的層層運算過程可以使得它由淺入深地獲得這個能力。

圖中顯示了傳統算法(最左)和神經網絡算法(最右)的區別——傳統算法依賴設計者自己編寫代碼,而神經網絡算法可以自己循序漸進地提取越來越複雜的特徵。

了解CNN之後,理解Prisma的原理就很簡單了。顯然,使用Prisma的用戶會涉及到兩類影像:一類是待處理的原始影像,一類是目標影像——用戶希望自己的照片也能擁有和目標照片相似的風格。

因此,我們可以把Prisma比作有三條流水線組成的大工廠。一條流水線用來識別用戶輸入的待處理影像的內容資訊,另一條用來識別目標影像的風格資訊。識別完畢之後,第三條流水線接著處理這兩條流水線輸出的影像,並把它們“混”在一起,最終得到源於目標待處理影像,具有目標影像風格的輸出影像。

上半部分為風格識別,下半部分為內容識別。(fromA Neural Algorithm of Artistic Style, 2015)

最後輸出的不同風格的影像 (from A Neural Algorithm of Artistic Style, 2015)

電腦能自己生成藝術作品嗎?

顯然,Prisma並不能自己“生成”影像,它只是一個影像處理軟體,如果用戶不提供待處理的照片,那麽它也就無法輸出經過處理後的影像。不過使用類似的原理,我們也可以設計出能自動生成影像的神經網絡。

生成性對抗神經網絡(Generative Adversarial Networks,簡稱GAN)就可以自動生成輸出影像,不需要用戶提供待處理影像。GAN中的“Adversarial”也就是對抗性是使其能夠自動生成影像的核心。GAN中有兩個CNN單元,一個是生成單元,另一個是識別單元

識別單元(Discriminator)與生成單元(Generator)的對抗。其中,GAN不涉及“風格的模糊程度”(Style Ambiguity) (fromCAN: Creative Adversarial NetworksGenerating “Art” by Learning About Styles andDeviating from Style Norms, 2017)

簡單地說,它工作的大體流程是這樣的:GAN生成影像的過程就是生成單元和識別單元不斷“對抗”的過程,生成單元需要不斷學習,試圖“騙過”識別單元讓其誤認為自己生成的影像是來自於素材庫的人類藝術作品。在不斷重複這個過程後,那些騙過識別器的以假亂真的影像就是GAN的輸出結果了。

上半部分為GAN生成的影像,下半部分為不涉及“風格模糊程度”參數的CAN生成的影像,本質上與GAN相同。(from CAN: Creative Adversarial Networks Generating “Art” by Learning About Styles and Deviating from Style Norms, 2017)

顯然,這樣生成出來的影像都是十分接近人類現有藝術作品的。然而,我們不會將那些只會模仿歷代大師的人稱作藝術家。藝術作品總是要體現出和現有風格的偏離,不能一味模仿,我們常把這稱作“創造性”。當然,如果一幅影像和現有風格偏離太遠,我們大概也不會認為這是藝術品——可能只是一幅無意識的塗鴉罷了。根據這種直覺,有一個團隊改進了GAN的算法,以其為基礎設計出了創造性對抗神經網絡(CreativeAdversarial Networks,簡稱CAN)。

CAN生成的各種影像,似乎較GAN生成的影像更“自由”一些。(from CAN: Creative Adversarial Networks Generating “Art” by Learning About Styles and Deviating from Style Norms, 2017)

CAN大體上與GAN相同,但是生成單元不僅要騙過識別單元,還要“為難”識別單元”,讓它沒那麽容易辨認出影像的風格。這樣,最後輸出的影像就不單純是對已有風格的模仿,其中也帶有對於已有風格的偏離。從畫面呈現的角度上說,這可以被算作創造性。

測試中人類個體最偏愛的一些CAN生成的影像(from CAN: Creative Adversarial Networks Generating “Art” by Learning About Styles and Deviating from Style Norms, 2017)

團隊把CAN生成的影像和一些人類創作的前沿藝術作品混在一起,然後挑選了一些人讓他們辨認這些畫作是否是人創作的。最後的統計結果表明,這些測試個體更傾向於判斷CAN生成的影像是人類創作的。

被混在一起的人類藝術作品。實際上,這些作品顯然缺乏代表性,並且與該團隊挑選的CAN生成的影像有著較大差異,因此測試結果可能不那麽可靠。(from CAN: Creative Adversarial Networks Generating “Art” by Learning About Styles and Deviating from Style Norms, 2017)

CAN生成的充滿藝術氣息的影像真的可以被稱為藝術品嗎?基本上所有人的直覺都會告訴自己——不能。但這是為什麽呢?

在科幻作品中經常出現的人工智能

問題的關鍵在於這些神經網絡生成影像的過程中,不論是CAN還是GAN,其本質都是CNN。上文介紹了許多有關神經網絡運行的細節,我們知道CNN具有“學習”的能力,然而,這種所謂的“學習”的實質實際上是“試錯”大量試錯使得CNN積累了大量數據,它能使用這些數據做出決策。但歸根結底,這些能力隻不過是數據分析罷了,最後還是會回到原始數據本身,它學不到“新”東西。

不說人類,猩猩在很小的時候都有學習新事物的能力。

拿印象主義風格識別舉例,給CNN大量印象主義的代表作,它很快就能發現“這些畫中很少出現輪廓線”,然後它會以此作為一個評判標準去識別風格未知的影像。但是人類不一樣,我們在發現大量印象派作品都具有這個特徵之後,會思考這種現象的緣由並得到答案——“原來是為了更好地呈現光的形態”。

但是,如果我們去“問”CNN中的某個神經元“為什麽少畫輪廓線”,他們會說“這是對上一層傳過來的數據進行分析的結果”;然後我們就接著去問上一層“你為什麽會得到你輸出的數據”,它還是會說“這是對上一層傳過來的數據進行分析的結果”......最後,當我們追溯到最初一層時,它就會說“因為原始的影像庫就是這樣的”。

對於CNN來說,它所選擇的處理方式與它輸出的結果全部來源於原始影像庫,其余的它什麽也不知道。

Pascal Dombis《Blue Screen of Death》,2014年。雖然電腦不知道自己在幹什麽,但是藝術家可以利用電腦和算法去創造自己的藝術作品。顯然,人類藝術家才是這類作品的作者。

因此,判斷一幅作品是否是藝術作品的關鍵在於其創作的過程上——藝術品需要其作者的創作意圖。當然,現在有很多作者不願意在作品中透露自己的創作意圖,他們希望自己的作品成為一種客觀的存在——客觀的美,客觀的有張力,客觀的有價值等等。但顯然,這些目的無法被還原為簡單的影像上的特徵——正如“更好的呈現光本身”不等於“輪廓線少+色塊拚貼+色彩漸變+……”,不管+後面添加多少東西(影像上的特徵)。

Robert Rauschenberg《床》,1955年。顯然,除了是一張床,這件作品中還充滿了“別的東西”。

獲得更多的PTT最新消息
按讚加入粉絲團