性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

徐土豆
認證:優(yōu)質創(chuàng)作者
所在專題目錄 查看專題
Transformer代碼隨記
視頻分析與多模態(tài)融合之一,為什么需要多模態(tài)融合
WenLan 2.0:一種不依賴Object Detection的大規(guī)模圖文匹配預訓練模型 & 數(shù)據(jù)+算力=大力出奇跡
圖文多模態(tài)語義融合前的語義對齊——一種單雙混合塔多模態(tài)模型
在多模態(tài)模型訓練時,如何合適地融合單模態(tài)損失
FILIP: 一種基于交互的細粒度圖文預訓練模型
作者動態(tài) 更多
給定計算預算下的最佳LLM模型尺寸與預訓練數(shù)據(jù)量分配
1天前
大模型推理時的尺度擴展定律
2天前
世界多胞體與世界模型
1星期前
獎勵模型中的尺度擴展定律和獎勵劫持
1星期前
MeCo——給預訓練數(shù)據(jù)增加源信息,就能減少33%的訓練量并且提升效果
2星期前

WenLan 2.0:一種不依賴Object Detection的大規(guī)模圖文匹配預訓練模型 & 數(shù)據(jù)+算力=大力出奇跡

本文在 [1] 的基礎上進行,為了行文簡練,將會省略部分細節(jié),讀者自行斟酌是否需要移步 [1] 補充相關背景知識。

WenLan 2.0的改進WenLan 2.0 [2] 對比其前輩 WenLan 1.0 [3],其有兩個最大的區(qū)別:

從行文上看,整篇文章敘事更為宏大,從通用智能AGI開始討論到了人類的概念認知能力,進而引申到了模型的『想象能力』,從而筆鋒一轉到了自家的BriVL模型。從技術上看,該工作去除了前文中的Object Detector,因此是不依賴于物體檢測結果的圖文匹配模型,這個特點使得該工作更適合與實際工業(yè)界中的應用,因為涉及到了物體檢測意味著需要更多的計算消耗。采用了更大的互聯(lián)網(wǎng)圖文數(shù)據(jù)集進行預訓練,數(shù)據(jù)規(guī)模多達6.5億圖文對,并且由于數(shù)據(jù)來自互聯(lián)網(wǎng)爬蟲得到,沒有進行過人工標注,數(shù)據(jù)更接近與真實生活數(shù)據(jù),作者稱之為弱語義相關數(shù)據(jù)集 (Weak Semantic-Correlation Dataset, WSCD),具體關于圖文檢索中的弱語義場景可見博文 [1]。該數(shù)據(jù)集對比與在WenLan 1.0中采用的3000萬弱語義圖文對,顯然在數(shù)量級上又更上一層樓。從整體模型結構上看,如Fig 1.1所示,WenLan 2.0和WenLan 1.0并沒有太大區(qū)別,僅限于其圖片編碼器由于去除了Object Detector,因此進行了比較特殊的設計。但是注意到,之前筆者在博文 [1] 中其實在loss計算這塊兒存在一個小誤解,假設其Image-Encoder的圖片表征為??????,而Momentum Text-Encoder的文本表征為 ?????,其中M?????為batch size,而D DD????????為embedding特征的維度大小。之前筆者認為其正樣本打分方式會如同原始的MoCo [4] 一樣,如Code 1.1所示,將會產生一個大小的打分。

Code 1.1 一開始筆者誤認為WenLan Contrastive Loss計算方式和MoCo Contrastive Loss一致

# 用愛因斯坦求和規(guī)范可以用以下計算方式
l_pos = torch.einsum('nc,nc->n', [zI, zT]).unsqueeze(-1) # 一個batch中的M個正樣本打分計算,大小為M x 1

# 也可以用張量求和方式計算,如以下所示
l_pos = paddle.multiply(zI, zT) # N x D
l_pos = paddle.sum(l_pos, axis=1) # N
l_pos = paddle.unsqueeze(l_pos, axis=1) # N x 1

而實際上,在WenLan中應該是采用的打分矩陣進行的,如同CLIP一樣,計算公式為:

其產生的打分矩陣只有對角線上的元素才是正樣本對對應的元素,其他都是負樣本。將該打分矩陣拼接到負隊列打分,可以將負樣本數(shù)量增加到??,其中表示拼接后的實際負樣本大小,而表示原始的負樣本隊列的大小。通過這種方式可以盡可能地增加負樣本數(shù)量,一般來說如果此時已經(jīng)經(jīng)過了all_gather匯聚所有卡上的特征,那么此時的M MM?的大小可是很可觀的。整體過程如以下偽代碼所示:

Code 1.2 實際上的WenLan Contrastive Loss計算方式,以Paddle為例子,只計算了image2text loss。

@paddle.no_grad()
def concat_all_gather_nograd(tensor):
  ...
  return tensor

def concat_all_gather_grad(tensor):
  ...
  return tensor

def wenlan_loss(image_emb, text_emb_m):
  batch_size = image_emb.shape[0]
  i2t_pos_score = paddle.matmul(image_emb, text_emb_m, transpose_y=True) # N x N 
  i2t_neg_score = paddle.matmul(image_emb, self.query_queue.clone().detach()) # N x K
  i2t_score = paddle.concat((i2t_pos_score, i2t_neg_score), axis=1) # N x (N+K)
  labels = paddle.arange(start=0, end=batch_size, step=1, dtype='int64').reshape(shape=(batch_size, 1))
  labels.stop_gradient = True
  i2t_loss = cross_entropy_loss(i2t_score, labels.clone().detach(), temperature)
  return i2t_loss
  
image_emb = image_model(image)
image_emb = F.normalize(image_emb, axis=1)
with paddle.no_grad():
  text_emb_m = text_model_m(text)
	text_emb_m = F.normalize(text_emb_m, axis=1)
 
text_emb_m = concat_all_gather_nograd(text_emb_m)
image_emb = concat_all_gather_grad(image_emb)
i2t_loss = wenlan_loss(image_emb, text_emb_m)

Fig 1.1 WenLan 2.0的模型結構和WenLan 1.0是一致的。

對比于WenLan 1.0前輩,其后輩去下了Object Detector的沉重負擔,為了能對圖片內物體位置進行建模,在2.0中對圖片進行了多尺度的切分。目前來說,作者只進行了兩個層次的切分,對于整張圖片視為一個patch;再對整張圖片均勻切分成?個patch,那么這樣就會有37個patch。這些patch某種意義上可以對圖片的各個尺度(局部,全局)的物體進行描述,而不依賴于物體檢測。對這些patch記下其坐標位置,然后將整張圖片經(jīng)過CNN進行特征提取,將對應的patch通過坐標位置從特征圖(feature map)中『扣』出對應的特征表達。這個過程可以形式化表示為:

假如目前輸入的圖片為?,通過CNN特征提取后得到的特征圖為 ??;那么假設存在一個patch切分機制,可以將輸入圖片切分成K?個patch,即是?;并且存在一個坐標對應函數(shù),可以將patch坐標對應到特征圖中的坐標,也即是?,從而可以通過映射后的坐標將第i個patch 的對應特征從整個特征圖中扣出來,也即是 ?;通過空間池化 (Spatial Pooling) 可以將??patch特征變?yōu)橐粋€向量,即是?;將這K個patch的向量化特征拼接起來,得到的特征矩陣。在得到了??特征矩陣之后,采用Self-Attention機制對這個矩陣進行處理,可以挖掘出patch之間的交互關系,如式子(1.2)所示。

經(jīng)過self-Attention處理過后的再進行patch軸上的融合,如式子(1.3)所示。

其中的表示的第i列,最終的圖片表征即是 ??,通過兩層FC層并且以ReLU作為激活層,即可將圖片表征映射到多模態(tài)公共表征空間(Multimodality Common Feature Space)。整個過程如Fig 1.2所示。

Fig 1.2 去除Object Detector后的圖片編碼器需要劃分patch,并且將其映射到圖片feature map上,通過Self-Attention層將其映射到最終的圖片表征。

在文本編碼器這塊兒,同樣也是采用了兩層FC層+ReLU激活層的方案,將文本表征映射到了多模態(tài)公共表征層,而文本編碼器的Backbone則是采用了RoBERTa [5]。至于負樣本隊列和動量更新的過程,在前文[1]已經(jīng)有過比較詳細的介紹,就不再贅述了。

模型結果可視化分析在這篇文章中,令筆者印象最深的并不是其模型結構的改變,而是文章一開始對其embedding表征結果可視化,和其利用WenLan 2.0的BriVL模型作為橋梁從文本生成圖像的能力,著實讓筆者驚艷,通過這種可視化方式可以分析圖文多模態(tài)模型對于某些文本概念的理解傾向,算是走向『讓模型理解』的第一步吧。由于采用了海量的弱語義關聯(lián)圖文對進行對比學習訓練,模型會在一定意義上理解更為抽象的多模態(tài)語義概念。以文章的原配圖為例子,如Fig 2.1所示,對于一個生日蛋糕的圖片而言,所謂弱語義配對就是『Happy birthday! Make a wish.』其中并沒有太多的視覺語義實體存在,但是我們知道的確這句話就是在描述這個場景,而傳統(tǒng)的強語義圖文匹配,包括Image Caption任務等,其大多都會存在明顯的視覺實體的文本描述,比如『This is a fruit cake with candles.』中的『fruit, cake, candle』等。

Fig 2.1 弱語義多模態(tài)數(shù)據(jù)更為接近于現(xiàn)實生活中實際數(shù)據(jù)分布,其概念更為抽象,并不是純粹的圖文實體匹配。

那么利用這樣的弱語義圖文數(shù)據(jù),通過大尺度對比學習學習出來的多模態(tài)模型,能達到怎樣的多模態(tài)理解程度呢?作者首先在WSCD數(shù)據(jù)集上對BriVL模型進行預訓練,然后選定一些概念的文本描述,比如抽象的『自然(nature), 時間(time),科學(science)』等,也可以是具象的『山川(mountains),河流(rivers)』等。然后固定BriVL模型參數(shù),通過BriVL的文本編碼器對給定的概念進行表征計算,得到文本域的多模態(tài)公共表達,記為,然后隨機初始化圖片輸入,記為 ,將隨機初始化的圖片輸入圖片編碼器。顯然,此時圖片域的多模態(tài)公共表達,記為和文本域的表達無法對齊,因此通過梯度去更新隨機初始化的圖片,待到收斂之時,即得到最終文本概念對應的圖片。此時,對該圖片對應的圖片編碼器的最后一層Embedding特征圖進行可視化,就得到了Fig 2.2所示的結果。

從Fig 2.2 a中,我們發(fā)現(xiàn)BriVL對于一些抽象概念,具備著很符合人類直覺的理解能力,比如『自然』,其理解為大量的植被等;對于『時間』,其具象化理解為了一個鐘表;對于『科學』,其理解為帶著眼鏡的科學家(看起來像是愛因斯坦),和一些化學量杯等;對于『夢』,其理解也很抽象了,看起來像是一個很魔幻的天空,然后一條長橋伸向一個未知的大門,而左下角還有個奇異的生物注視著你。Fig 2.2 b中則是對于一些諺語或者是一句短語的理解,比如『Every cloud has a silver lining(雨過天晴時分)』,能看到一絲陽光穿透云層;對于『Let life be beautiful like summer flowers.(生如夏花)』,則是能明顯看到一朵荷花,荷葉等。

在細粒度實驗上,比如『雪山』『石山』『叢林中的小山』『瀑布邊的小山』這些細分的概念上,從Fig 2.2 c中也能發(fā)現(xiàn)其的確也能區(qū)分出以上四個概念的區(qū)別和共同點出來。

Fig 2.2 給定特定的文本描述,BriVL模型作為橋梁可以得到對應的圖片Embedding表征,通過對這個表征進行可視化,可以分析模型對于某些概念的理解程度。

這是從Embedding可視化的角度去探索BriVL模型的多模態(tài)理解能力,那么能否從其直接生成的圖片的角度去探索呢?顯然也是可以的,因為在上一步中其實通過梯度更新隨機初始化圖片,已經(jīng)生成了文本概念所對應的圖片。但是此時的這個圖片并不是最符合人類直覺的圖片,因為顯然這個圖片的假設空間很大,如果簡單通過梯度更新去找到一個Embedding相似度損失足夠小的圖片,可能并不是視覺上最符合人類直覺的,因此一般這種任務會通過GAN去輔助圖片的生成,比如這篇文章就是采用VAGAN [6] 進行輔助生成的。通過GAN的輔助,將會生成更為人類友好的圖片。如Fig 2.3和Fig 2.4所示,其中Fig 2.3 a是利用CLIP [7] 模型進行的文本到圖片的生成,而Fig 2.3 b是利用BriVL模型進行的文本到圖片的生成。a和b可以看出有明顯的風格區(qū)別,a的風格更為偏向于漫畫,插畫,版畫的畫風;而b的風格偏向于現(xiàn)實圖片。這點可能和訓練數(shù)據(jù)有關,BriVL模型的數(shù)據(jù)來自于互聯(lián)網(wǎng)爬取的圖文數(shù)據(jù),可能互聯(lián)網(wǎng)數(shù)據(jù)中現(xiàn)實圖片數(shù)量更大。我們也可以發(fā)現(xiàn),a中的生成圖片更有『拼接感』,比如從『自然(nature)』生成的圖片中就可以很明顯地看出這一點;而b生成的圖片則更為自然,有種渾然天成的感覺。這一點同樣可能和數(shù)據(jù)集有關,采用弱語義圖文數(shù)據(jù)集,某個文本實體概念并不是一定配對某個視覺實體概念,而是可能更為抽象的一個概念,而CLIP則不然,因此基于CLIP生成的圖片則更具有拼接感。

Fig 2.3 一些實際概念的文本生成圖片的結果,這些概念在實際生活中是存在的(或抽象或具象)。圖a是利用CLIP進行生成;圖b是利用BriVL進行生成。

而對于某些現(xiàn)實生活中不存在的概念,比如『火海(blazing sea)』『夢魘(horrible nightmare)』『天空之城(castle in the clouds)』『月宮(palace on the moon)』,BriVL模型同樣有著不錯的圖像生成表現(xiàn),如Fig 2.4所示。這一點很驚艷,因為這意味著模型從某種程度上理解了抽象概念,而不是去從海量數(shù)據(jù)里面擬合數(shù)據(jù),顯然這些虛擬概念在互聯(lián)網(wǎng)數(shù)據(jù)中出現(xiàn)的概率遠遠小于真實圖片(當然可能也有一定數(shù)量,但是根據(jù)筆者個人理解,虛擬的圖片合成顯然比真實圖片生成困難,因此數(shù)量會比真實圖片顯著少很多)

Fig 2.4 利用BriVL模型對一些現(xiàn)實生活中不存在的概念進行文本到圖片的生成。

這是這篇文章筆者比較驚艷的部分,而對于指標數(shù)據(jù)上的消融對比實驗,讀者可以自行去查看原論文,總得來說,采用了Self-Attention的圖片編碼器,并且采用MoCo機制去訓練對比學習模型,能取得比較好的指標提升。

筆者讀后感就筆者看來,本文體現(xiàn)了『海量數(shù)據(jù)+大算力+對比學習』暴力美學的強大力量,所謂大力出奇跡,通過從互聯(lián)網(wǎng)中挖掘海量的弱標注,弱語義相關圖文數(shù)據(jù),并且通過大規(guī)模對比學習進行訓練,可以讓模型學習到很不錯的多模態(tài)語義理解能力。這種趨勢看來,未來也許會出現(xiàn)所謂的『人工智能壟斷』,因為這樣海量的數(shù)據(jù)儲存,挖掘和大算力(比如說100+的A100算力,而單卡A100價格高達7萬,更別提其他外設,比如內存,CPU,磁盤等),為了訓練一次這樣的模型,需要的成本可能數(shù)以十萬百萬計,再加上調試時間成本,小公司的盈利和現(xiàn)金流很難hold住這樣的成本,更別說小型的研究機構了。數(shù)據(jù)成本加上訓練成本門檻過高,也許將會導致未來只有大型公司或者大型研究機構才能入場。

Reference

[1]. https://fesian.blog.csdn.net/article/details/120364242

[2]. Fei, Nanyi, Zhiwu Lu, Yizhao Gao, Guoxing Yang, Yuqi Huo, Jingyuan Wen, Haoyu Lu et al. “WenLan 2.0: Make AI Imagine via a Multimodal Foundation Model.” arXiv preprint arXiv:2110.14378 (2021).

[3]. Huo, Yuqi, Manli Zhang, Guangzhen Liu, Haoyu Lu, Yizhao Gao, Guoxing Yang, Jingyuan Wen et al. “WenLan: Bridging vision and language by large-scale multi-modal pre-training.” arXiv preprint arXiv:2103.06561 (2021).

[4]. He, K., Fan, H., Wu, Y., Xie, S., & Girshick, R. (2020). Momentum contrast for unsupervised visual representation learning. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 9729-9738).

[5]. Cui, Y. et al. Revisiting pre-trained models for chinese natural language processing. In Conference on Empirical Methods in Natural Language Processing: Findings, 657{668 (2020).

[6]. Esser, P., Rombach, R. & Ommer, B. Taming transformers for high-resolution image synthesis. arXiv preprint arXiv:2012.09841 (2020).

[7]. Radford, A., Kim, J. W., Hallacy, C., Ramesh, A., Goh, G., Agarwal, S., … & Sutskever, I. (2021). Learning transferable visual models from natural language supervision. arXiv preprint arXiv:2103.00020.

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉載。授權事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 1
收藏 2
關注 52
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧