胡雯雯
自從Google開始研究人工神經網絡(Artificial Neural Networks)以來,一直在嘗試教它圖像分類和識別的技能。比如說,給它一個特定主題如“叉子”,讓它匹配出叉子的圖像;又或是給它一張叉子的圖片,讓它識別并且歸類。
這對人類來說是小兒科,但對人工智能系統來說,則意味著要看成千上萬張類似的圖片,才能掌握一個主題的共同點,提高識別精確度。
大概是想讓更多人參與進來,分擔這項費時費力的教學工作,Google最近向大眾公開了這個人工智能系統的代碼。一些軟件工程師將其應用到自己的網站上(Psychic VR Lab 和 Deep Neural Net Dreams),讓網友們隨意上傳圖片,看它能識別出什么來。結果令人大吃一驚,這貨居然是個藝術家!
一棵樹的樹冠,被它詮釋成梵高風格的小教堂,一朵下垂的向日葵花盤,被它詮釋成了一只胖乎乎的鳥,就連蒙克那幅著名的《吶喊》,也被它畫滿了密密麻麻的眼睛。
這是怎么回事?我們先來看看Google 人工神經網絡的原理。它是模擬人腦神經元來運作的,包含10-30層人工神經元。每一層都會專注于眼前圖像的某些細節,將它分析后傳給下一層神經元,一層層傳遞后,由最后一層判斷它到底是什么。
面對一個單獨的主題時,比如喵星人,它識別起來是比較容易的。但如果給它一張照片或一幅圖,里面有天空、云朵、草地、河流、美女……那它要怎么決定其重點并且歸類呢?如果我們再要求它:“不論你覺得自己看到的是什么,我們要你變出更多來”呢?
有趣的事情就這么發生了。
系統中每一個神經元層次,關注的點都不同。較低層的對物體的邊緣輪廓,或是對簡明的線條和裝飾性圖案很敏感,因此會將它們強調和放大;高一些的神經元層,則對物體的整體、比較復雜的圖案感興趣。
因此,當我們給它一張藍天白云的圖時,盡管一些細碎的云朵在我們看來沒有任何意義,但被它自動腦補后,可能會變成小鳥和小魚。然后為了強調這個特征,它又會繪制出更多的小鳥和小魚。
由于科學家們給它學習過的幾百萬張圖片,大部分跟動物和建筑物有關,所以它的想象力也總是圍繞著這些。在這套人工神經網絡的眼中,鸚鵡螺會長出狗頭,面包會變成毛毛蟲,就連日本漫畫中的大眼睛妹子,臉也會變成圓睜雙眼的汪星人。
好了,有人說,如果我給你的圖里什么輪廓都沒有呢?就是一張純噪點,就像電視沒信號發出沙沙聲時的那種畫面,你詮釋給我看看?
真就有人做了這個實驗。麻省理工的電腦科學與人工智能實驗室,將純噪點圖給自己訓練過的人工神經網絡看,將它識別出的圖案細節放大后再詮釋,多次循環后,最終得出一系列精美絕倫的畫,有些像拜占庭的馬賽克,有些則像梵高的《星空》(有興趣可以自行搜索一下圖片名places205-googlenet)。
知乎上也有網友貼出自己用這套系統模擬出的圖像,雖然許多仍是沒有意義的噪點,但里面也出現了螞蟻、巨石和海星等的圖象。
對于這個橫空出世的藝術家,工程師們已經把它的風格歸了類,叫“inceptionism潛夢派”。這種技術能讓我們更好地理解神經元處理任務的方式。