智東西(公眾號:zhidxcom)編譯 |子佩編輯 |Panken
智東西1月7日消息,2021開年,頂著地表最強語言模型GPT-3的光環,OpenAI在自然語言處理領域一路高歌猛進,於昨日推出兩個跨越文本與圖像次元的模型:DALL·E和CLIP,前者可以基於文本生成圖像,後者則可以基於文本對圖片進行分類,兩者都意在打破自然語言處理和計算機視覺兩大門派「涇渭分明」的界限,實現多模態AI系統。
什麼是多模態系統呢?
就像人類有視覺、嗅覺、聽覺一樣,AI也有自己「眼鼻嘴」,而為了研究的針對性和深入,科學家們通常會將其分為「計算機視覺」、「自然語言處理」、「語音識別」等研究領域,分門別類地解決不同的實際問題。
每一個研究領域也可以被稱為一種模態,通常來說,多模態學習(MultiModal Learning)就是在不同的模態間構建聯繫,讓AI學會「通感」。
一、GPT-3「繼承者」:看文繪圖的DALL·E
DALL·E的名字取自藝術家Salvador Dali和皮克斯動畫片機器人總動員(WALL-E),而與GPT-3一樣,它也是一個具有120億參數的Transformer語言模型,不同的是,GPT-3生成的是文本,DALL·E生成的是圖像。
▲Dali代表作《記憶的永恆》和機器人總動員海報。
在博客上,OpenAI也大秀了一把DALL·E的「超強想像力」,隨意輸入一句話,DALL·E就能生成相應圖片,這個圖片可能是網絡上已經存在的圖片,也可能是根據自己的理解「畫」出的。
▲輸入文本分別是:穿芭蕾舞裙遛狗的蘿蔔、牛油果形狀的扶手椅、將上部的圖片素描化
DALL·E是如何實現先理解文字,再創造圖片的呢?
那首先要從理解token開始,語言學中對token的定義是詞符,或者標記。對於英語來說,每個字母就是一個token,每一個單詞就是一個tokens。
但在NLP中,tokens並不一定代表完整的單詞,如re、ug等沒有實際意義的字母組合也算一個tokens。
在最早提出Transformer架構的論文《Attention is all you need》裡,就提到了BPE(Byte-Pair Encoding)編碼方法,簡單來說,BPE就是通過分析訓練集中每個單詞的組成,創建一個基礎詞彙表,詞彙表裡涵蓋了一定數量最常用的tokens。
模型中tokens的數量是超參數,也就是訓練模型中人為規定的。
DALL·E同時包含著BPE編碼的文本和圖像詞彙表,分別涵蓋了16384、8192個tokens。
當需要生成圖片時,它以單一數據流的形式,接收1280個文本和圖像的tokens(文本256個tokens,圖像1024個tokens),建立回歸模型。
與大多數Transformer模型一樣,DALL·E也採用自注意力機制(Self-Attention),分析文本內部的聯繫。
在DALL·E的64層自注意層中,每層都有一個注意力mask,就是為了使圖像的每個tokens都能匹配文本tokens。
OpenAI也表示,更具體的架構和詳細訓練過程會在之後的博客中公布。
二、普適的DALL·E:從改變物體關係到創造「不存在」
比起長篇累牘地描述自己模型的優越性,OpenAI則是用大量實測案例證明了自己。
1、改變單個物體的某個屬性
如動圖所示,我們可以通過簡單地改變按鈕選項,將鍾改為花盆,再將綠色改為黃色,再將三角形改為正方形。
▲原輸入文本:三角形綠色的鐘
2、同時改變多個物體以及其位置關係
將上方的物塊改成書,再將物體的上下疊放關係改成左右擺放。
當一句話含有多個主體時,例如「紅色的物塊放在綠色的物塊上面」,DALL·E需要分辨出這兩個物塊是兩個不同的物體,且他們之間的位置關係是上下疊放。
但OpenAI的研究人員也承認,隨著輸入文本中描述主體的增多和關係的複雜,DALL·E生成的圖像會更不準確。
▲輸入文本:一堆立方體,紅色的立方體在綠色立方體的頂部,綠色立方體在中間,藍色立方體在底部。
3、可視化透視與背景
如動圖所示,將特寫圖改成前視圖,將背景從草地改成山上。
▲原輸入文本:特寫圖下,在草地的水豚
除了二維圖像理解,DALL·E也能將某些類型的光學畸變(Optical Distortions)應用到具體場景中,展現出「魚眼透視」或「球形全景態」圖等效果。
4、內外部結構
▲輸入文本:核桃橫截面圖
5、上下文推理
將文本目標「翻譯」成圖像這個問題,是沒有唯一答案的,且語言中常含有字面所沒有的引申義。
如「日出時,坐在田野上的水豚的繪畫像」這一文本目標,其中並沒有提到水豚的陰影,但根據經驗我們也能知道,日出時,水豚必然會有由於陽光照射產生陰影。
因此,DALL·E就需要通過Transformer中的上下文推理,通過自己的「經驗」,得到這一結論。
▲輸入文本:日出時,坐在田野上的水豚的繪畫像。
6、不存在的物品
DALL·E還具有將完全不同的物品合成起來的能力,創造一些現實世界不可能出現的物體。
▲輸入文本:豎琴狀的蝸牛
三、「zero-shot」踐行者:按詞分圖的CLIP
如果說DALL·E是GPT-3在圖像領域的延伸,那CLIP就是主打「zero-shot(零樣本)」,攻破視覺領域的深度學習方法的三大難題。
1、訓練所需大量數據集的採集和標註,會導致的較高成本。
2、訓練好的視覺模型一般只擅長一類任務,遷移到其他任務需要花費巨大成本。
3、即使在基準測試中表現良好,在實際應用中可能也不如人意。
對此,OpenAI聯合創始人Ilya Sutskever曾發文聲稱,語言模型或是一種解法,我們可以通過文本,來修改和生成圖像。
基於這一願景,CLIP應運而生。
CLIP全稱是Contrastive Language-Image Pre-training,根據字面意思,就是對比文本-圖像預訓練模型,只需要提供圖像類別的文本描述,就能將圖像進行分類。
怎麼分?為什麼能分?
CLIP靠的就是預訓練階段,OpenAI從網際網路中收集的4億個文本-圖像對。接著,憑著與GPT-2/3相似的「zero-shot」設計,CLIP在不直接針對基準進行優化的同時,表現出優越的性能:魯棒性差距(robustness gap)縮小了75%,性能和深度殘差網絡ResNet50相當。
也就是說,CLIP無需使用ResNet50同樣大的訓練樣本,就達到了原始ResNet50在ImageNet數據集上的精確度。
在眾多數據集上,CLIP都有著可以與ResNet50升級版ResNet101媲美的精度,其中ObjectNet數據集代表模型識別物體不同形態和背景的能力,ImageNet Rendition和ImageNet Sketch代表模型識別抽象物體的能力。
雖然二者在ImageNet測試集上的表現相差無幾,但非ImageNet設置更能代表CLIP優秀的泛化能力。
為了識別出未曾見過的類別(圖像或文本),Zero-shot這一概念可以追溯到十年前,而目前計算機視覺領域應用的重點是,利用自然語言作為靈活的預測空間,實現泛化和遷移。
在2013年,史丹福大學的Richer Socher教授就曾在訓練CIFAR-10的模型時,在詞向量嵌入空間中進行預測,並發現該模型可以預測兩個「未見過」的類別。
剛剛登上歷史舞臺、用自然語言學習視覺概念的CLIP則帶上了更多現代的架構,如用注意力機制理解文本的Transformer、探索自回歸語言建模的Virtex、研究掩蔽語言建模的ICMLM等。
四、詳細解析,CLIP的「足」與「不足」
在對CLIP有一個基本的認識後,我們將從四個方面詳細剖析CLIP。
1、從CLIP流程,看三大問題如何解決
簡單來說,CLIP的任務就是識別一張圖像所出現的各種視覺概念,並且學會它的名稱。比如當任務是對貓和狗的圖片進行分類,CLIP模型就需要判斷,目前處理的這張圖片的文字描述是更偏向於「一張貓的照片」,還是一張狗的照片。
在具體實現上,有如下流程:預訓練圖像編碼器和文本編碼器,得到相互匹配的圖像和文本,基於此,CLIP將轉換為zero-shot分類器。此外,數據集的所有類會被轉換為諸如「一隻狗的照片」之類的標籤,以此標籤找到能夠最佳配對的圖像。
在這個過程中,CLIP也能解決之前提到的三大問題。
1、昂貴的數據集:25000人參與了ImageNet中1400萬張圖片的標註。與此相比,CLIP使用的是網際網路上公開的文本-圖像對,在標註方面,也利用自監督學習、對比方法、自訓練方法以及生成建模等方法減少對人工標註的依賴。
2、只適用於單一任務:由於已經學會圖片中的各種視覺概念,所以CLIP可以執行各種視覺任務,而不需要額外的訓練和調整。如下也展示了CLIP模型識別各類型圖像中視覺概念,無論是食物、場景還是地圖,都是有不錯的表現。
3、實際應用性能不佳:基準測試中表現好的模型在實際應用中很可能並沒有這麼好的水平。就像學生為了準備考試,只重複複習之前考過的題型一樣,模型往往也僅針對基準測試中的性能進行優化。但CLIP模型可以直接在基準上進行評估,而不必在數據上進行訓練。
2、CLIP的「足」:高效且靈活通用。
CLIP需要從未經標註、變化多端的數據中進行預訓練,且要在「zero-shot」,即零樣本的情況下使用。GPT-2/3模型已經驗證了該思路的可行性,但這類模型需要大量的模型計算,為了減少計算量,OpenAI的研究人員採用了兩種算法:對比目標(contrastive objective)和Vision Transformer。前者是為了將文本和圖像連接起來,後者使計算效率比標準分類模型提高了三倍。
▲CLIP模型在準確率和處理圖像大小上都優於其他兩種算法。
由於CLIP模型可以直接從自然語言中學習許多視覺概念,因此它們比現有的ImageNet模型更加靈活與通用。OpenAI的研究人員在30多個數據集上評估了CLIP的「zero-shot」性能,包括細粒度物體分類,地理定位,視頻中的動作識別和OCR(光學字符識別)等。
下圖也展示了12種模型在27種數據集準確率和處理圖像大小的比較。CLIP-ViT和CLIP-ResNet兩類CLIP方法都遙遙領先。
3、CLIP的「不足」:複雜任務仍有差距
儘管CLIP在識別常見物體上表現良好,但在如計算圖像中物品數量、預測圖片中物品的位置距離等更抽象、複雜的任務上,「zero-shot」CLIP表現僅略勝於隨機分類,而在區分汽車模型、飛機型號或者花卉種類時,CLIP也不好。
且對於預訓練階段沒有出現過的圖像,CLIP泛化能力也很差。例如,儘管CLIP學習了OCR,但評估MNIST數據集的手寫數字上,「zero-shot」CLIP準確率只達到了88%,遠低於人類在數據集中的99.75%精確度。最後,研究人員發現,CLIP的「zero-shot」分類器對單詞構造或短語構造比較敏感,但有時還是需要試驗和錯誤「提示引擎」的輔助,才能表現良好。
4、CLIP未來:算法公正仍需努力
研究人員也在博客中提到,CLIP更大的潛力是允許人們設計自己的分類,無需使用特定任務的訓練數據。因為分類的定義方法會影響模型的性能和偏差。
如果CLIP中添加的標籤包括Fairface種族標籤(FairFace是一個涵蓋不同人種、性別的面部圖像數據集)和少數負面名詞,例如「犯罪」,「動物」等,那麼很可能大約32.3%年齡為0至20歲的人像會被劃分到負面類別中,但在添加「兒童」這一標籤後,負面類別的比例大約下降到8.7%。
此外,由於CLIP不需要針對特定任務訓練數據,所以能夠更輕鬆地完成一些任務。但這些任務會不會涉及到特定的隱私和監視風險,需要進一步的研究。
結語:模型很厲害,監管需謹慎
無論是DALL·E還是CLIP,都採用不同的方法在多模態學習領域跨出了令人驚喜的一步。
但OpenAI的研究人員也反覆強調,越強大的模型一旦失控,後果也越加可怕,所以兩個模型後續的關於「公平性」、「隱私性」等問題研究也會繼續進行。
今後,文本和圖像的界限是否會進一步被打破,我們能否能順暢地用文字「控制」圖像的分類和生成,在現實生活中將會帶來怎樣的改變,都值得我們期待。
來源:OpenAI