<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>

          【深度學(xué)習(xí)】SimSiam:孿生網(wǎng)絡(luò)表征學(xué)習(xí)的頂級(jí)理論解釋

          共 3630字,需瀏覽 8分鐘

           ·

          2022-01-10 02:37

          關(guān)注"Smarter",加"星標(biāo)"置頂

          及時(shí)獲取最優(yōu)質(zhì)的CV內(nèi)容

          之前太菜了,SimSiam最精彩的理論解釋沒(méi)完全看懂,元旦重新讀了一遍,太牛逼了,我原本以為SimSiam就是BYOL的一個(gè)簡(jiǎn)化版本,實(shí)則是孿生網(wǎng)絡(luò)表征學(xué)習(xí)的頂級(jí)理論解釋?zhuān)饰龀?span style="font-weight: 700;">帶stop-gradient孿生網(wǎng)絡(luò)表征學(xué)習(xí)的本質(zhì)是EM算法


          為了講清楚SimSiam和EM算法以及k-means算法有什么內(nèi)在聯(lián)系,本文先簡(jiǎn)單闡述一下EM算法和k-means算法的思想,然后從EM算法出發(fā)推導(dǎo)出SimSiam的優(yōu)化目標(biāo),并且通過(guò)推導(dǎo)結(jié)果解釋predictor和momentum encoder(EMA)的作用。

          EM

          EM算法的全稱(chēng)是Expectation-Maximization,是機(jī)器學(xué)習(xí)中最為經(jīng)典的算法之一。EM算法可以認(rèn)為是一種算法思想,其實(shí)很多機(jī)器學(xué)習(xí)算法中都用到了EM思想,比如非常經(jīng)典的k-means聚類(lèi)算法,等下也會(huì)講到k-means是如何應(yīng)用EM的。

          EM算法可以認(rèn)為是極大似然估計(jì)的拓展,極大似然估計(jì)只估計(jì)一個(gè)變量,而EM算法需要同時(shí)估計(jì)兩個(gè)變量。學(xué)過(guò)概率統(tǒng)計(jì)的都知道,直接估計(jì)兩個(gè)變量是很困難的問(wèn)題,所以EM算法實(shí)際上是為了解決多個(gè)變量估計(jì)困難提出來(lái)的算法思想,通過(guò)一個(gè)迭代的方式,先固定其中一個(gè)變量,估計(jì)另一個(gè)變量,然后交替迭代更新,循環(huán)往復(fù)直至收斂。一個(gè)迭代有兩個(gè)步驟(分別估計(jì)兩個(gè)變量),先E步,然后M步(M步其實(shí)就是極大似然估計(jì))。


          有關(guān)EM算法的詳細(xì)解釋可以看文章鏈接:

          https://zhuanlan.zhihu.com/p/36331115

          k-means

          一個(gè)最直觀了解 EM 算法思路的是 k-means 算法(一個(gè)變量是如何得到聚類(lèi)中心,另一個(gè)變量是如何劃分?jǐn)?shù)據(jù))。在 k-means 聚類(lèi)時(shí),每個(gè)聚類(lèi)簇的中心是隱含數(shù)據(jù)。我們會(huì)假設(shè) K 個(gè)初始化中心(初始化中心隨機(jī)得到,后續(xù)迭代中心通過(guò)聚類(lèi)平均進(jìn)行更新),即 EM 算法的 E 步;然后計(jì)算得到每個(gè)樣本最近的中心,并把樣本聚類(lèi)到最近的這個(gè)中心,即 EM 算法的 M 步。重復(fù)這個(gè) E 步和 M 步,直到中心不再變化為止,這樣就完成了 k-means 聚類(lèi)。

          SimSiam

          圖片來(lái)源:https://zhuanlan.zhihu.com/p/367290573

          SimSiam也可以用EM算法解釋。SimSiam實(shí)際上隱式的包含了兩個(gè)變量,并且同時(shí)解決了兩個(gè)潛在的子問(wèn)題。實(shí)際上stop-gradient操作引入了其中一個(gè)變量。

          我們可以把SimSiam的損失函數(shù)定義成以下形式(這里先不考慮SimSiam的predictor):


          ??


          其中??表示前面的數(shù)據(jù)增強(qiáng)函數(shù),??表示Encoder加Projector的網(wǎng)絡(luò)函數(shù)。期望E是關(guān)于圖像x和數(shù)據(jù)增強(qiáng)??的分布(也就是所有圖片和數(shù)據(jù)增強(qiáng)的損失期望之和)。為了方便分析,用L2余弦相似度的等價(jià)形式MSE來(lái)表示相似度。??表示圖片x的表征(也就是上圖下面分支的輸出)。那么優(yōu)化目標(biāo)就可以定義成:


          ??


          這個(gè)優(yōu)化目標(biāo)的形式就類(lèi)似于EM和k-means算法。其中變量??和聚類(lèi)中心類(lèi)似,是encoder和projector的可學(xué)習(xí)參數(shù);變量??和采樣點(diǎn)x的分配向量類(lèi)似,是圖片x的表征。那么SimSiam可以和k-means算法一樣,通過(guò)一個(gè)EM迭代算法來(lái)解決,固定住一個(gè)變量,估計(jì)另一個(gè)變量。形式上可以寫(xiě)成以下兩個(gè)子問(wèn)題:


          ??


          其中t表示迭代輪次,??表示賦值。

          可以通過(guò)SGD來(lái)求解??,從這個(gè)求解式子可知,stop-gradient是必須的操作,試想一下,如果沒(méi)有stop-gradient,那么??就不是一個(gè)常數(shù),也就是第一個(gè)子問(wèn)題有兩個(gè)變量,無(wú)法求解。

          求解完??之后,第二個(gè)子問(wèn)題就只剩下一個(gè)變量??。將??代入損失函數(shù)中,第二個(gè)子問(wèn)題就變成了:


          ??


          通過(guò)期望公式可得:


          ??


          這個(gè)式子表示第t個(gè)迭代輪次的圖片x表征由該圖片所有數(shù)據(jù)增強(qiáng)期望計(jì)算得到。


          One-step alternation

          上述兩個(gè)子問(wèn)題的一次step可以近似為SimSiam。


          1. 首先,可以用一次采樣的數(shù)據(jù)增強(qiáng)??來(lái)對(duì)第二個(gè)子問(wèn)題進(jìn)行近似(一次數(shù)據(jù)增強(qiáng)的期望等于本身):


          ??


          然后把上式代入第一個(gè)子問(wèn)題中:


          ??


          其中??是子問(wèn)題中的一個(gè)常數(shù),??和??表示兩個(gè)不同的數(shù)據(jù)增強(qiáng),于是上式就變成了一個(gè)孿生網(wǎng)絡(luò)結(jié)構(gòu)。


          2. 如果上式用一個(gè)SGD來(lái)降低loss,那么就可以得到接近SimSiam的算法(這里沒(méi)有考慮SimSiam的predictor,等下解釋predictor的作用):一個(gè)使用stop-gradient的孿生網(wǎng)絡(luò)。


          Multi-step alternation

          如果把上面一次step拓展到多次step,就可以得到多次step的SimSiam。

          多次step的SimSiam可以設(shè)計(jì)成將t作為迭代的外循環(huán)次數(shù),第一個(gè)子問(wèn)題設(shè)計(jì)成一次迭代k個(gè)step SGD(k個(gè)step SGD的所有??表征預(yù)先計(jì)算緩存到內(nèi)存中)。

          上述實(shí)驗(yàn)中n-step表示SimSiam一次迭代的step數(shù),1-epoch表示一個(gè)epoch中一次迭代總的step數(shù)??梢园l(fā)現(xiàn),適當(dāng)?shù)脑黾覵imSiam的一次迭代的step數(shù),可以提升精度(可以認(rèn)為在一次迭代中變相的增加數(shù)據(jù)量,從k-means的角度考慮聚類(lèi)效果會(huì)更好)。


          Predictor

          上述推導(dǎo)為了簡(jiǎn)便起見(jiàn),省略了predictor h,如果增加一個(gè)predictor h,第二個(gè)子問(wèn)題就變成了:


          ??


          通過(guò)期望公式可得:


          ??


          前面的一次step近似推導(dǎo)可以省略掉期望E,但是由于predictor h的存在,可以不進(jìn)行一次step近似,predictor h可以彌補(bǔ)??和期望E的gap。實(shí)際上,直接計(jì)算出數(shù)據(jù)增強(qiáng)??的期望E是不現(xiàn)實(shí)的,但是可能直接通過(guò)predictor h來(lái)預(yù)測(cè)出期望E(因?yàn)槎鄠€(gè)epoch中數(shù)據(jù)增強(qiáng)??的采樣是一個(gè)隱式分布,可以通過(guò)學(xué)習(xí)的方式記住)。


          Symmetrization

          上述推導(dǎo)沒(méi)有考慮對(duì)稱(chēng)計(jì)算loss的情況,實(shí)際上,對(duì)稱(chēng)loss相當(dāng)于一次SGD密集采樣數(shù)據(jù)增強(qiáng)??,也就是優(yōu)化效率高一倍。

          上述實(shí)驗(yàn)驗(yàn)證了這個(gè)結(jié)論,對(duì)稱(chēng)loss優(yōu)化效率大大提高,非對(duì)稱(chēng)loss即使使用兩倍訓(xùn)練時(shí)間,效果也不如單倍對(duì)稱(chēng)loss,猜測(cè)因?yàn)閷?duì)稱(chēng)loss下數(shù)據(jù)量更多,從k-means的角度考慮聚類(lèi)效果會(huì)更好。


          EMA

          SimSiam進(jìn)一步發(fā)現(xiàn)predictor h用來(lái)預(yù)測(cè)期望E不是必須的,還有其他的替代方案。SimSiam又做了一個(gè)對(duì)比實(shí)驗(yàn),去掉predictor h的SimSiam其實(shí)就是上面推導(dǎo)的一次step近似,使用momentum encoder(EMA)來(lái)得到??,EMA相當(dāng)于提供了更多數(shù)據(jù)增強(qiáng)??的views的近似期望E,在沒(méi)有predictor h的時(shí)取得55.0%的精度;但是如果同時(shí)沒(méi)有EMA和predictor,精度迅速掉到0.1%。這兩個(gè)實(shí)驗(yàn)側(cè)面證實(shí)了EMA和predictor都能起到預(yù)測(cè)期望E的作用。


          并且EMA和predictor的實(shí)驗(yàn)同時(shí)說(shuō)明了SimSiam和BYOL沒(méi)有負(fù)樣本對(duì)也能work的原因,因?yàn)镾imSiam雖然沒(méi)有EMA但是有predictor,BYOL既有predictor也有EMA。

          總結(jié)

          SimSiam的理論解釋意味著所有帶stop-gradient的孿生網(wǎng)絡(luò)表征學(xué)習(xí)都可以用EM算法解釋。stop-gradient起到至關(guān)重要的作用,并且需要一個(gè)預(yù)測(cè)期望E的方法進(jìn)行輔助使用。但是SimSiam仍然無(wú)法解釋模型坍塌現(xiàn)象,SimSiam以及它的變體不坍塌現(xiàn)象仍然是一個(gè)經(jīng)驗(yàn)性的觀察,模型坍塌仍然需要后續(xù)的工作進(jìn)一步討論。

          看懂了SimSiam對(duì)孿生網(wǎng)絡(luò)表征學(xué)習(xí)的解釋?zhuān)倏雌渌麘?yīng)用孿生網(wǎng)絡(luò)的算法就清爽了許多,SimSiam值一個(gè)best paper(雖然只拿了2021 CVPR Best Paper Honorable Mention)。


          Reference

          [1] Exploring Simple Siamese Representation Learning

          [2]?https://zhuanlan.zhihu.com/p/36331115

          [3]?https://zhuanlan.zhihu.com/p/367290573


          往期精彩回顧




          站qq群955171419,加入微信群請(qǐng)掃碼:
          瀏覽 117
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  国产尤物在线 | 蜜芽av成人 | 在线播放高清无码 | 一本色道久久 | 成人国产精品免费视频 |