重磅干貨,第一時間送達 深度圖像分類模型通常在大型帶注釋數據集上以監督方式進行訓練。盡管模型的性能會隨著更多注釋數據的可用而提高,但用于監督學習的大規模數據集通常難以獲得且成本高昂,需要專家注釋者花費大量時間。考慮到這一點,人們可能會開始懷疑是否存在更便宜的監督資源。簡而言之,是否有可能從已經公開可用的數據中學習高質量的圖像分類模型?OpenAI提出的對比語言圖像預訓練 (CLIP) 模型 [1] 最近由于在DALLE-2模型中的使用而重新流行起來,并且以積極的方式回答了這個問題。特別是,CLIP 提出了一個簡單的預訓練任務——選擇哪個標題與哪個圖像相配——它允許深度神經網絡單獨從自然語言(即圖像標題)中學習高質量的圖像表示。由于圖像-文本對很容易在線獲得并且通常很容易獲得,因此可以輕松地為 CLIP 策劃一個大型預訓練數據集,從而最大限度地減少訓練深度網絡所需的注釋成本和工作量。除了學習豐富的圖像表示之外,CLIP 通過在不觀察單個標簽的情況下在 ImageNet 上實現 76.2% 的測試準確率,徹底改變了零樣本圖像分類——與之前SOTA的零樣本學習框架的11.5% 測試準確率相比有了顯著改進[2]。通過將自然語言作為圖像感知任務的可行訓練信號,CLIP 改變了監督學習范式,并使神經網絡能夠顯著減少對注釋數據的依賴。在這篇文章中,我將概述 CLIP 的細節,如何使用它來最大程度地減少對傳統監督數據的依賴,以及它對深度學習的影響。
在了解 CLIP 的細節之前,了解模型提出之前的相關研究很有必要。在本節中,我將概述先前相關的工作,并提供有關 CLIP 的靈感和發展的直覺。即,通過初步工作表明自然語言是圖像感知監督的有用來源來證明概念。然而,由于此類方法相對于替代方法(例如,監督訓練、弱監督等)表現不佳,因此在 CLIP 提出之前,通過自然語言進行的訓練仍然不常見。
使用 CNN 預測圖像說明。先前的工作表明,預測圖像說明允許 CNN 開發有用的圖像表示 [3]。這種分類是通過將每個圖像的標題、描述和主題標簽元數據轉換為詞袋向量來執行的,然后可以將其用作多標簽分類任務的目標。有趣的是,以這種方式學習的特征與通過 ImageNet 預訓練獲得的特征的質量相匹配,從而證明圖像說明提供了關于每張圖像的足夠信息以學習判別表示。 后來的工作將這種方法擴展到預測與每個圖像相關的短語 [2],從而實現到其他分類數據集的零樣本遷移。盡管這種方法的零樣本性能很差(即在 ImageNet 上的測試準確率為 11.5%),但它表明僅使用自然語言就可以產生遠遠超過隨機性能的零樣本圖像分類結果,從而初步證明弱監督零樣本分類的概念。來自帶有Transformer的文本的圖像表示。同時,幾項工作——包括 VirTex [4]、ICMLM [5] 和 ConVIRT [6]——探索了使用Transformer架構從文本數據中學習視覺特征。在高層次上,此類方法使用常見的訓練任務讓Transformer從相關的圖像說明中學習有用的圖像表示。作為此類工作的結果,掩碼語言建模(MLM)、語言建模和對比學習目標——通常用于在自然語言處理領域訓練轉換器——被發現是學習高質量圖像表示的有用代理任務。為未來的發現鋪平道路盡管以前的方法沒有在大規模數據集上實現令人印象深刻的零樣本性能,但這些基礎工作提供了有用的經驗教訓。也就是說,之前的工作明確兩點:1.自然語言是計算機視覺監督的有效來源。2.通過自然語言監督進行零樣本分類是可能的。由于這些發現,進一步的研究工作被投入到在監督來源較弱的情況下執行零樣本分類。這些努力產生了突破性的方法,例如 CLIP,它將自然語言監督從一種罕見的方法轉變為一種出色的零樣本圖像分類方法。
 CLIP 架構和訓練方法的可視化概述簡而言之,上圖中總結的 CLIP 模型旨在從相關圖像說明中學習圖像中的視覺概念。在本節中,我將概述 CLIP 架構、其訓練以及生成的模型如何應用于零樣本分類。
CLIP 由兩個編碼器模塊組成,分別用于對文本和圖像數據進行編碼。對于圖像編碼器,探索了許多不同的模型架構,包括五個不同大小的 ResNets [7](即,模型尺寸是使用 EfficientNet 樣式 [8] 模型縮放規則確定的)和三個視覺Transformer架構 [9]。圖像編碼器的這兩個選項如下所示。然而,CLIP 的視覺Transformer變體在訓練時的計算效率提高了 3 倍,使其成為首選的圖像編碼器架構。 CLIP 中圖像編碼器架構的不同選項 CLIP 中的文本編碼器只是一個僅解碼器的Transformer,這意味著在每一層中都使用了Masked的自注意力(與雙向自注意力相反)。Masked的自注意力確保Transformer對序列中每個標記的表示僅取決于它之前的標記,從而防止任何標記“展望未來”以更好地告知其表示。下面提供了文本編碼器體系結構的基本描述。然而,應該注意的是,這種架構與大多數先前提出的語言建模架構(例如GPT-2或OPT)非常相似。 CLIP 的文本編碼器架構 盡管 CLIP 未應用于原始出版物中的任何語言建模應用,但作者利用掩蔽自注意力使 CLIP 將來更容易擴展到此類應用。
盡管之前的工作表明自然語言是一種可行的計算機視覺訓練信號,但用于在圖像和文本對上訓練 CLIP 的確切訓練任務并不是很明顯。我們應該根據標題中的文字對圖像進行分類嗎? 以前的工作已經嘗試過這個想法,但效果不是很好 [2, 3]。有趣的是,作者發現預測確切的圖像說明太困難了因為任何圖像都可以用多種不同的方式來描述,這使得模型學習非常緩慢。理想的 CLIP 預訓練任務應該是可擴展的,這意味著它允許模型從自然語言監督中有效地學習有用的表示。借鑒對比表示學習中的相關工作,作者發現可以使用一項非常簡單的任務來有效地訓練 CLIP——在一組候選字幕中預測正確的、相關聯的字幕。下圖說明了這樣的任務。 CLIP 的圖文對比預訓練
在實踐中,這一目標是通過以下方式實現的: 這樣的目標被稱為多類 N 對(或 InfoNCE)損失 [10],通常應用于對比和度量學習中的問題。作為這個預訓練過程的結果,CLIP 為圖像和文本形成了一個聯合嵌入空間,使得對應于相似概念的圖像和標題具有相似的嵌入。更好的任務 = 更快的學習。通過使用這個更簡單的代理任務訓練 CLIP 模型,作者觀察到訓練效率提高了 4 倍;如下圖所示。
CLIP 由于其對比目標提高了訓練效率 在這里,訓練效率是使用 ImageNet 上的零樣本學習遷移率來衡量的。換句話說,當使用這個簡單的目標時,CLIP 模型花費更少的訓練時間(根據觀察到的圖像文本示例的數量)來實現在 ImageNet 上產生高零樣本精度的模型。因此,正確選擇訓練目標會對模型效率和性能產生巨大影響。 我們如何在沒有訓練示例的情況下對圖像進行分類?CLIP 執行分類的能力最初看起來像是一個謎。鑒于它只從非結構化的文本描述中學習,它怎么可能推廣到圖像分類中看不見的對象類別?CLIP 經過訓練可以預測圖像和文本片段是否配對在一起。有趣的是,這種能力可以重新用于執行零樣本分類。特別是,通過利用未見類別的文本描述(例如,類別名稱),可以通過將文本和圖像傳遞給它們各自的編碼器并比較生成的嵌入來評估每個候選類別;請參閱下面的視覺描述。 使用 CLIP 執行零樣本分類
形式化這個過程,零樣本分類實際上包括以下步驟: 這種方法有局限性:一個類的名稱可能缺乏揭示其含義的相關上下文(即多義問題),一些數據集可能完全缺乏元數據或類的文本描述,并且對圖像進行單詞描述在用于訓練的圖像-文本對。這些問題可以通過制作“提示”來以文本形式表示不同的類別或創建多個零樣本分類器的集合來緩解;見下圖。當 (i) 提示用于生成類嵌入和 (ii) 零樣本分類器的集合用于預測時,CLIP 實現了改進的性能然而,這種方法仍然具有根本的局限性,最終必須解決這些局限性,以提高零樣本學習能力。CLIP 實踐——沒有訓練數據的準確分類!在原文中,CLIP 在零樣本域中進行評估,并添加了微調(即少樣本或完全監督域)。在這里,我將概述這些使用 CLIP 進行的實驗的主要發現,并提供有關 CLIP 何時可以和不可以用于解決給定分類問題的相關詳細信息。零樣本。在零樣本領域,CLIP 取得了突破性的成果,將 ImageNet 上最先進的零樣本測試準確率從 11.5% 提高到 76.2%;見下文。 零樣本 CLIP 精度與之前最先進技術的比較 當將 CLIP 的零樣本性能與以預訓練的 ResNet50 特征作為輸入的完全監督線性分類器的性能進行比較時,CLIP 繼續在各種數據集上取得顯著成果。即,CLIP 在所研究的 27 個總數據集中的 16 個上優于線性分類器(完全監督!),盡管從未觀察到單個訓練示例。
CLIP 與以預訓練的 ResNet50 特征作為輸入的線性分類器 當分析每個數據集的性能時,很明顯 CLIP 在一般對象分類數據集(例如 ImageNet 或 CIFAR10/100)上表現良好,甚至在動作識別數據集上表現更好。直覺上,這些任務的良好表現是由于 CLIP 在訓練期間接受的廣泛監督以及圖像說明通常以動詞為中心的事實,因此與動作識別標簽的相似性高于數據集中使用的以名詞為中心的類,例如圖片網。有趣的是,CLIP 在衛星圖像分類和腫瘤檢測等復雜和專門的數據集上表現最差。 少樣本: CLIP 的零樣本和少樣本性能也與其他少樣本線性分類器的性能進行了比較。在觀察每個類中的四個訓練示例后,發現零樣本 CLIP 與少樣本線性分類器的平均性能相匹配。此外,當允許觀察訓練示例本身時,CLIP 優于所有小樣本線性分類器。這些結果總結在下圖中。 與少鏡頭線性分類器相比,CLIP 零和少鏡頭性能
當使用 CLIP 特征訓練完全監督的線性分類器時,發現它在準確性和計算成本方面都優于許多基線,從而強調了 CLIP 通過自然語言監督學習的表示的質量;見下文。 盡管 CLIP 的性能并不完美(即,它在專門的任務上表現不佳,并且僅適用于對每個類別都有良好文本描述的數據集),但 CLIP 實現的零樣本和少樣本結果預示了高概率產生的可能性- 圖像和文本的質量聯合嵌入空間。更多可能,但 CLIP 為此類通用分類方法提供了初步(令人印象深刻的)概念證明。
毫無疑問,CLIP 徹底改變了零樣本圖像分類領域。盡管先前在語言建模方面的工作表明,可以利用非結構化輸出空間(例如,文本到文本語言模型,如 GPT-3 [11])來實現零樣本分類目的,但 CLIP 通過i)形成對這些結果進行了擴展一種適用于計算機視覺的方法,以及ii)將整個訓練過程建立在易于獲取的圖像文本描述的基礎上。CLIP 堅定地認為自然語言提供了足夠的訓練信號來學習高質量的感知特征。這一發現對深度學習研究的未來方向具有重大影響。特別是,圖像的自然語言描述比遵循特定任務本體的圖像注釋(即用于分類的傳統單熱標簽)更容易獲得。因此,為 CLIP 風格的分類器標注訓練數據更具可擴展性,特別是因為許多圖像-文本配對可以免費在線下載。CLIP 的主要局限性源于以下事實:i)在分類問題中獲得每個類的良好文本嵌入是困難的,并且ii)復雜/特定任務(例如,腫瘤檢測或預測圖像中對象的深度)難以通過學習通用自然語言監督。盡管如此,CLIP 學習到的表示是高質量的,并且可以通過探索對預訓練過程中觀察到的數據的修改來提高更專業任務的性能。import clipavailable_models = clip.available_models()device = "cuda" if torch.cuda.is_available() else "cpu"model, preprocess = clip.load(available_models[0], device=device) [1] Radford, Alec, et al. “Learning transferable visual models from natural language supervision.” International Conference on Machine Learning. PMLR, 2021.[2] Li, Ang, et al. “Learning visual n-grams from web data.” Proceedings of the IEEE International Conference on Computer Vision. 2017.[3] Joulin, Armand, et al. “Learning visual features from large weakly supervised data.” European Conference on Computer Vision. Springer, Cham, 2016.[4] Desai, Karan, and Justin Johnson. “Virtex: Learning visual representations from textual annotations.” Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2021.[5] Sariyildiz, Mert Bulent, Julien Perez, and Diane Larlus. “Learning visual representations with caption annotations.” European Conference on Computer Vision. Springer, Cham, 2020.[6] Zhang, Yuhao, et al. “Contrastive learning of medical visual representations from paired images and text.” arXiv preprint arXiv:2010.00747 (2020).[7] He, Kaiming, et al. “Deep residual learning for image recognition.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.[8] Tan, Mingxing, and Quoc Le. “Efficientnet: Rethinking model scaling for convolutional neural networks.” International conference on machine learning. PMLR, 2019.[9] Dosovitskiy, Alexey, et al. “An image is worth 16x16 words: Transformers for image recognition at scale.” arXiv preprint arXiv:2010.11929 (2020).[10] Sohn, Kihyuk. “Improved deep metric learning with multi-class n-pair loss objective.” Advances in neural information processing systems 29 (2016).[11] Brown, Tom, et al. “Language models are few-shot learners.” Advances in neural information processing systems 33 (2020): 1877–1901.
|