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