從隱空間認(rèn)識CLIP多模態(tài)模型
1 前言
AIGC可生成的內(nèi)容形式包含文本( 文句)、圖像、音頻和視頻。它能將文本中的語言符號信息或知識,與視覺中可視化的信息( 或知識) 建立出對應(yīng)的關(guān)聯(lián)。兩者互相加強,形成圖文并茂的景象,激發(fā)人腦更多想象,擴大人們的思維空間。其中,最基礎(chǔ)的就是文本(Text) 與圖像(Image) 之間的知識關(guān)聯(lián)。本篇來介紹文本與圖像的關(guān)聯(lián),并以CLIP 模型為例,深入介紹多模態(tài)AIGC 模型的幕后架構(gòu),例如隱空間(Latent space) 就是其中的關(guān)鍵性機制。
2 簡介CLIP模型
在2020 年,OpenAI 團隊提出了CLIP,它是典型的多模態(tài)(Multi-modal) 機器學(xué)習(xí)模型。OpenAI 從互聯(lián)網(wǎng)上找到大量的文本(Text) 與圖像(Image) 的配對,可以用來訓(xùn)練CLIP 模型,然后讓CLIP 進行其預(yù)測任務(wù),即是輸入1 張圖像,然后預(yù)測出哪一個文本與它是配對的。
CLIP 的目標(biāo)是透過大量圖片及文字描述,建立兩者間的對應(yīng)關(guān)系。其做法是利用ResNet50 等來萃取圖像的特征,并映射到隱空間(Latent space)。也就是將圖像編碼成為隱空間向量。
同時,也利用Transformer 萃取與圖像相配對文句的特征,并將文句編碼成為隱空間向量。最后經(jīng)由模型訓(xùn)練來逐漸提高兩個向量的相似度。換句話說,CLIP能將圖像和文句映像到同一個隱空間,因此可以迅速計算圖像與文句的相似度。
CLIP 模型學(xué)習(xí)整個文句與其對應(yīng)的圖像之間的關(guān)系。當(dāng)我們在整個文句上訓(xùn)練時,模型可以學(xué)到更多的潛在的東西,并在圖像和文句之間找到一些規(guī)律。值得留意的是,在訓(xùn)練CLIP 模型時,我們輸入的是整個文句,而不是像貓、狗、汽車、電影等單一類別而已。
3 CLIP的基本架構(gòu)
CLIP 的核心設(shè)計概念是,把各文句和圖像映射到隱空間里的一個點( 以向量表示)。針對每一個文句和圖像都會提取其特征,并映射到這個隱空間里的某一點。然后經(jīng)由矩陣運算,來估計它們之間的相似度,如圖1。
圖1 CLIP的基本概念(來源:https://openai.com/research/clip)
在訓(xùn)練CLIP 模型的過程中,會不斷調(diào)整各點的位置( 在隱空間里),以表達(dá)出它們之間的相似度。CLIP在整合文句與圖像兩種模態(tài)上有突破性的表現(xiàn)。一旦訓(xùn)練完成之后,就可以對新圖像進行預(yù)測了,亦即預(yù)測出一個文本與它是配對的。例如,輸入1 張新圖像,經(jīng)由圖像編碼器( 如ResNet50) 來提取這張圖象的特征,然后映射到隱空間里的一個新的點。
然后經(jīng)由矩陣運算,即可預(yù)測出它與我們所給的一些文句的相似度,就可以得到預(yù)測值了。此外,CLIP也能輸入描述文句來找到相對應(yīng)的圖像。
4 圖解CLIP的空間對映
茲以中藥材的CLIP為例,例如有4 張中藥材的圖像,以及其對應(yīng)的文句,或單詞( 圖2)。
圖2 中藥名字對應(yīng)的圖片
這里的文本與圖像之間的對應(yīng)關(guān)聯(lián),可以是人們給予的,也可以是從互聯(lián)網(wǎng)頁的數(shù)據(jù)而得來的。那么CLIP模型就來建立這些關(guān)聯(lián)性。
在前面已經(jīng)說明了,CLIP會利用ResNet50等模型來協(xié)助提取各圖像的特征,并將各圖像( 隨機) 對映到隱空間( 即數(shù)學(xué)上歐式空間) 的點。同時,也使用Transformer模型來幫助提取個文句的特征,并將各文本( 隨機) 對映到隱空間的點( 圖3)。
圖3 將中藥名字和圖像對應(yīng)到隱空間中
這就是空間對映(Space mapping),意味著從可觀察空間( 即上圖里的圖像和文句空間) 對映到隱空間。
5 展開訓(xùn)練
在進行訓(xùn)練的過程中逐漸地修正CLIP 模型里的參數(shù)( 如weight 和bias 值),也就是逐漸地調(diào)整隱空間里各點的位置( 坐標(biāo)),來呈現(xiàn)出這些點之間的相似性(Similarity)。例如,在隱空間里,我們可以讓愈相似的點,會愈相互靠近( 圖4)。
圖4 隱空間訓(xùn)練過程
以上訓(xùn)練完成了。其智能表達(dá)于模型里的參數(shù)( 如weight和bias) 值里。雖然人們可以理解文本和圖像的涵意,但并無法理解模型里的參數(shù),以及所計算出的隱空間向量的涵意,所以才稱為隱藏性空間,或稱黑箱(Block-box)。
6 預(yù)測范例1:從圖像找文本
在剛才的訓(xùn)練過程中,CLIP 已經(jīng)持續(xù)調(diào)整各筆數(shù)據(jù)( 如文本和圖像) 的其隱空間里的位置( 以隱空間向量表示),來表達(dá)其所蘊含的關(guān)聯(lián)性。一旦訓(xùn)練完成了,就能進入預(yù)測或推理的階段了。
例如,拿來1 張新圖像輸入給CLIP,它就( 要求ResNet50 等) 來幫忙提取這新圖像的特征,并依據(jù)其所訓(xùn)練出來的參數(shù)( 即weight 和bias) 值,而計算( 對映)出這個新點在隱空間里的位置( 圖5)。
圖5 計算新點在隱空間里的位置
由于這張新圖像的特征與左邊第3 張( 由上而下)圖像特征很接近,也就意味著這兩張圖象很相似,所以在潛藏空間里兩者會很靠近。如此,計算出這個新點與其他各點之相似度,然后挑出相似性最高的文本是:枸杞( 圖6)。于是,就順利完成從圖像關(guān)連到文本的任務(wù)了。
圖6
7 預(yù)測范例2:從文本找圖像
剛才的范例是:從圖找文。CLIP 還可以提供:從文找圖。例如,拿來一個新文句輸入給CLIP,它就(要求Transformer 等) 來幫忙提取這新文句的特征,并依據(jù)其所訓(xùn)練出來的參數(shù)(即weight 和bias) 值,而計算(對映) 出整潛藏空間里這個新點的位置。接著,計算出這點與其他各點之相似度,然后挑出相似性最高的圖像( 圖7)。
圖7
由于CLIP 幕后有Transformer 預(yù)訓(xùn)練模型來幫忙,可以發(fā)現(xiàn)”寧夏枸杞”與”銀川枸杞”兩個文本很相似,就找出與”銀川枸杞”相對應(yīng)( 即相似性高) 圖像了。
8 結(jié)束語
在互聯(lián)網(wǎng)上,CLIP 可以找到非常大量的圖像,以及描述這些圖像的文字,而且涵蓋各行各業(yè),非常廣泛,使得CLIP 成為一項通用性極高的雙模態(tài)AIGC 模型。
(本文來源于《電子產(chǎn)品世界》雜志2023年5月期)
評論