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

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

3天內(nèi)不再提示

對比學(xué)習(xí)中的4種典型范式的應(yīng)用分析

深度學(xué)習(xí)自然語言處理 ? 來源:圓圓的算法筆記 ? 作者:Fareise ? 2022-07-08 11:03 ? 次閱讀

對比學(xué)習(xí)是無監(jiān)督表示學(xué)習(xí)中一種非常有效的方法,核心思路是訓(xùn)練query和key的Encoder,讓這個Encoder對相匹配的query和key生成的編碼距離接近,不匹配的編碼距離遠。想讓對比學(xué)習(xí)效果好,一個核心點是擴大對比樣本(負樣本)的數(shù)量,即每次更新梯度時,query見到的不匹配key的數(shù)量。負樣本數(shù)量越多,越接近對比學(xué)習(xí)的實際目標(biāo),即query和所有不匹配的key都距離遠。

對比學(xué)習(xí)目前有4種最典型的范式,分別為End-to-End、Memory Bank、Momentum Encoder以及In-Batch Negtive。這幾種對比學(xué)習(xí)結(jié)構(gòu)的差異主要體現(xiàn)在對負樣本的處理上,4種方法是一種逐漸演進的關(guān)系。下面,我們來看看4種對比學(xué)習(xí)結(jié)構(gòu)的經(jīng)典工作。關(guān)于對比學(xué)習(xí)的損失函數(shù),建議參考之前的文章表示學(xué)習(xí)中的7大損失函數(shù)梳理。

End-to-End End-to-End是一種最直接的對比學(xué)習(xí)方法,對于一個query,每次采樣一個正樣本以及多個負樣本,使用對比學(xué)習(xí)loss計算損失,正樣本和負樣本都進行梯度反向傳播。下面介紹幾篇End-to-End的對比學(xué)習(xí)經(jīng)典論文。

第一篇是Unsupervised Embedding Learning via Invariant and Spreading Instance Feature(2019)。本文的目標(biāo)是學(xué)習(xí)圖像好的表示,滿足相似的圖像embedding離得近,不相似的圖像embedding離得遠的特點。具體的,希望同一個圖像經(jīng)過不同的數(shù)據(jù)增強方式進行轉(zhuǎn)換后,能夠具有embedding的不變性,同時不同圖像的embedding有明顯差異。

這篇文章在原來每個樣本為一個類別的分類基礎(chǔ)上進行了優(yōu)化,將每個圖像進行一種數(shù)據(jù)增強的轉(zhuǎn)換后,去讓轉(zhuǎn)換前后的圖像的embedding離得更近。首先采樣一個batch的圖像,然后對每一個圖像使用一種數(shù)據(jù)增強方法進行轉(zhuǎn)換。優(yōu)化的目標(biāo)是讓每一個圖像xi轉(zhuǎn)換后的圖像xi‘能夠被分為xi這個樣本的類別。模型的訓(xùn)練仍然采用多個二分類的方式,每個樣本的loss可以表示為:

最終采用底層共享參數(shù)的孿生網(wǎng)絡(luò)結(jié)構(gòu)進行模型訓(xùn)練。在訓(xùn)練階段,每個樣本的會使用該batch內(nèi)其他樣本作為負樣本進行訓(xùn)練,并使用一種隨機的argumentation策略生成一個正樣本。

LEARNING DEEP REPRESENTATIONS BY MUTUAL INFORMATION ESTIMATION AND MAXIMIZATION(ICLR 2019,DIM)是另一個典型的End-to-End對比學(xué)習(xí)框架。本文提出在Deep InfoMax基礎(chǔ)上進行對比學(xué)習(xí),首先介紹一下Deep InfoMax。Deep InfoMax是一種無監(jiān)督圖像表示學(xué)習(xí)方法,目標(biāo)是讓輸入樣本和其經(jīng)過Encoder后的表示互信息最大,互信息越大表明兩個變量相關(guān)性越強,互信息可以采用InfoNCE、Jensen-Shannon MI estimator等方法求解。

具體實現(xiàn)上,隨機采樣一個圖像,經(jīng)過卷積得到feature map f(x),再經(jīng)過網(wǎng)絡(luò)得到一個圖像的表示向量h(f(x)),整個過程相當(dāng)于取了整個encoder中某一層的表示f(x),以及encoder的最終輸出h(f(x)),讓這兩個表示的互信息盡可能大。同時隨機選擇其他圖像,生成其feature map f(x’)。這樣f(x)和h(f(x))構(gòu)成正樣本,f(x‘)和h(f(x))構(gòu)成負樣本,再代入loss進行優(yōu)化。基本思路采用了MINE的方法,去求一個下界。使用一個discriminator去判別輸入是配對的feature map和representaion的聯(lián)合概率分布還是不配對的feature map和representaion的邊緣概率分布的乘積。

最終學(xué)習(xí)的是中間表示中某一個部分的信息和最終encoder得到feature的相關(guān)性,互信息可以理解為在是否獲取encoder最終表示的情況下,我們能預(yù)測出的中間層某部分的表示會好多少。這是使用相對的預(yù)估能力而非絕對的預(yù)估能力進行評估。

Learning Representations by Maximizing Mutual Information Across Views(2019)擴展了DIM,學(xué)習(xí)一個圖像的兩種不同增強方式的互信息最小。DIM使用同一張圖像最終層和中間層的表示計算互信息,而本文采用一個圖像的不同增強后的view計算。

End-to-End方法的主要問題在于,采樣的負樣本數(shù)量受到GPU內(nèi)存限制,因此這種方法的每次更新能夠使用到的負樣本數(shù)量非常有限,影響了對比學(xué)習(xí)效果。 Memory Bank 針對End-to-End負樣本采樣數(shù)量受GPU內(nèi)存限制的問題,基于Memory Bank的方法進入人們視野。Memory Bank的核心思路是,將某一輪模型對數(shù)據(jù)集中所有樣本的表示存儲起來,這些樣本在作為負樣本時,可以不進行梯度更新,極大提升了每個batch負樣本數(shù)量。

Memory Bank對比學(xué)習(xí)的主要論文是Unsupervised feature learning via non-parametric instance discrimination(ICLR 2018)。當(dāng)進行圖像分類時,如果兩個類別的圖像相似,那么模型更容易把這兩類的預(yù)測搞混,softmax得分排第二的的類別往往是和待預(yù)測類別比較相似的。這說明模型在學(xué)習(xí)的過程中,能夠從圖像數(shù)據(jù)本身學(xué)出哪些圖片表達相似的事物,而不需要引入標(biāo)簽。因此本文希望只利用無監(jiān)督的圖片,就學(xué)習(xí)出比較好的圖像表示,將原來的分類問題進行一個擴展,每個圖片視為一個類別,做多分類任務(wù),這樣無需有監(jiān)督數(shù)據(jù)就能學(xué)習(xí)圖像表示。同時,將softmax中每個類別對應(yīng)的權(quán)重替換為每個樣本的embedding結(jié)果,將原來的softmax去掉每個類別的權(quán)重參數(shù)w后變?yōu)榱?non-parametric softmax,最終表示為:

然而一個圖像為一個類別帶來的問題是計算softmax多分類損失時,分類的類別數(shù)和樣本數(shù)相同。因此本文提出利用InfoNCE loss來近似擬合softmax多分類損失,它與層次softmax、negative sampling都是解決類別較多時多分為問題的高效方法。InfoNCE loss將多分類問題轉(zhuǎn)換為多個二分類問題,原來是預(yù)測當(dāng)前樣本屬于哪個類別,轉(zhuǎn)換成判斷每個樣本(一個正樣本和多個負樣本)是否和當(dāng)前樣本匹配,或區(qū)分數(shù)據(jù)樣本和噪聲樣本。 為了提升運行效率,本文采用Model Bank的方法,每個樣本的表示更新后會存儲到model bank中。下次需要負樣本的時候直接從model bank取該樣本表示,而不會進行前向計算和反向傳播。每個類別只有一個樣本會導(dǎo)致模型訓(xùn)練不穩(wěn)定,因此本文在損失函數(shù)中引入平滑項,讓模型在t輪迭代計算的表示和t-1輪相似,引入兩輪表示的L2正則。隨著模型不斷收斂,這一項L2正則會逐漸變?yōu)?,整體又變成原來的InfoNCE loss。

Model Bank方法的問題在于,Model Bank中存儲的樣本表示不是最新訓(xùn)練的encoder產(chǎn)出的,和當(dāng)前encoder生成的表示有一定差異,導(dǎo)致模型訓(xùn)練過程存在問題,例如當(dāng)前encoder產(chǎn)出的編碼可能要和n輪迭代之前產(chǎn)出的encoder編碼做比較。同時,Model Bank側(cè)兩次樣本表示更新不具備連續(xù)性,也會導(dǎo)致訓(xùn)練不穩(wěn)定 Momentum Encoder Momentum Encoder主要為了解決Model Bank中每個樣本緩存的表示和Encoder更新不一致的問題。Momentum Encoder的核心思路是,模型在key側(cè)的encoder不進行訓(xùn)練,而是平滑拷貝query側(cè)encoder的參數(shù),如下面的公式:

這種更新方式保證了key側(cè)參數(shù)的平滑性,且每次都能用最新的參數(shù)得到key側(cè)樣本的表示結(jié)果。典型的Momentum Encoder工作是Facebook提出的MoCo,論文Momentum Contrast for Unsupervised Visual Representation Learning。

In-Batch Negtive In-Batch Negtive也是對比學(xué)習(xí)中經(jīng)常采用的一種擴大負樣本數(shù)量的方法。對于匹配問題,假設(shè)每個batch內(nèi)有N個正樣本對,那么讓這N個正樣本之間互為負樣本,這樣每個樣本就自動生成了2*(N-1)個負樣本。這種技巧提出的很早,在近期對比學(xué)習(xí)中又得到非常廣泛的應(yīng)用。

A Simple Framework for Contrastive Learning of Visual Representations(2020)就采用了In-Btahc Negtive的方法。此外,本文也提出了對比學(xué)習(xí)的一些關(guān)鍵發(fā)現(xiàn),包括對數(shù)據(jù)的argumentation的方式、batch size的大小、生成的embedding進行normalize、對對比學(xué)習(xí)loss的temperature進行調(diào)節(jié)都對對比學(xué)習(xí)效果有重要影響。融合了上述優(yōu)化,本文提出SimCLR對比學(xué)習(xí)框架,以最大化同一個圖像經(jīng)過不同argumentation后表示的相關(guān)性為目標(biāo)。整個流程分為3個步驟,首先對圖像進行兩種不同的增強得到一對正樣本,然后經(jīng)過Encoder得到表示,最后將表示映射后計算對比學(xué)習(xí)loss,采用In-Batch Negtive的方法進行學(xué)習(xí)。

在圖像和文本匹配的多模態(tài)領(lǐng)域,In-Batch Negtive也非常常用,例如Learning Transferable Visual Models From Natural Language Supervision提出的CLIP模型。In-Batch Negtive的優(yōu)點是非常簡單,計算量不會顯著增加。缺點是負樣本只能使用每個batch內(nèi)的數(shù)據(jù),是隨機采樣的,無法針對性的構(gòu)造負樣本。

總結(jié) 本文總結(jié)了對比學(xué)習(xí)的4種基本訓(xùn)練結(jié)構(gòu),包括End-to-End、Memory Bank、Momentum Encoder以及In-Batch Negtive,以及各自的優(yōu)缺點。對比學(xué)習(xí)訓(xùn)練方式發(fā)展的核心是,如何實現(xiàn)量級更大、質(zhì)量更好、更平穩(wěn)的負樣本表示。通過優(yōu)化負樣本,可以顯著提升對比學(xué)習(xí)的效果。 審核編輯:郭婷

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

    關(guān)注

    27

    文章

    4640

    瀏覽量

    128487
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    921

    瀏覽量

    54716

原文標(biāo)題:對比學(xué)習(xí)中的4種經(jīng)典訓(xùn)練模式

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    網(wǎng)關(guān)和路由器的對比分析

    網(wǎng)關(guān)和路由器作為計算機網(wǎng)絡(luò)的關(guān)鍵設(shè)備,各自承擔(dān)著不同的角色和功能。下面將從定義、功能、應(yīng)用場景、性能等多個方面對網(wǎng)關(guān)和路由器進行對比分析
    的頭像 發(fā)表于 08-27 10:20 ?692次閱讀

    工業(yè)電機驅(qū)動器典型短路事件

    驅(qū)動器的三典型短路事件:逆變器直通、相對相短路以及相線對地短路,并對每種事件的原因、影響及應(yīng)對措施進行詳細分析
    的頭像 發(fā)表于 07-25 10:45 ?552次閱讀

    深度學(xué)習(xí)典型模型和訓(xùn)練過程

    深度學(xué)習(xí)作為人工智能領(lǐng)域的一個重要分支,近年來在圖像識別、語音識別、自然語言處理等多個領(lǐng)域取得了顯著進展。其核心在于通過構(gòu)建復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型,從大規(guī)模數(shù)據(jù)自動學(xué)習(xí)并提取特征,進而實現(xiàn)高效準確的預(yù)測和分類。本文將深入解讀深度
    的頭像 發(fā)表于 07-03 16:06 ?985次閱讀

    機器學(xué)習(xí)在數(shù)據(jù)分析的應(yīng)用

    隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)量的爆炸性增長對數(shù)據(jù)分析提出了更高的要求。機器學(xué)習(xí)作為一強大的工具,通過訓(xùn)練模型從數(shù)據(jù)中學(xué)習(xí)規(guī)律,為企業(yè)和組織提供了更高效、更準確的數(shù)據(jù)
    的頭像 發(fā)表于 07-02 11:22 ?440次閱讀

    深度學(xué)習(xí)與傳統(tǒng)機器學(xué)習(xí)對比

    在人工智能的浪潮,機器學(xué)習(xí)和深度學(xué)習(xí)無疑是兩大核心驅(qū)動力。它們各自以其獨特的方式推動著技術(shù)的進步,為眾多領(lǐng)域帶來了革命性的變化。然而,盡管它們都屬于機器學(xué)習(xí)的范疇,但深度
    的頭像 發(fā)表于 07-01 11:40 ?980次閱讀

    交流伺服電機與直流伺服電機的對比分析

    伺服電機作為現(xiàn)代工業(yè)自動化領(lǐng)域的核心動力元件,廣泛應(yīng)用于各種高精度、高效率的運動控制系統(tǒng)。其中,交流伺服電機和直流伺服電機作為兩主要的伺服電機類型,各有其獨特的工作原理、性能特點和應(yīng)用場景。本文將對這兩伺服電機進行詳細的
    的頭像 發(fā)表于 06-24 14:40 ?629次閱讀

    不同地物分類方法在長江中下游典型湖區(qū)應(yīng)用對比分析

    以龍感湖自然保護區(qū)、華陽河湖群自然保護區(qū)作為研究區(qū),以高分一號WFV作為數(shù)據(jù)源,采用6不同地物分類方法進行地物分類,從空間和精度方面對試驗結(jié)果進行對比分析,探討地物分類效果,以選擇出適用于研究區(qū)地物特征提取的有效分類方法。
    的頭像 發(fā)表于 05-31 11:03 ?280次閱讀
    不同地物分類方法在長江中下游<b class='flag-5'>典型</b>湖區(qū)應(yīng)用<b class='flag-5'>對比分析</b>

    分析對比NTC、PTC、TVS、MOV的不同

    是對它們的詳細分析和比較。 1. NTC(負溫度系數(shù)熱敏電阻) NTC是一電阻器,其電阻值隨溫度變化而變化。與溫度相關(guān)的電阻值變化可以通過負溫度系數(shù)進行描述,即電阻值隨溫度升高而下降。NTC在電路通常用作溫度測量或溫度補償?shù)?/div>
    的頭像 發(fā)表于 01-03 13:54 ?958次閱讀

    IGBT7與IGBT4在伺服驅(qū)動器對比測試

    IGBT7與IGBT4在伺服驅(qū)動器對比測試
    的頭像 發(fā)表于 12-14 11:31 ?607次閱讀
    IGBT7與IGBT<b class='flag-5'>4</b>在伺服驅(qū)動器<b class='flag-5'>中</b>的<b class='flag-5'>對比</b>測試

    靜電放電問題典型案例分析

    這期我?guī)Т蠹依^續(xù)進行靜電放電問題典型案例分析,前篇文章分別介紹了復(fù)位信號、DC-DC芯片設(shè)計問題引發(fā)的靜電放電問題;這篇文章將介紹軟件設(shè)計、PCB環(huán)路設(shè)計引發(fā)的靜電放電問題;話不多說,還是通過兩個案例展現(xiàn)給大家。
    的頭像 發(fā)表于 12-11 10:03 ?1225次閱讀

    二值圖像分析典型案例

    最近一直有人向我提問很多二值圖像分析相關(guān)的問題,特別選擇了兩個典型的輪廓分析問題。進行分析與編碼實現(xiàn)與演示,廢話不多說,先看第一個問題。
    的頭像 發(fā)表于 12-06 10:54 ?469次閱讀

    深度學(xué)習(xí)在人工智能的 8 常見應(yīng)用

    ,徹底改變了人工智能。人腦的結(jié)構(gòu)和操作啟發(fā)了這些算法。你覺得怎么樣?人工智能(AI)中有哪些典型的深度學(xué)習(xí)應(yīng)用?深度學(xué)習(xí)經(jīng)常用于各種人工智能應(yīng)用。由于深度學(xué)習(xí)算法,機
    的頭像 發(fā)表于 12-01 08:27 ?3127次閱讀
    深度<b class='flag-5'>學(xué)習(xí)</b>在人工智能<b class='flag-5'>中</b>的 8 <b class='flag-5'>種</b>常見應(yīng)用

    靜電放電問題典型案例分析

    從這期開始我將帶大家進入靜電放電問題的典型案例分析,通過具體的實際案例以幫助大家消化前面的知識,并通過典型案例的分析為后面靜電放電設(shè)計做鋪墊。
    的頭像 發(fā)表于 11-29 09:17 ?1090次閱讀
    靜電放電問題<b class='flag-5'>典型</b>案例<b class='flag-5'>分析</b>

    典型Wire Bond引線鍵合不良原因分析

    典型Wire Bond引線鍵合不良原因分析
    的頭像 發(fā)表于 11-14 10:50 ?1466次閱讀
    <b class='flag-5'>典型</b>Wire Bond引線鍵合不良原因<b class='flag-5'>分析</b>

    開關(guān)電源幾種典型的光耦隔離接法對比

    電子發(fā)燒友網(wǎng)站提供《開關(guān)電源幾種典型的光耦隔離接法對比.pdf》資料免費下載
    發(fā)表于 11-13 09:40 ?1次下載
    開關(guān)電源<b class='flag-5'>中</b>幾種<b class='flag-5'>典型</b>的光耦隔離接法<b class='flag-5'>對比</b>