CLIP:Contrastive Language-Image Pre-training
論文名稱:Learning Transferable Visual Models From Natural Language Supervision
原論文地址:https://arxiv.org/abs/2103.00020
開源預訓練模型:https://github.com/OpenAI/CLIP
GLIP論文名稱:Grounded Language-Image Pre-training
原論文地址: https://arxiv.org/abs/2112.03857
是的沒錯,開篇必須說點啥是我的特色,大連疫情了,整個假期啥事沒有,一開學就疫情,另外才知道發(fā)核心才能畢業(yè)哦呵呵呵,我笑噶了。本文介紹兩篇論文,目標抓緊開題!
目錄
1. CLIP干啥的
2. GLIP
2.1 怎么將兩個任務相結合的
2.2 預訓練數(shù)據(jù)集
2.3?模型總體框架
3. 升級版:GLIPV2
1. CLIP干啥的
?
1.1 CLIP如何進行預訓練
CLIP就是用對比學習的方式,去訓練一個視覺語言的多模態(tài)模型。模型的輸入是一個圖片和文字的配對,比如這里圖片畫的是一只狗,那么配對的文字是一只小狗,圖片通過一個圖片編碼器(Resnet或者vision transformer),從而得到了一些特征,文字通過文本編碼器,從而得到一些文本的特征,假設說,每個training betch里都有N個這樣的圖片文本對,那個我們就可以得到N個這種圖片的特征,N個文本的特征,CLIP就是在這些特征上去做對比學習,對比學習就非常的靈活,他只需要一個正樣本和負樣本的定義,那么如圖,配對的一個圖片文本對就是正樣本,也就是圖中紅框框起來的,因為他描述的是一個東西。那么剩下這個矩陣中所有不是對角線上的元素,都是負樣本,也就是說,這里有N個正樣本,有-N個負樣本。然后模型就可以通過對比學習方式訓練起來了,完全不需要任何手工的標注,對于這種無監(jiān)督的預訓練方式,需要大量的數(shù)據(jù),那么作者搞了4個億的數(shù)據(jù)集...好嘛
1.2?CLIP如何來做zero shot的推理
因為CLIP模型經(jīng)過預訓練之后只能得到視覺上和文本上的這些特征,并沒有在任何分類的任務上,做繼續(xù)的訓練或者微調(diào),所以說他沒有這么一個分類頭,那么沒分類頭如何推理:
prompt template:用 Image Net舉例,CLIP就是先把Image Net 里這1000各類,飛機,車,狗啥的,變成一個句子,A photo of a?plane,然后這1000個句子通過之前預訓練好的這個文本編碼器得到1000個文本的特征,推理的時候,任何一張圖片通過圖片的編碼器,得到圖片特征之后,與所有的文本特征做cosine similarity,相似性最高的這個文本特征所對應的句子就是我們想要的,從而完成分類。
CLIP這個模型,徹底擺脫了categorical labal(絕對標簽)這個限制,就是不論在訓練的時候還是在推理的時候都不需要一個提前定好的一個標簽的列表了,任意一張照片,都可以通過給模型輸入不同的文本句子,從而知道這張圖片是啥。
2. GLIP
這篇論文做的任務是phrase grounding(利用指定描述的語句進行標定圖片中所顯示的物體),屬于visual grounding(視覺基礎訓練)的一種。phrase grounding的任務是輸入句子和圖片,對于給定的sentence,要定位其中提到的全部物體然后框出來。
對比一下的話,目標檢測是給你一個圖片,把bounding box找出來,visual grounding就是給你一個圖片,再給一個文本,根據(jù)這個文本把物體找出來。此篇文章就是將兩個任務結合,把detection和phrase grounding兩個任務合起來,變成一個統(tǒng)一的框架,來做模型的與訓練,再把尾標簽的一系列方法加進來(self-training),就可以實現(xiàn)在沒有標注過的圖像文本對上生成bounding box標簽。
Zero Shot:給一些標簽或者一句話,通過GLIP模型得到檢測框
2.1 怎么將兩個任務相結合的
對于目標檢測和phrase grounding來說,訓練目標函數(shù)是一個分類的loss加一個定位的loss,其中這個定位的loss兩者差不多,區(qū)別就在于怎么來計算這個分類的loss。
目標檢測的分類loss:給定一個圖片,有一個此圖像的backbone,就可以得到這個region embedding,上圖的這個O就是一個Nxd的region embedding,意思就是假如說有N個bounding box,每個bounding box embedding的維度就是d,然后就是接了一個分類頭,看看每一個bounding box里面的物體到底是哪個類,那么這個分類頭就是一個矩陣W,它的維度就是cxd,c是有多少個類別,然后把region embedding和W相乘之后就可以得到最后這個分類的logic,再用NMS把這些bounding box篩選一下,跟ground truth(正確標記的)算cross entropy loss(交叉熵損失)就能得到最終的這個分類loss。
vision grounding的分類loss:算了一個匹配的分數(shù)S,看圖像中的區(qū)域和句子里的單詞如何匹配,也是給定一個圖片,有一個image backbone,得到這個region embedding,然后給了一個句子prompt,通過一個文本編碼器得到文本的embedding P,之后跟圖像的embedding O 算一下similarity,就可以得到最終的這個分數(shù),
把目標檢測和vision grounding聯(lián)合:判斷什么時候是positive match,什么時候是negative match
2.2 預訓練數(shù)據(jù)集
用已有的數(shù)據(jù)集不夠,想把數(shù)據(jù)集變大,就需要借鑒于unlable的data,引入圖像文本對來增加數(shù)據(jù)集,為了訓練這個的目標檢測模型,必須得有bounding box的ground truth,還需要知道這個bounding box對應于句子里的哪個單詞,所以作者就采取self training,借鑒偽標簽的方式,就是說他拿已經(jīng)訓練好的這個glip-tiny c,直接在這些圖像文本對上做推理,他推理出來當前的圖片上有哪些bounding box,他就把這些bounding box當成ground truth??赡苡绣e誤所以叫做偽標簽,用了之后模型的穩(wěn)健性更好。
2.3?模型總體框架
目標函數(shù)怎么算的:做了一個有監(jiān)督的學習的工作,時時刻刻都是有bounding box annotation,當抽出來O1,O2這些region的時候,是知道跟上面的單詞是一一對應的,這樣在算完這個O和P的這個相似度點乘之后,就可以去跟ground truth來算Alignment Loss,就完成了文本和圖像特征之間的融合,就可以進一步的來做zero shot,對于這個定位的loss來說,因為有ground turth,就直接算一個L-1loss就可以。
Deep Fusion:將文本的特征和圖像的特征抽出來之后,理論上是可以算后面這個相似度矩陣的,但是如果直接這么算的話,這個圖像文本的joint embedding space (聯(lián)合的特征提?。┻€沒學好,如果多加一些層數(shù),讓他們之間融合一下,可能學的更好,相似的概念拉的更近,能讓最后的文本特征和圖像特征更好,更有關聯(lián)性,這樣再算后面的相似度的時候,就更有針對性。具體操作:用cross attention把這個文本和圖像的特征進行交互,
3. 升級版:GLIPV2
論文名稱:GLIPV2:Unifying Localization and VL Understanding
原論文地址:https://arxiv.org/pdf/2206.05836.pdf
卷起來了,他融合了更多的數(shù)據(jù)集,更多的任務,加入了一個VQA(Visual Question Answering)能回答問題了和Image Caption(圖片說明),如圖
文章來源:http://www.zghlxwxcb.cn/news/detail-446648.html
4. 小小總結
數(shù)據(jù)集大力出奇跡,老鼻子數(shù)據(jù),訓練訓練就賊準,發(fā)論文的密碼掌握了文章來源地址http://www.zghlxwxcb.cn/news/detail-446648.html
到了這里,關于CLIP,GLIP論文解讀,清晰明了的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!