
智東西(公眾號:zhidxcom)
編譯 |? 子佩
編輯 |? Panken
智(zhi)東西1月7日(ri)消息(xi),2021開年(nian),頂著地表最強(qiang)語言(yan)模型(xing)GPT-3的(de)光環,OpenAI在(zai)自(zi)然語言(yan)處理領域一(yi)路高歌猛進,于(yu)(yu)昨(zuo)日(ri)推出兩(liang)個跨越(yue)文本(ben)與圖(tu)像次元的(de)模型(xing):DALL·E和(he)CLIP,前(qian)者可以基(ji)于(yu)(yu)文本(ben)生成(cheng)圖(tu)像,后者則可以基(ji)于(yu)(yu)文本(ben)對圖(tu)片(pian)進行分(fen)類(lei),兩(liang)者都意在(zai)打破(po)自(zi)然語言(yan)處理和(he)計(ji)算機視覺兩(liang)大門派“涇渭分(fen)明”的(de)界限,實現多(duo)模態AI系統。
什么是(shi)多模態系(xi)統呢?
就像人(ren)類(lei)(lei)有視(shi)覺、嗅(xiu)覺、聽覺一樣,AI也(ye)有自(zi)己“眼鼻(bi)嘴(zui)”,而為(wei)了研(yan)究(jiu)(jiu)的針對性和深入,科學家們通常會將其分為(wei)“計算機視(shi)覺”、“自(zi)然語言(yan)處理”、“語音(yin)識別(bie)”等研(yan)究(jiu)(jiu)領域(yu),分門別(bie)類(lei)(lei)地解決不同的實際問(wen)題(ti)。
每一個(ge)研究領域也(ye)可以被(bei)稱為一種(zhong)模態,通常來說,多(duo)模態學習(xi)(MultiModal Learning)就是在(zai)不同的模態間構建(jian)聯系(xi),讓AI學會(hui)“通感”。
一、GPT-3“繼承者”:看文繪圖的DALL·E
DALL·E的名字取自藝術家Salvador Dali和皮克斯(si)動(dong)畫片機器人總動(dong)員(WALL-E),而(er)與GPT-3一樣,它(ta)也是(shi)一個具有120億參數的Transformer語(yu)言模(mo)型,不同的是(shi),GPT-3生成的是(shi)文本,DALL·E生成的是(shi)圖像(xiang)。
▲Dali代表作(zuo)《記憶(yi)的永(yong)恒》和(he)機器人總動員海(hai)報。
在(zai)博客上,OpenAI也大(da)秀(xiu)了一把DALL·E的(de)“超強想象(xiang)力”,隨意(yi)輸入一句(ju)話,DALL·E就能(neng)生成(cheng)相應(ying)圖片(pian),這個圖片(pian)可能(neng)是(shi)網絡上已(yi)經存在(zai)的(de)圖片(pian),也可能(neng)是(shi)根據自己的(de)理解“畫”出的(de)。
▲輸入文本分(fen)別是:穿芭蕾(lei)舞裙(qun)遛(liu)狗的(de)蘿(luo)卜(bu)、牛油果(guo)形狀(zhuang)的(de)扶手椅(yi)、將上部的(de)圖片素描化
DALL·E是如何實現先(xian)理解(jie)文字,再(zai)創(chuang)造(zao)圖片的(de)呢?
那首先(xian)要從理解token開(kai)始(shi),語言學中(zhong)對token的定義是(shi)詞(ci)符(fu),或(huo)者標(biao)記。對于英語來說,每個(ge)字(zi)母(mu)就(jiu)(jiu)是(shi)一(yi)(yi)(yi)個(ge)token,每一(yi)(yi)(yi)個(ge)單詞(ci)就(jiu)(jiu)是(shi)一(yi)(yi)(yi)個(ge)tokens。
但在NLP中,tokens并不一定(ding)代表完(wan)整的(de)單詞,如re、ug等沒有實際(ji)意義的(de)字母組合也算(suan)一個tokens。
在最(zui)早提出Transformer架構的(de)論(lun)文《Attention is all you need》里,就提到了BPE(Byte-Pair Encoding)編(bian)碼(ma)方法,簡(jian)單來說,BPE就是通(tong)過分析(xi)訓(xun)練集中每個單詞(ci)的(de)組成,創建一(yi)個基礎詞(ci)匯表,詞(ci)匯表里涵(han)蓋了一(yi)定(ding)數量最(zui)常用的(de)tokens。
模型(xing)中(zhong)tokens的數量(liang)是超參(can)數,也就是訓練(lian)模型(xing)中(zhong)人為規定的。
DALL·E同時包含著BPE編碼(ma)的文本(ben)和圖像詞匯表,分別涵蓋了(le)16384、8192個tokens。
當需要(yao)生成圖(tu)(tu)(tu)片時,它以單一數據流的形式,接收(shou)1280個文本(ben)和圖(tu)(tu)(tu)像的tokens(文本(ben)256個tokens,圖(tu)(tu)(tu)像1024個tokens),建立回歸模型。
與大多數Transformer模型一樣(yang),DALL·E也采用自注意力機制(Self-Attention),分析文本內部的聯(lian)系。
在DALL·E的64層自注意(yi)層中,每層都有一個注意(yi)力mask,就是為了(le)使圖像的每個tokens都能匹(pi)配文本tokens。
OpenAI也(ye)表(biao)示,更具體(ti)的架構和詳細訓練過程會在之后(hou)的博客(ke)中(zhong)公(gong)布(bu)。
二、普適的DALL·E:從改變物體關系到創造“不存在”
比起長篇累牘地描述自己(ji)模(mo)型的優越性,OpenAI則是用大量實測案例證明了自己(ji)。
1、改變單個物體的某個屬性
如(ru)動(dong)圖所示,我們(men)可以(yi)通(tong)過簡單地(di)改(gai)變按鈕(niu)選項,將(jiang)鐘改(gai)為(wei)花盆,再將(jiang)綠(lv)色改(gai)為(wei)黃色,再將(jiang)三角形(xing)改(gai)為(wei)正方形(xing)。
▲原(yuan)輸入文本:三(san)角形綠色的鐘
2、同時改變多個物體以及其位置關系
將(jiang)(jiang)上方的(de)物塊改(gai)成(cheng)書,再將(jiang)(jiang)物體(ti)的(de)上下疊(die)放(fang)(fang)關系(xi)改(gai)成(cheng)左右擺放(fang)(fang)。
當(dang)一(yi)句(ju)話(hua)含有多個主體(ti)時,例如“紅(hong)色的物(wu)塊放(fang)在綠色的物(wu)塊上面”,DALL·E需(xu)要分辨出(chu)這兩(liang)個物(wu)塊是兩(liang)個不同(tong)的物(wu)體(ti),且他們(men)之間的位置關系是上下疊(die)放(fang)。
但(dan)OpenAI的研究人員(yuan)也(ye)承認,隨著輸入文本中(zhong)描述主體的增多和(he)關系(xi)的復雜,DALL·E生(sheng)成的圖像會更不準確。
▲輸入(ru)文本:一(yi)堆立(li)方(fang)體(ti),紅色(se)(se)的立(li)方(fang)體(ti)在綠色(se)(se)立(li)方(fang)體(ti)的頂部,綠色(se)(se)立(li)方(fang)體(ti)在中間,藍色(se)(se)立(li)方(fang)體(ti)在底部。
3、可視化透視與背景
如動圖(tu)所示(shi),將特寫圖(tu)改成前視圖(tu),將背景從(cong)草地改成山上。
▲原(yuan)輸入(ru)文本:特寫圖下,在草地(di)的水豚
除了二維圖(tu)像理解,DALL·E也能將某(mou)些類(lei)型的光(guang)學畸變(bian)(Optical Distortions)應用到具體場景(jing)中,展現(xian)出“魚眼透(tou)視(shi)”或(huo)“球形全(quan)景(jing)態”圖(tu)等效果。
4、內外部結構
▲輸入(ru)文本:核桃橫截面圖
5、上下文推理
將(jiang)文本目標(biao)“翻譯”成(cheng)圖像這個問題,是沒有唯一(yi)答案的,且語言中常(chang)含(han)有字面(mian)所沒有的引申義。
如“日(ri)(ri)出(chu)時(shi),坐在田野(ye)上的(de)(de)水(shui)豚(tun)的(de)(de)繪畫像”這一文本目標,其中并(bing)沒有(you)提到水(shui)豚(tun)的(de)(de)陰(yin)影(ying),但根據經(jing)驗我們也能知(zhi)道,日(ri)(ri)出(chu)時(shi),水(shui)豚(tun)必然會有(you)由于陽光(guang)照射產生陰(yin)影(ying)。
因此(ci),DALL·E就需要(yao)通過Transformer中的上下(xia)文推(tui)理,通過自己的“經驗”,得到這一結論。
▲輸(shu)入文(wen)本(ben):日出時,坐在田野上的(de)水豚的(de)繪畫像(xiang)。
6、不存在的物品
DALL·E還具有將完全不同的物(wu)品合成起來的能(neng)力(li),創造一(yi)些(xie)現實世界不可能(neng)出現的物(wu)體。
▲輸入(ru)文本:豎琴狀的(de)蝸牛
三、“zero-shot”踐行者:按詞分圖的CLIP
如果說DALL·E是(shi)GPT-3在(zai)圖像(xiang)領域(yu)的延伸,那CLIP就(jiu)是(shi)主(zhu)打“zero-shot(零樣(yang)本)”,攻破視覺領域(yu)的深度(du)學習方(fang)法的三(san)大難(nan)題。
1、訓練所需大量數據集的采集和標注,會導致的較高成本。
2、訓練好的視覺模型一般只擅長一類任務,遷移到其他任務需要花費巨大成本。
3、即使在基準測試中表現良好,在實際應用中可能也不如人意。
對此,OpenAI聯合創(chuang)始(shi)人Ilya Sutskever曾發文(wen)聲稱(cheng),語言模(mo)型(xing)或是一種解法(fa),我們(men)可以通過文(wen)本,來修(xiu)改和生成圖像。
基于這一愿(yuan)景,CLIP應(ying)運而生。
CLIP全稱是(shi)Contrastive Language-Image Pre-training,根據字面意思(si),就是(shi)對比文(wen)本(ben)-圖像(xiang)預訓(xun)練(lian)模型,只需要提供圖像(xiang)類別的文(wen)本(ben)描(miao)述,就能將(jiang)圖像(xiang)進行分類。
怎么(me)分(fen)(fen)?為什么(me)能分(fen)(fen)?
CLIP靠的(de)就是預訓練(lian)階段(duan),OpenAI從互聯網(wang)中(zhong)收集的(de)4億(yi)個文(wen)本-圖像對。接(jie)著,憑(ping)著與GPT-2/3相(xiang)似的(de)“zero-shot”設計,CLIP在不(bu)直(zhi)接(jie)針對基準進行(xing)優(you)化的(de)同時(shi),表現出優(you)越的(de)性(xing)(xing)能:魯(lu)棒(bang)性(xing)(xing)差距(ju)(robustness gap)縮(suo)小了75%,性(xing)(xing)能和深度殘差網(wang)絡ResNet50相(xiang)當。
也(ye)就是說,CLIP無需使用ResNet50同樣大(da)的訓練樣本,就達(da)到了原始ResNet50在ImageNet數據集上(shang)的精確度。
在眾多數據(ju)集(ji)上,CLIP都有著可以(yi)與ResNet50升級版ResNet101媲美的精度,其中ObjectNet數據(ju)集(ji)代(dai)表(biao)模(mo)型識別物體不同形態和(he)背景的能力,ImageNet Rendition和(he)ImageNet Sketch代(dai)表(biao)模(mo)型識別抽象(xiang)物體的能力。
雖然(ran)二者在ImageNet測(ce)試集上的表現相差(cha)無(wu)幾,但非ImageNet設(she)置更能代表CLIP優秀的泛(fan)化能力(li)。
為(wei)了(le)識(shi)別(bie)(bie)出未曾見過(guo)的類(lei)別(bie)(bie)(圖(tu)像(xiang)或文本(ben)),Zero-shot這一概念可以追(zhui)溯到十年前,而目前計算機視覺領域應用(yong)的重點(dian)是,利用(yong)自然(ran)語言作為(wei)靈活的預(yu)測空間(jian),實現(xian)泛化和遷移。
在2013年(nian),斯坦福(fu)大學(xue)的Richer Socher教授就(jiu)曾在訓練CIFAR-10的模(mo)型時,在詞向量嵌入空(kong)間(jian)中(zhong)進行預測(ce),并發(fa)現該模(mo)型可以預測(ce)兩(liang)個(ge)“未見(jian)過”的類別。
剛剛登上(shang)歷史舞臺、用自然(ran)語(yu)言學(xue)習視覺概(gai)念的(de)CLIP則帶上(shang)了更多現代的(de)架構,如用注意(yi)力機制理(li)解文本的(de)Transformer、探索自回歸語(yu)言建(jian)模(mo)的(de)Virtex、研究掩蔽(bi)語(yu)言建(jian)模(mo)的(de)ICMLM等。
四、詳細解析,CLIP的“足”與“不足”
在對CLIP有一個(ge)基本的認識后,我們(men)將從四個(ge)方面詳(xiang)細(xi)剖(pou)析CLIP。
1、從CLIP流程,看三大問題如何解決
簡單來(lai)說,CLIP的(de)任(ren)務就(jiu)是(shi)(shi)(shi)識別(bie)一張(zhang)圖(tu)像所出(chu)現(xian)的(de)各種視覺概(gai)念,并且學會它的(de)名稱。比如(ru)當(dang)任(ren)務是(shi)(shi)(shi)對貓(mao)和狗(gou)的(de)圖(tu)片進行分(fen)類,CLIP模型(xing)就(jiu)需要判斷,目前處理的(de)這張(zhang)圖(tu)片的(de)文(wen)字描述是(shi)(shi)(shi)更(geng)偏向(xiang)于(yu)“一張(zhang)貓(mao)的(de)照片”,還(huan)是(shi)(shi)(shi)一張(zhang)狗(gou)的(de)照片。
在具體(ti)實現上,有如下流程(cheng):預訓練(lian)圖(tu)像編碼器(qi)和文(wen)本編碼器(qi),得(de)到相互(hu)匹配(pei)的圖(tu)像和文(wen)本,基于此(ci),CLIP將轉換為(wei)zero-shot分類(lei)(lei)器(qi)。此(ci)外,數據集的所有類(lei)(lei)會(hui)被轉換為(wei)諸(zhu)如“一只狗(gou)的照片”之類(lei)(lei)的標(biao)簽,以此(ci)標(biao)簽找到能夠最佳配(pei)對的圖(tu)像。
在這個過程中,CLIP也能解決之前提到的三(san)大(da)問題(ti)。
1、昂(ang)貴的(de)(de)(de)數(shu)據集:25000人參與了ImageNet中1400萬張圖(tu)片的(de)(de)(de)標(biao)(biao)(biao)注。與此相比,CLIP使用(yong)的(de)(de)(de)是互聯網上公開的(de)(de)(de)文本-圖(tu)像對(dui)(dui),在標(biao)(biao)(biao)注方面,也利用(yong)自監督學習(xi)、對(dui)(dui)比方法(fa)(fa)、自訓練方法(fa)(fa)以及(ji)生成(cheng)建模等方法(fa)(fa)減少對(dui)(dui)人工標(biao)(biao)(biao)注的(de)(de)(de)依賴。
2、只適用于單(dan)一任務:由于已經學會(hui)圖片中的(de)各種(zhong)視(shi)(shi)覺(jue)(jue)概念(nian),所以CLIP可以執(zhi)行各種(zhong)視(shi)(shi)覺(jue)(jue)任務,而不(bu)需要額外的(de)訓練和調(diao)整。如(ru)下也展示(shi)了CLIP模型識別各類(lei)型圖像(xiang)中視(shi)(shi)覺(jue)(jue)概念(nian),無論是食物、場景還是地圖,都(dou)是有(you)不(bu)錯的(de)表(biao)現。
3、實際(ji)應用性能(neng)(neng)不(bu)佳(jia):基準(zhun)測試(shi)(shi)中表現好的模(mo)(mo)型在實際(ji)應用中很可(ke)能(neng)(neng)并沒有這么(me)好的水平。就像學生為了準(zhun)備(bei)考(kao)試(shi)(shi),只重復復習之(zhi)前考(kao)過(guo)的題型一樣,模(mo)(mo)型往往也僅(jin)針(zhen)對基準(zhun)測試(shi)(shi)中的性能(neng)(neng)進行優(you)化。但(dan)CLIP模(mo)(mo)型可(ke)以直接在基準(zhun)上(shang)進行評(ping)估,而(er)不(bu)必在數據上(shang)進行訓練。
2、CLIP的“足”:高效且靈活通用。
CLIP需要從未經(jing)標注、變化(hua)多端的(de)(de)數據中(zhong)進行預訓練,且要在“zero-shot”,即零樣本(ben)的(de)(de)情況下使(shi)(shi)用。GPT-2/3模型已經(jing)驗證(zheng)了(le)該思路的(de)(de)可行性,但這(zhe)類模型需要大量(liang)的(de)(de)模型計算,為了(le)減(jian)少(shao)計算量(liang),OpenAI的(de)(de)研究人員采用了(le)兩種算法:對比(bi)目標(contrastive objective)和(he)Vision Transformer。前者是為了(le)將文(wen)本(ben)和(he)圖像連接起來,后者使(shi)(shi)計算效率比(bi)標準分(fen)類模型提高(gao)了(le)三(san)倍。
▲CLIP模型(xing)在(zai)準確率和處理(li)圖像大(da)小上(shang)都優于(yu)其他兩種算(suan)法。
由于CLIP模型可(ke)以直接(jie)從自然語(yu)言中學(xue)習許多(duo)視(shi)(shi)覺概念,因此它們比現有(you)的(de)ImageNet模型更加靈(ling)活與通用。OpenAI的(de)研究人(ren)員在30多(duo)個數據集上評(ping)估(gu)了CLIP的(de)“zero-shot”性能(neng),包括(kuo)細粒度物體(ti)分(fen)類,地(di)理定(ding)位,視(shi)(shi)頻中的(de)動作識(shi)別和OCR(光學(xue)字(zi)符識(shi)別)等(deng)。
下圖(tu)也展示(shi)了12種(zhong)模型在27種(zhong)數據集準確率(lv)和處理(li)圖(tu)像大(da)小的比較。CLIP-ViT和CLIP-ResNet兩類CLIP方法都(dou)遙遙領先。
3、CLIP的“不足”:復雜任務仍有差距
盡管CLIP在(zai)識別(bie)常見(jian)物體上表(biao)現良好,但在(zai)如計算圖(tu)像中(zhong)物品數量、預測(ce)圖(tu)片中(zhong)物品的位置距離等更(geng)抽象、復雜的任(ren)務上,“zero-shot”CLIP表(biao)現僅(jin)略勝(sheng)于隨機分類,而在(zai)區分汽車模型、飛機型號或者花卉種類時,CLIP也不好。
且(qie)對于預訓(xun)練階段沒(mei)有出現過的圖(tu)像,CLIP泛化(hua)能力(li)也很(hen)差(cha)。例如,盡管CLIP學習了(le)OCR,但評估MNIST數據集(ji)的手寫數字(zi)上,“zero-shot”CLIP準確(que)率只達(da)到了(le)88%,遠低于人(ren)類在數據集(ji)中(zhong)的99.75%精(jing)確(que)度。最后,研究人(ren)員發現,CLIP的“zero-shot”分(fen)類器對單詞(ci)構造或短語構造比較(jiao)敏感(gan),但有時還是需(xu)要試驗和錯誤“提示(shi)引擎”的輔助,才能表現良好。
4、CLIP未來:算法公正仍需努力
研究人員(yuan)也在(zai)博客中提到,CLIP更大的(de)(de)(de)潛力是允許人們設計自己的(de)(de)(de)分類,無需使用特定任務(wu)的(de)(de)(de)訓練(lian)數(shu)據。因為(wei)分類的(de)(de)(de)定義方法會影響模型(xing)的(de)(de)(de)性能和偏差(cha)。
如果(guo)CLIP中添加的(de)標簽包括Fairface種(zhong)(zhong)族標簽(FairFace是一(yi)個涵蓋(gai)不同人(ren)種(zhong)(zhong)、性(xing)別的(de)面(mian)部圖像數據集(ji))和少數負(fu)(fu)面(mian)名(ming)詞,例(li)如“犯罪”,“動(dong)物”等(deng),那么很(hen)可能大約32.3%年齡為(wei)0至20歲的(de)人(ren)像會(hui)被劃分到(dao)負(fu)(fu)面(mian)類(lei)別中,但在添加“兒童”這一(yi)標簽后,負(fu)(fu)面(mian)類(lei)別的(de)比例(li)大約下(xia)降到(dao)8.7%。
此(ci)外,由于(yu)CLIP不(bu)需(xu)要針對(dui)特定(ding)任務訓練數據,所以能夠更輕松地(di)完成一(yi)些(xie)任務。但(dan)這(zhe)些(xie)任務會不(bu)會涉及到特定(ding)的隱私(si)和(he)監視風險,需(xu)要進一(yi)步的研(yan)究(jiu)。
結語:模型很厲害,監管需謹慎
無論是DALL·E還(huan)是CLIP,都采用不同的方法在多模態學習領域跨出了(le)令人驚喜(xi)的一步。
但OpenAI的(de)(de)研究(jiu)人員也反復強調,越強大的(de)(de)模型一旦失控,后(hou)果也越加(jia)可怕,所以兩個模型后(hou)續(xu)的(de)(de)關于“公平(ping)性”、“隱私性”等(deng)問(wen)題研究(jiu)也會繼續(xu)進行。
今(jin)后,文本和圖(tu)像(xiang)的界限是否會進一步被打破(po),我(wo)們能(neng)否能(neng)順暢(chang)地用(yong)文字“控制”圖(tu)像(xiang)的分類和生(sheng)成,在現實生(sheng)活中將會帶來怎樣的改(gai)變,都值(zhi)得(de)我(wo)們期待。
來源:OpenAI