智東西(公眾號: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生成的是圖像。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

▲Dali代表作《記憶的永恒》和機器人總動員海報。

在博客上,OpenAI也大秀了一把DALL·E的“超強想象力”,隨意輸入一句話,DALL·E就能生成相應圖片,這個圖片可能是網絡上已經存在的圖片,也可能是根據自己的理解“畫”出的。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

▲輸入文本分別是:穿芭蕾舞裙遛狗的蘿卜、牛油果形狀的扶手椅、將上部的圖片素描化

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、改變單個物體的某個屬性

如動圖所示,我們可以通過簡單地改變按鈕選項,將鐘改為花盆,再將綠色改為黃色,再將三角形改為正方形。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

▲原輸入文本:三角形綠色的鐘

2、同時改變多個物體以及其位置關系

將上方的物塊改成書,再將物體的上下疊放關系改成左右擺放。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

當一句話含有多個主體時,例如“紅色的物塊放在綠色的物塊上面”,DALL·E需要分辨出這兩個物塊是兩個不同的物體,且他們之間的位置關系是上下疊放。

但OpenAI的研究人員也承認,隨著輸入文本中描述主體的增多和關系的復雜,DALL·E生成的圖像會更不準確。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

▲輸入文本:一堆立方體,紅色的立方體在綠色立方體的頂部,綠色立方體在中間,藍色立方體在底部。

3、可視化透視與背景

如動圖所示,將特寫圖改成前視圖,將背景從草地改成山上。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

▲原輸入文本:特寫圖下,在草地的水豚

除了二維圖像理解,DALL·E也能將某些類型的光學畸變(Optical Distortions)應用到具體場景中,展現出“魚眼透視”或“球形全景態”圖等效果。

4、內外部結構

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

▲輸入文本:核桃橫截面圖

5、上下文推理

將文本目標“翻譯”成圖像這個問題,是沒有唯一答案的,且語言中常含有字面所沒有的引申義。

如“日出時,坐在田野上的水豚的繪畫像”這一文本目標,其中并沒有提到水豚的陰影,但根據經驗我們也能知道,日出時,水豚必然會有由于陽光照射產生陰影。

因此,DALL·E就需要通過Transformer中的上下文推理,通過自己的“經驗”,得到這一結論。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

▲輸入文本:日出時,坐在田野上的水豚的繪畫像。

6、不存在的物品

DALL·E還具有將完全不同的物品合成起來的能力,創造一些現實世界不可能出現的物體。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

▲輸入文本:豎琴狀的蝸牛

三、“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數據集上的精確度。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

在眾多數據集上,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分類器。此外,數據集的所有類會被轉換為諸如“一只狗的照片”之類的標簽,以此標簽找到能夠最佳配對的圖像。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

在這個過程中,CLIP也能解決之前提到的三大問題。

1、昂貴的數據集:25000人參與了ImageNet中1400萬張圖片的標注。與此相比,CLIP使用的是互聯網上公開的文本-圖像對,在標注方面,也利用自監督學習、對比方法、自訓練方法以及生成建模等方法減少對人工標注的依賴。

2、只適用于單一任務:由于已經學會圖片中的各種視覺概念,所以CLIP可以執行各種視覺任務,而不需要額外的訓練和調整。如下也展示了CLIP模型識別各類型圖像中視覺概念,無論是食物、場景還是地圖,都是有不錯的表現。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

3、實際應用性能不佳:基準測試中表現好的模型在實際應用中很可能并沒有這么好的水平。就像學生為了準備考試,只重復復習之前考過的題型一樣,模型往往也僅針對基準測試中的性能進行優化。但CLIP模型可以直接在基準上進行評估,而不必在數據上進行訓練。

2、CLIP的“足”:高效且靈活通用。

CLIP需要從未經標注、變化多端的數據中進行預訓練,且要在“zero-shot”,即零樣本的情況下使用。GPT-2/3模型已經驗證了該思路的可行性,但這類模型需要大量的模型計算,為了減少計算量,OpenAI的研究人員采用了兩種算法:對比目標(contrastive objective)和Vision Transformer。前者是為了將文本和圖像連接起來,后者使計算效率比標準分類模型提高了三倍。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

▲CLIP模型在準確率和處理圖像大小上都優于其他兩種算法。

由于CLIP模型可以直接從自然語言中學習許多視覺概念,因此它們比現有的ImageNet模型更加靈活與通用。OpenAI的研究人員在30多個數據集上評估了CLIP的“zero-shot”性能,包括細粒度物體分類,地理定位,視頻中的動作識別和OCR(光學字符識別)等。

下圖也展示了12種模型在27種數據集準確率和處理圖像大小的比較。CLIP-ViT和CLIP-ResNet兩類CLIP方法都遙遙領先。

文本秒生成圖像,震驚業界!詳解OpenAI兩大AI模型

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