0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于將 CLIP 用于下游few-shot圖像分類的方案

OpenCV學堂 ? 來源:機器之心 ? 作者:機器之心 ? 2022-09-27 09:46 ? 次閱讀

一.研究背景

對比性圖像語言預訓練模型(CLIP)在近期展現(xiàn)出了強大的視覺領域遷移能力,可以在一個全新的下游數(shù)據(jù)集上進行 zero-shot 圖像識別。為了進一步提升 CLIP 的遷移性能,現(xiàn)有方法使用了 few-shot 的設置,例如 CoOp 和 CLIP-Adapter,即提供了少量下游數(shù)據(jù)集的訓練數(shù)據(jù),使得 CLIP 能夠更好的針對不同的視覺場景做出調整。但是,這種額外的訓練步驟會帶來不小的時間和空間資源開銷,一定程度上影響了 CLIP 固有的快速知識遷移能力。因此,我們提出了 Tip-Adapter,一種不需要額外下游訓練并且能很大程度提升 CLIP 準確率的 few-shot 圖像分類方法?;诖耍覀冇痔岢隽艘环N僅需要少量微調就能達到 state-of-the-art 性能的方案:Tip-Adapter-F,實現(xiàn)了效率和性能的最佳折中。如下表 1 所示,Tip-Adapter 不需要任何訓練時間,即可以將 CLIP 在 ImageNet 數(shù)據(jù)集提升 + 1.7% 準確率(Accuracy),而 Tip-Adapter-F 僅需要之前方案十分之一的訓練時間(Epochs,Time),就可以實現(xiàn)現(xiàn)有最佳的分類性能。

1843f9d4-3dae-11ed-9e49-dac502259ad0.png

表 1:不同方案在 ImageNet 數(shù)據(jù)集上 16-shot 的圖像分類準確率和訓練時間的比較

二.研究方法

1.Tip-Adapter

Tip-Adapter 的整體網(wǎng)絡結構如下圖 1 所示,對于給定的 few-shot 訓練數(shù)據(jù)集和標簽,我們借助 CLIP 通過一個非訓練的方案來構建一個緩存模型(Cache Model),它存儲了來自下游訓練數(shù)據(jù)的分類知識;在測試時,Tip-Adapter 通過將 Cache Model 的預測和原始 CLIP 的預測進行線性加和,來得到更強的最終分類結果。

詳細的來說,我們使用 CLIP 預訓練好的視覺編碼器(Visual Encoder)來提取 few-shot 訓練集所有圖片的特征,作為 Cache Model 的 Keys;并且將對應的圖片標簽轉化為 one-hot 編碼的形式,作為 Cache Model 的 Values。這種 Key-Value Cache Model 的構建方法由于使用的是已經預訓練好的 Visual Encoder,所以不需要任何訓練開銷;并且考慮到 few-shot 訓練集中,每一個類別只含有少量的圖片(1~16 shots),Cache Model 也幾乎不會占用額外的顯存開銷,參考表一中的 GPU Mem. 指標。

對于一張測試圖片,我們首先會利用 CLIP 的 Visual Encoder 來得到它的特征,再將該特征視為 Query 去 Cache Model 中進行下游 few-shot 數(shù)據(jù)的知識檢索。由于 Keys 也是由 CLIP 的 Visual Encoder 提取得倒,因此和測試圖片特征 Query 同源,我們可以直接計算它們之間的余弦相似度得倒一個 Key-Query 的鄰接矩陣,此矩陣可以看作是每一個對應 Value 的權重。因此,我們可以計算 Values 的加權和來得到該測試圖像通過檢索 Cache Model 得到的分類預測。除此之外,我們還可以通過將測試圖片特征和 CLIP 的 Textual Encoder 文本特征進行匹配,來得到 CLIP 的 zero-shot 預測。通過將兩者進行線性加權求和,我們得到了最終的分類預測,該預測既蘊含了 CLIP 預訓練的圖像語言對比性知識,也結合了下游新數(shù)據(jù)集的 few-shot 知識,因此可以實現(xiàn)更強的圖像分類準確率。

基于 Tip-Adapter 的網(wǎng)絡結構,我們可以進一步將 Cache Model 中的 Keys 部分變?yōu)閷W習參數(shù),即可以通過訓練來進行更新,該方案為 Tip-Adapter-F。借助已經構建好的 Cache Model,Tip-Adapter-F 僅需要現(xiàn)有 CLIP-Adapter 十分之一的訓練回合數(shù)和時間,就可以實現(xiàn)更高的性能,如表一所示。

18541486-3dae-11ed-9e49-dac502259ad0.png

圖 1:Tip-Adapter 和 Tip-Adapter-F 的網(wǎng)絡流程圖

2.Tip-Adapter 和現(xiàn)有方案的區(qū)別與聯(lián)系

對比 CLIP-Adapter,如圖 2 所示,Tip-Adapter 存儲的 Keys 和 Values 其實可以分別對應于 CLIP-Adapter 中 adapter 結構的兩個線性層,只不過前者是不需要訓練來構建的,后者是隨機初始化,然后需要訓練來學習最佳的參數(shù)。

1868c3e0-3dae-11ed-9e49-dac502259ad0.png

圖 2:Tip-Adapter 相比于 CLIP-Adapter

對比現(xiàn)有的其他構建 Cache Model 的方案,如圖 3 所示,Tip-Adapter 的 Cache Model 可以看作是一種多模態(tài)的視覺語言 Cache。因為 CLIP 的 Textual Encoder 輸出的特征可以看作是文本的 Key-Value,即相當于測試圖片特征作為 Query,分別在視覺和文本的 Cache 中檢索知識,相對于現(xiàn)有的僅含視覺 Cache 的方案,Tip-Adapter 能夠利用多模態(tài)知識得到更強的識別性能。

187a8f08-3dae-11ed-9e49-dac502259ad0.png

圖 3:Tip-Adapter 相比于其他構建 Cache Model 的方案

三.實驗結果

1. 在 ImageNet 的分類準確率

圖 4 和表 2 比較了 Tip-Adapter、Tip-Adapter-F 和現(xiàn)有各個方案在 1、2、4、8、16 shots 的 few-shot 圖像分類準確率;表 3 比較了 16-shot ImageNet 數(shù)據(jù)集上使用不同 CLIP 的 Visual Encoder 的準確率比較??梢?,我們的兩種方案都在資源開銷很小的情況下,達到了非常卓越的性能。

18858e6c-3dae-11ed-9e49-dac502259ad0.png

18963faa-3dae-11ed-9e49-dac502259ad0.png

圖 4 和表 2:ImageNet 數(shù)據(jù)集上不同方法的 1~16-shot 圖像分類準確率比較

18a759f2-3dae-11ed-9e49-dac502259ad0.png

表 5:16-shot ImageNet 上不同 CLIP 的 Visual Encoder 的圖像分類準確率比較

2. 在另外 10 個圖像分類數(shù)據(jù)集

如圖 5 所示,我們提供了另外 10 個圖像分類數(shù)據(jù)集的準確率比較結果,分別是 StandfordCars,UCF101,Caltech101,F(xiàn)lowers102,SUN397,DTD,EuroSAT,F(xiàn)GVCAircraft,OxfordPets 和 Food101。如圖所示,我們的 Tip-Adapter-F 均取得了最高的識別準確率。

18b57226-3dae-11ed-9e49-dac502259ad0.png

18dce2a2-3dae-11ed-9e49-dac502259ad0.png

圖 5:另外 10 個數(shù)據(jù)集上不同方法的 1~16-shot 圖像分類準確率比較

3. 領域泛化能力的測評

我們也測試了 Tip-Adapter 和 Tip-Adapter-F 在領域泛化(Domain Generalization)方面的表現(xiàn)。如表 6 所示,我們的兩種方案都表現(xiàn)出了很強的魯棒性以及特征遷移能力。

18e95c08-3dae-11ed-9e49-dac502259ad0.png

四.結論

本文提出了 Tip-Adapter,一種可以免于訓練的將 CLIP 用于下游 few-shot 圖像分類的方案。Tip-Adapter 通過構建一個 Key-Value Cache Model,來作為測試圖片 Query 的知識檢索庫,并通過融合 Cache Model 的預測和 CLIP 的 zero-shot 預測,來得到更強的識別性能。我們期望 Tip-Adapter 可以啟發(fā)更多預訓練模型高效遷移的后續(xù)工作。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 圖像識別
    +關注

    關注

    9

    文章

    514

    瀏覽量

    38149
  • Clip
    +關注

    關注

    0

    文章

    30

    瀏覽量

    6611
  • 訓練模型
    +關注

    關注

    1

    文章

    35

    瀏覽量

    3781

原文標題:ECCV 2022 | 無需下游訓練,Tip-Adapter大幅提升CLIP圖像分類準確率

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    深度學習:小樣本學習下的多標簽分類問題初探

    本多標簽分類問題。對于多標簽分類的SOTA方法往往會先估計標簽-樣本相關性得分,然后使用閾值來選擇多個關聯(lián)的標簽。 為了在只有幾個樣本的Few-shot場景下確定合適的閾值,我們首先在數(shù)據(jù)豐富的多個領域上學習通用閾值設置經驗,然
    的頭像 發(fā)表于 01-07 14:51 ?6813次閱讀

    膠囊網(wǎng)絡在小樣本做文本分類中的應用(下)

    論文提出Dynamic Memory Induction Networks (DMIN) 網(wǎng)絡處理小樣本文本分類。 兩階段的(two-stage)few-shot模型: 在監(jiān)督學習階段(綠色的部分
    的頭像 發(fā)表于 09-27 17:46 ?2056次閱讀
    膠囊網(wǎng)絡在小樣本做文本<b class='flag-5'>分類</b>中的應用(下)

    樣本量極少可以訓練機器學習模型嗎?

    本文首先介紹了用小樣本訓練模型會導致的問題,再介紹了Few-Shot Learning的基本原理即三大思路下的方法。
    的頭像 發(fā)表于 06-23 15:02 ?6716次閱讀

    介紹兩個few-shot NER中的challenge

    此部分著重介紹了兩個few-shot NER中的challenge:limited information challenge和knowledge mismatch challenge。前者主要是指
    的頭像 發(fā)表于 08-24 10:01 ?764次閱讀

    Few-shot NER的三階段

    Few-shot NER的三階段:Train、Adapt、Recognize,即在source域訓練,在target域的support上微調,在target域的query上測試。
    的頭像 發(fā)表于 08-24 16:12 ?1279次閱讀

    介紹一個基于CLIP的zero-shot實例分割方法

    CLIP是近年來在多模態(tài)方面的經典之作,得益于大量的數(shù)據(jù)和算力對模型進行預訓練,模型的Zero-shot性能非??捎^,甚至可以在眾多數(shù)據(jù)集上和有監(jiān)督訓練媲美。
    的頭像 發(fā)表于 10-13 09:13 ?4516次閱讀

    語言模型性能評估必備下游數(shù)據(jù)集:ZeroCLUE/FewCLUE與Chinese_WPLC數(shù)據(jù)集

    零樣本學習是AI識別方法之一。簡單來說就是識別從未見過的數(shù)據(jù)類別,即訓練的分類器不僅僅能夠識別出訓練集中已有的數(shù)據(jù)類別, 還可以對于來自未見過的類別的數(shù)據(jù)進行區(qū)分。小樣本學習(Few-shot Learning)是解決在極少數(shù)據(jù)情況下的機器學習問題展開的評測。
    的頭像 發(fā)表于 03-27 11:38 ?1273次閱讀

    基于GLM-6B對話模型的實體屬性抽取項目實現(xiàn)解析

    Zero-shot、One-shot以及Few-shot讓人傻傻分不清,讀了很多文章,也沒搞清楚他們的差別,究竟什么叫zero-shot,其在應用過程中的no gradient upd
    的頭像 發(fā)表于 03-28 10:11 ?6666次閱讀

    邁向多模態(tài)AGI之開放世界目標檢測

    OVD的基礎概念:OVD的使用主要涉及到 few-shot 和 zero-shot兩大類場景,few-shot是指有少量人工標注訓練樣本的目標類別,zero-shot則是指不存在任何人
    的頭像 發(fā)表于 06-15 16:08 ?632次閱讀
    邁向多模態(tài)AGI之開放世界目標檢測

    基于多任務預訓練模塊化提示

    Few-shot 場景時,PT 的調優(yōu)方法還是存在一定的局限性。針對這個問題, 復旦提出了多任務預訓練模塊化 Prompt(簡稱為:),來提高模型在 Few-shot 場景下的 PT 效果,使模型能夠快速適應下游
    的頭像 發(fā)表于 06-20 11:04 ?596次閱讀
    基于多任務預訓練模塊化提示

    APE:對CLIP進行特征提純能夠提升Few-shot性能

    CLIP是一個通用的模型,考慮到下游數(shù)據(jù)分布的差異,對某個下游任務來說,CLIP提取的特征并不全是有用的,可能包含一部分冗余或噪聲。因此,在這篇文章中,我們首先提出一種特征提純的方法,
    的頭像 發(fā)表于 07-19 14:19 ?1492次閱讀
    APE:對<b class='flag-5'>CLIP</b>進行特征提純能夠提升<b class='flag-5'>Few-shot</b>性能

    在英特爾開發(fā)套件上用OpenVIN實現(xiàn)中文圖文檢索

    embedding,根據(jù)特征相似度匹配可完成圖像分類和相似查找任務。CLIP 模型的 zero-shot 分類效果就能達到在 Imagen
    的頭像 發(fā)表于 10-27 11:06 ?657次閱讀
    在英特爾開發(fā)套件上用OpenVIN實現(xiàn)中文圖文檢索

    如何利用CLIP 的2D 圖像-文本預習知識進行3D場景理解

    自我監(jiān)督學習的目的是獲得有利于下游任務的良好表現(xiàn)。主流的方法是使用對比學習來與訓練網(wǎng)絡。受CLIP成功的啟發(fā),利用CLIP的預訓練模型來完成下游任務引起了廣泛的關注。本文利用
    的頭像 發(fā)表于 10-29 16:54 ?1170次閱讀
    如何利用<b class='flag-5'>CLIP</b> 的2D <b class='flag-5'>圖像</b>-文本預習知識進行3D場景理解

    基于AX650N+CLIP的以文搜圖展示

    能否有一種“識別萬物”的圖像識別大模型呢?今天就借此機會,通過實操來重溫下由OpenAI在2021年初發(fā)布的Zero-Shot視覺分類模型CLIP,并移植到愛芯派Pro上實現(xiàn)簡單的以圖
    的頭像 發(fā)表于 11-01 16:44 ?1183次閱讀
    基于AX650N+<b class='flag-5'>CLIP</b>的以文搜圖展示

    基于顯式證據(jù)推理的few-shot關系抽取CoT

    最近,上下文學習策略已被證明在沒有訓練的情況下顯示出顯著的結果。很少有研究利用上下文學習進行zero-shot信息提取。不幸的是,推理的證據(jù)在思維鏈提示的構建過程中沒有被考慮或隱式建模。
    的頭像 發(fā)表于 11-20 17:44 ?648次閱讀
    基于顯式證據(jù)推理的<b class='flag-5'>few-shot</b>關系抽取CoT