選單

如果讓AI根據文字畫「抽象畫」,那得成什麼樣?|DeepMind新演算法

根據文字生成圖片,AI早就會了。

而如今,和以往的“寫實派”不同,AI要開始進軍“抽象派”藝術了!

話不多說,下面是AI畫的一些輸入文字為“叢林中的老虎”的作品:

如果讓AI根據文字畫「抽象畫」,那得成什麼樣?|DeepMind新演算法

AI的“藝術細胞”你get到了嗎?這離真正的抽象派大師畫作還有多遠?

而這次AI生成的影象,之所以與此前我們見到的GAN模型的風格大不一樣,是DeepMind使用了一種新演算法。

該演算法最終允許使用者輸入一串文字,AI就能對這個字串做出創造性的反應,輸出一個解釋該字串的藝術作品。

再比如輸入“雲”,生成如下作品:

如果讓AI根據文字畫「抽象畫」,那得成什麼樣?|DeepMind新演算法

輸入“一張臉”,“尖叫”,“一隻貓”,“一個笑臉”,“著火的房子”,“一個人走路”,“叢林中的老虎”,“洞穴壁畫”:

如果讓AI根據文字畫「抽象畫」,那得成什麼樣?|DeepMind新演算法

……

如此不同凡響的新技能,有什麼技術創新嗎?

神經視覺語法系統與雙重編碼器

總的來說,DeepMind的這個演算法與使用GAN生成影象有3種不同:

首先,此演算法的影象是“進化”(evolve)而來,而不是使用反向傳播直接生成。

使用進化搜尋 (evolutionary-search),可以生成一個與眾不同的“美學輸出”,也允許人為進行更多輸出控制。

其次,該演算法不直接進化影象,而是進化一種生成影象的視覺語法。這才能生成有趣的結構化影象。

最後,該演算法使用了一個預訓練的多模態“評判器” (critic),它接受了網上大量圖片和說明文字(captions)的訓練。這個演算法“理解”文字的視覺意義的能力很重要。

如果讓AI根據文字畫「抽象畫」,那得成什麼樣?|DeepMind新演算法

下面就來詳細說一下用於演化出影象的神經視覺語法系統和用來評估影象合適度的影象文字雙重編碼器“評判器”。

神經語法系統採用了分層結構,可大大擴充套件核心神經發生器的功能。

它將使用者輸入的字串輸入到頂級的LSTM中,LSTM(長短期記憶網路)可為每個筆劃(stroke)指定一箇中間輸入字串(intermediate input string )。

這個中間輸入字串的作用與原始輸入字串非常相似。然後這個中間字串又被輸入到底層的的LSTM以輸出最終影象的筆劃描述。如下圖所示。

如果讓AI根據文字畫「抽象畫」,那得成什麼樣?|DeepMind新演算法

具體細節如,中間向量的第二個位置決定了編碼的筆劃是不透明的還是透明的。

第三個位置決定是使用頂層指定的位置還是中間層指定的位置來確定筆劃的原點。

第四個位置確定筆劃中要產生的行數。

……

為了發揮評判的作用,需要一種評分機制,給影象與句子的相似程度評分。

為此,他們選擇了Frome的雙編碼器方法,該方法最近在大量網路資料集上獲得了巨大成功。

該雙編碼器模型由兩個分別對文字和影象進行操作的編碼器組成。該團隊在ALIGN(A Large ImaGe and Noisy-text)資料集上訓練它。

視覺編碼器基於NF-Net-F0模型,以224x224解析度的RGB影象作為輸入;文字編碼器是一個80M引數因果轉換器(causal Transformer)。

該文字編碼器保留了單詞的順序以及大小寫之間的區別,會將“Jungle in the Tiger”和“a tiger in the jungle”生成不一樣的影象。

此外,得益於進化搜尋,可使用修剪程式來確定有助於影象得分(合適度)的關鍵標記。在整個進化過程中,也可以刪除多餘的標記,“調教”出盡量滿意的影象。下圖為“一顆蘋果樹”的標記修剪。

如果讓AI根據文字畫「抽象畫」,那得成什麼樣?|DeepMind新演算法

可繼續改進:初始畫布不必空白

那這樣一種技術有什麼實際用處呢?

團隊介紹到,它可以用於輔助藝術創作、發明新的標記製作方法或者將其生成過程作用於3D模型等。

而且畫布的背景初始條件不必空白,沒準可以從照片或現有影象開始,在每次迭代中用不同的文字來調節,最終讓影象一點點演變成層次更豐富的作品!

當然,他們的演算法也有一些需要改進的地方,所生成的影象有時讓人感到驚喜,而有時卻看起來平平無奇甚至混亂,由於過擬合產生了越來越抽象的作品。

如果讓AI根據文字畫「抽象畫」,那得成什麼樣?|DeepMind新演算法

而在允許背景顏色進化得更豐富時,也會造成影象其他方面多樣性的降低。

目前這個演算法還存在一些“偏見”,比如要求生成“自畫像”時,最終大多數肖像都是白人男性。