自监督和语言监督我全都要?Facebook多模态预训练模型SLIP给你答案!
?作者 | 殘血的三井壽
今天分享的文章是 Facebook AI Reserach(FAIR)發布在 arxiv 的文章“SLIP: Self-supervision meets Language-Image Pre-training”。
論文鏈接:
https://arxiv.org/pdf/2112.12750.pdf
代碼鏈接:
https://github.com/facebookresearch/SLIP
Motivation
現有的工作(SimCLR,MOCO 等)已經證明自監督預訓練在視覺理解方面可以取得很好的效果。CLIP 將文本作為監督信號,對模型進行預訓練,從而取得了不錯的效果。如果將自監督和語言監督結合起來,能否取得加成的效果呢?FAIR 提出工作 SLIP 將自監督與語言監督結合起來,進行預訓練,在下游任務上取得了不錯的效果。
隨著深度學習的發展,預訓練取得了很好的效果。在計算機視覺領域,預訓練主要分為基于監督學習的預訓練以及基于自監督學習的預訓練。在 AlexNet 以后,研究者發現在大規模有標注數據集下對模型進行預訓練,模型在下游任務可以取得很好的效果。自監督的預訓練首先在自然語言理解領域取得很好的進展,但是在視覺領域也有很多的應用。自監督預訓練可以不需要大量的標注數據依然可以取得很好的效果。
CLIP 提出了一種新穎的表示學習方式,提出了一種在監督學習和自監督學習之間的形式,CLIP 僅僅需要圖片以及圖片對應的文本信息,利用對比學習的思路,對模型進行預訓練。
在 SLIP 工作中,作者想探索的問題是“在語言監督的前提下,圖片本身的自監督是否可以提升模型的效果?在圖像本身自監督的前提下,語言監督是否會提升效果?”目前尚且不清楚這兩種訓練目標是否可以同時增強。
作者使用三種檢測方法測試 SLIP 的圖片表示能力,分別是:零樣本學習方式,線形探測方式以及端到端的 finetune 方式。
模型方法
SLIP 沒有利用標注信息,結合了語言監督以及圖片自監督方法學習視覺表示。作者使用同一個圖像的 encoder,由自監督 loss 和語言監督 loss 同時對該 encoder 進行更新。
1. 對比學習圖片-文本預訓練:
CLIP 將圖片-文本對作為輸入,利用對比學習更新視覺 encoder。CLIP 首先使用文本編碼器以及視覺編碼器編碼視覺信息與文本信息,之后將視覺 embedding 與文本 embedding 經過一個 projector 映射到統一的向量空間中。之后將原本的圖片文本對視為正例,將不同的圖片文本對之間的圖片與文本視為負例,通過 InfoNCE 更新模型的參數。
基于圖片-文本對的對比學習方法使得模型可以進行零樣本的圖像分類。
2. 視覺自監督學習:
視覺自監督學習方法首先將圖片進行數據增強得到圖片的兩個增廣,之后將相同圖片的數據增廣結果視為正例,將不同圖片之間的數據增廣視為負例,通過 infoNCE 拉近正例之間的距離,拉遠正例和負例之間的距離。
模型算法如下圖所示:
算法的想法很簡單易懂。輸入為圖片-文本對。首先對圖片進行數據增廣,之后對增廣后的圖片輸入到自監督的 SimCLR 模型中,得到自監督的 loss。將圖片-文本對輸入到 CLIP 中,得到語言間的 loss,之后將兩個 loss 加權求和,得到最終的 loss。
實現細節:
數據集:數據集 YFCC100M 的子集,該子集中包含圖片-英文描述文本對。可以稱之為 YFCC15M 數據集。我們同樣使用 CC3M 和 CC12M 評估該模型。
數據增強:對于文本,作者選取每張圖片的文章標題或者標注作為文本。對于 CLIP 方法,對圖片進行 50% 到 100% 的縮放。對于自監督方法,使用的數據增強方法與 MOCO v3 一致。
backbone:對于視覺信息,使用 VIT-S 作為編碼器,對于文本信息,使用 trasformer 作為編碼器。
zero-shot 實驗:直接將預訓練后的模型用于實驗,使用文本監督的方法(CLIP,SLIP)可以直接將與圖片最相關的文本作為圖片的類別,所以可以進行 zero-shot 實驗。
Linear classification(Linear probing)實驗:將預訓練好的模型凍結,之后再在后面加入分類層,僅僅更新分類層的參數,而不更新其他的參數。
end-to-end finetune 實驗:將整個 encoder 和 classifer 進行參數更新。
實驗分析
1. ImageNet Classification:一般情況下的自監督方法都是在無標注的 ImageNet 數據集上進行預訓練,之后再使用有標注的 ImageNet 對模型進行微調整。本文作者嘗試在 YFCC15M 數據集上對 SimCLR 和 MOCO v3 進行預訓練,之后在 ImageNet 數據集對模型進行微調。
實驗結果表明使用 YFCC15M 數據集進行預訓練后,模型性能下降很多。
作者使用 CLIP,SimCLR 以及 SLIP 在 ImageNet 數據集上進行實驗。發現 SLIP 的效果是最好的。
2. 參數實驗:
作者使用不同參數量的 ViT 進行實驗,同時使用更多的 Epoch 進行實驗,得到結果。可以發現隨著模型參數量增多,以及模型的訓練時間增強,模型的效果會越來越好。
3. 其他的 benchmark:
作者使用 zero-shot 的方法在其他 benchmark 上進行實驗。
4. 其他預訓練數據集實驗:
作者使用其他預訓練數據集進行實驗。
5. 使用其他自監督方法進行實驗:
作者更換了自監督方法 SimCLR,使用其他自監督方法進行實驗。
特別鳴謝
感謝 TCCI 天橋腦科學研究院對于 PaperWeekly 的支持。TCCI 關注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝?稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的自监督和语言监督我全都要?Facebook多模态预训练模型SLIP给你答案!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开阳县汽车学校?
- 下一篇: 奇瑞qq发动机号在哪里 寻找奇瑞qq发动