<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          深入探討:自監(jiān)督學(xué)習(xí)的退化解是什么,到底如何避免?

          共 5763字,需瀏覽 12分鐘

           ·

          2021-04-23 23:21

          ↑ 點擊藍字 關(guān)注極市平臺

          作者丨Smarter
          來源丨Smarter
          編輯丨極市平臺

          極市導(dǎo)讀

           

          本文以如何避免形成推化解作為中心問題出發(fā),從自監(jiān)督學(xué)習(xí)的含義開始介紹,解釋了InfoNCE公式,最后引出本文的核心問題并進行了回答。 >>加入極市CV技術(shù)交流群,走在計算機視覺的最前沿

          之所以想要寫這篇文章主要是由于很多blog都沒有講明白什么是退化解,以及主流的Self-supervised Learning是如何解決這個問題的,感覺完全沒有寫到點子上(避重就輕),然而我認(rèn)為如何避免形成退化解才是Self-Supervised Learning最有意思的點。

          以下通過三個問題,層層撥開退化解的迷霧。

          1. 什么是Self-Supervised Learning?

          2. InfoNCE如何理解?

          3. 如何避免形成退化解?

          什么是Self-Supervised Learning?

          非常多blog介紹過Self-Supervised Learning這個概念了,但是我覺得大多數(shù)解釋的太繁瑣了,我喜歡簡單直接一點。一張圖理解什么是Self-Supervised Learning。

          Self-Supervised Learning分成兩種方法:一種是生成式模型,一種是判別式模型。以輸入圖片信號為例,生成式模型,輸入一張圖片,通過Encoder編碼和Decoder解碼還原輸入圖片信息,監(jiān)督信號是輸入輸出盡可能相似。判別式模型,輸入兩張圖片,通過Encoder編碼,監(jiān)督信號是判斷兩張圖是否相似(例如,輸入同一個人的兩張照片,判斷輸入相似,輸出1;輸入兩個人的照片,判斷輸入不相似,輸出0)。

          自從MoCo橫空出世橫掃7個榜單之后,判別式模型逐漸成為了Self-Supervised Learning的主流。

          InfoNCE如何理解?

          Self-Supervised Learning的判別式模型一般稱為Contrastive Learning,很容易理解,通過對比兩個輸入是否相似得到輸出結(jié)果。Contrastive Learning通常使用InfoNCE作為損失函數(shù)來訓(xùn)練模型,可以說理解了InfoNCE就基本上能夠很好的掌握self-supervised的核心思想。InfoNCE的一般表示如下:

          假定給定的  是一對positive pair,比如同一個人的兩張照片,同時你還有很多個負(fù)樣本  ,比如其他人的照片,和x構(gòu)成  negative pair。這里需要一個數(shù)學(xué)先驗知識,a向量與b向量同向,a.b=|a||b|;a向量與b向量垂直,a.b=0;a向量與b向量反向,a.b=-|a||b|。所以當(dāng)positive pair的方向盡可能相似,negative pair的方向盡可能不相似時,InfoNCE的值趨近于0。上面是通過數(shù)學(xué)公式來理解InfoNCE的行為,下面通過unit hypersphere來理解InfoNCE的行為。

          InfoNCE公式可以推導(dǎo)成兩個部分,alignment和uniformity。

          如上圖所示,alignment部分只跟positive pair相關(guān),希望positive pair的feature拉近,uniformity部分只跟negative pair相關(guān),希望所有點的feature盡可能均勻分布在unit hypersphere上。

          使不同的feature盡可能均勻的分布在unit hypersphere上帶來的一個好處是非常容易的對不同類別聚類并且線性可分。

          作者在CIFAR-10上分別對Random Initialization、Supervised Predictive Learnging和Unsupervised Contrastive Learning三種模型進行實驗,觀察到了上述unit hypersphere的實驗結(jié)論,Random Initialization沒有將不同類別的feature均勻的分開,導(dǎo)致alignment的平均距離很小,但是判別力很差;Supervised Predictive Learnging因為監(jiān)督信號的引導(dǎo),不同類別的feature既散開又集中,又因為引入了標(biāo)注偏見,導(dǎo)致alignment的平均距離介于Random Initialization和Unsupervised Contrastive Learning之間;而Unsupervised Contrastive Learning的feature非常均勻連續(xù)的散開,alignment的平均距離是最小的,說明Unsupervised Contrastive Learning確實能夠得到非常強判別力的特征

          如何避免形成退化解?

          從數(shù)學(xué)公式上看,InfoNCE的alignment和uniformity兩部分理論上來說是缺一不可的。如果只有uniformity,沒有alignment,那么模型沒有聚類的能力;如何只有alignment,沒有uniformity,那么容易使得模型將所有的輸入輸出相同表示,也就是形成退化解。最近一些主流的Self-Supervised方法對于如何避免形成退化解進行了大量的探索,以下主要介紹一下SimCLR/BYOL/SwAV/SimSiam四種SSL算法是如何避免形成退化解的。(ps:示意圖源自SimSiam)

          SimCLR

          SimCLR先將輸入圖片通過兩種不同的數(shù)據(jù)增強生成x和y,然后通過相同的encoder和projection(上圖沒有畫出)分別生成x‘和y',然后使用同時考慮alignment和uniformity的InfoNCE來對encoder進行梯度更新,并且梯度同時對兩個分支進行更新。

          SimCLR避免形成退化解的方式非常的直接,因為InfoNCE同時包含alignment和uniformity,那么只需要同時構(gòu)造出positive pair和negative pair,將positive pair的feature盡可能的拉近,negative pair的feature盡可能的均勻分布。

          BYOL

          BYOL的想法非常的天馬行空,第一個提出只使用positive pair的Self-supervised算法。BYOL將右邊的分支看成是target branch,左邊的分支看成online branch(非常像知識蒸餾,可以分別看成teacher和student),target branch的encoder通過online branch的encoder參數(shù)滑動更新,稱為momentum encoder,同時online branch還需要一個predictor,將encoder的輸出進行一個變換,target branch不需要進行梯度更新stop gradient,BYOL最核心的點是InfoNCE只考慮alignment部分。

          BYOL因為只考慮positive pair,導(dǎo)致非常容易出現(xiàn)退化解,BYOL針對退化解問題,提出了三個主要部分momentum encoder、predictor和stop gradient來避免退化解的形成。我的理解是模型的初始化是隨機的,一開始feature就散的很開,然后通過momentum encoder和stop gradient使得target branch的feature變化緩慢,而online branch的feature變化更快,最后online branch通過predictor使變換得到的feature接近target branch的feature,predictor組件大大降低了positive pair拉近的難度,并且增加了feature變換的多樣性,防止退化解的產(chǎn)生。BYOL的predictor不同于SimCLR的projection,SimCLR的projection主要作用是為了得到非線性映射,而BYOL的predictor主要作用是為了防止形成退化解。

          SwAV

          SwAV很特別,引入了聚類的方法。SwAV預(yù)先定義了k個聚類中心,然后將teacher和student兩個分支的輸入通過Sinkhorn-Knopp算法映射到k個聚類中心的特征空間上,然后通過InfoNCE的alignment部分,對兩個分支的映射codes進行拉近。

          SwAV通過聚類的方法,大大降低了特征空間的維度,減少計算量。從形式上來看,貌似SwAV只使用了alignment部分,很有可能會出現(xiàn)退化解,實際上映射到k個聚類中心的特征空間的過程中隱含著uniformity部分,因為映射得到的codes是soft label,codes同時蘊含著不同聚類中心的信息,間接避免了退化解的形成。

          SimSiam

          SimSiam在BYOL的基礎(chǔ)上進一步進行實驗,分別對momentum encoder、predictor和stop gradient等關(guān)鍵組件進行消融實驗,最終發(fā)現(xiàn)stop gradient才是避免形成退化解的關(guān)鍵。

          SimSiam去掉了momentum,去掉了negative,去掉了teacher branch的gradient,在極簡的情況下,依然能夠避免形成退化解,核心在于stop gradient,teacher branch因為stop gradient導(dǎo)致與student branch的更新不同步,teacher branch相對于student branch是不變的,避免退化解的產(chǎn)生

          總結(jié)

          將上述4種方法匯總到一張圖片,很容易比對出,四種方法的差異非常之小,基本上只改變了其中一個核心組件,但是都能達到不錯的效果。SimSiam可以認(rèn)為是沒有negative的SimCLR,沒有online clustering的SwAV,沒有momentum encoder的BYOL。

          如何避免形成退化解,無外乎同時考慮alignment和uniformity(即需要positive pair也需要negative pair),只考慮alignment(只需要positive pair)和只考慮uniformity(只需要negative pair)三種情況,現(xiàn)在大多數(shù)方法都是在探索第一種和第二種。未來可能會逐漸的研究清楚退化解出現(xiàn)的充要條件到底是什么,進而設(shè)計出更合理的Self-Supervised算法,學(xué)習(xí)到更好的特征表示。

          Reference

          [1] https://ankeshanand.com/blog/2020/01/26/contrative-self-supervised-learning.html
          [2] https://zhuanlan.zhihu.com/p/129076690
          [3] https://www.zhihu.com/question/402452508/answer/1294166177
          [4] Understanding Contrastive Representation Learning through Alignment and Uniformity on the Hypersphere  
          [5] A Simple Framework for Contrastive Learning of Visual Representations
          [6] Bootstrap Your Own Latent A New Approach to Self-Supervised Learning  
          [7] Unsupervised Learning of Visual Features by Contrasting Cluster Assignments[8] Exploring Simple Siamese Representation Learning

          亮點提要:


          1.Self-Supervised Learning兩種方法:生成式模型;判別式模型。

          2.InfoNCE公式可以推導(dǎo)成兩個部分:alignment和uniformity。

          3.只有Unsupervised Contrastive Learning能夠得到非常強判別力的特征。

          4.避免形成退化解的三種情況:1.同時考慮alignment和uniformity(即需要positive pair也需要negative pair),2.考慮alignment(只需要positive pair),3.只考慮uniformity(只需要negative pair)


          如果覺得有用,就分享朋友圈吧!

          △點擊卡片關(guān)注極市平臺,獲取最新CV干貨




          推薦閱讀


          CVPR 2021 | MSRA提出像素級別自監(jiān)督預(yù)訓(xùn)練方法PixPro,大幅提升下游檢測分割任務(wù)性能

          2021-04-14

          CVPR2021|將無監(jiān)督對比學(xué)習(xí)與超分相結(jié)合,國防科大提出了用于盲圖像超分的無監(jiān)督退化表達學(xué)習(xí)DASR

          2021-04-13

          Instant-Teaching: 端到端半監(jiān)督目標(biāo)檢測框架

          2021-04-06



          # CV技術(shù)社群邀請函 #

          △長按添加極市小助手
          添加極市小助手微信(ID : cvmart2)

          備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳)


          即可申請加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計/ReID/GAN/圖像增強/OCR/視頻理解等技術(shù)交流群


          每月大咖直播分享、真實項目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與 10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~


          覺得有用麻煩給個在看啦~  
          瀏覽 207
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲欧洲中文日韩免费视频一区二区 | 亚洲天堂男人天堂 | 夜色在线影院 无码 | 日韩中文字幕一区二区 | 亚洲无码伦理电影 |