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

          Google AI提出MLP-Mixer:只需MLP就在ImageNet達(dá)到SOTA!

          共 3046字,需瀏覽 7分鐘

           ·

          2021-05-15 20:51

          點(diǎn)藍(lán)色字關(guān)注“機(jī)器學(xué)習(xí)算法工程師

          設(shè)為星標(biāo),干貨直達(dá)!


          近日,Google AI又發(fā)布了一篇與ViT一樣的重磅級(jí)論文:MLP-Mixer: An all-MLP Architecture for Vision。這篇論文提出的Mixer模型僅包含最簡單的MLP結(jié)構(gòu)就能在ImageNet上達(dá)到SOTA。那么MLP其實(shí)是兩層FC層,這不禁讓人感嘆:

          FC is all you need, neither Conv nor Attention!

          在數(shù)據(jù)和資源足夠的情況下,或許inductive bias的模型反而成了束縛,還不如最simple的模型來的直接。下面結(jié)果圖就可以說明一切:當(dāng)訓(xùn)練數(shù)據(jù)量較少時(shí),性能BiT>ViT>Mixer,但是隨著數(shù)據(jù)量的增加,三者性能基本相差無幾。

          從網(wǎng)絡(luò)架構(gòu)來看,MLP-Mixer和ViT非常類似:

          1. 預(yù)處理都是將圖像分成patchs,通過linear projection得到一系列patch embeddings;

          2. 網(wǎng)絡(luò)主體都是isotropic design,即由N個(gè)連續(xù)且相同的layers來組成。

          差別主要體現(xiàn)在layers的不同,ViT采用的是transformer layer,而MLP-Mixer采用的是mixer-layer,mixer-layer很簡單,只包括兩個(gè)MLP(還有skip connection):

          (1)token-mixing MLP block:輸入的特征維度 為 ,操作的維度是tokens,意味著對(duì)所有tokens的同一特征做MLP;

          (2)channel-mixing MLP block:輸入的特征維度為  ,操作的維度是channels,意味著對(duì)各個(gè)tokens的所有特征做MLP。

          對(duì)于圖像,大部分的網(wǎng)絡(luò)無非是從兩個(gè)方面mix features:

          (i) at a given spatial location,

          (ii) between different spatial locations,

          比如卷積其實(shí)是同時(shí)進(jìn)行(i)和(ii),特別地1x1卷積只完成(i),single-channel depth-wise conv 只完成(ii);而transformer layer比較復(fù)雜,projection layer實(shí)現(xiàn)的是(i),self-attention實(shí)現(xiàn)的是(ii)(實(shí)際上也會(huì)涉及(i)),F(xiàn)FN實(shí)現(xiàn)的是(i)。而對(duì)于mixer-layer,其實(shí)就完全分離兩個(gè)部分了,token-mixing MLP block實(shí)現(xiàn)的是(ii),channel-mixing MLP block實(shí)現(xiàn)的是(i),這也算是設(shè)計(jì)上的一個(gè)巧妙解釋吧。

          由于channel mixing MLP是permutation-variant,對(duì)tokens的順序是敏感的,這和ViT不同,因?yàn)閟elf-attention是permutation-invariant的。因次Mixer不需要e position embedding。不過由于token-mixing MLP block的存在,這也意味著網(wǎng)絡(luò)只能接受固定size的圖像輸入,畢竟這里MLP的參數(shù)依賴于tokens的數(shù)量,這對(duì)于dense prediction任務(wù)來說,可能有點(diǎn)麻煩,因?yàn)闄z測和分割的基本都是變輸入。

          Mixer的網(wǎng)絡(luò)參數(shù)設(shè)計(jì)和ViT較為類似,具體如下:

          Mixer在不同的數(shù)據(jù)集上pre-training后遷移到其它任務(wù)時(shí),其性能與ViT等其它模型對(duì)比如下,可以看到Mixer均可以接近SOTA,而且模型inference time也基本類似。

          但是這都是需要在比較大的數(shù)據(jù)集比如ImageNet-21K和JFT-300上進(jìn)行pre-training,當(dāng)Mixer訓(xùn)練數(shù)據(jù)不足時(shí),Mixer容易過擬合,其效果要差于CNN和ViT,下表是不同設(shè)置的Mixer與其他模型的對(duì)比,比如在ImageNet上訓(xùn)練的話,Mixer-B/16性能就低于ViT-B/16。

          關(guān)于Mixer,有人覺得它其實(shí)是包含卷積的,比如LeCun大佬就發(fā)聲了:1st layer "Per-patch fully-connected" == "conv layer with 16x16 kernels and 16x16 stride" , other layers "MLP-Mixer" == "conv layer with 1x1 kernels"。其實(shí)這個(gè)是從實(shí)現(xiàn)的角度來看這個(gè)的,但是只有1x1的卷積層還能算的上是CNN嗎?其實(shí)論文也從另外一個(gè)角度說明了Mixer和CNN的聯(lián)系:channel mixing MLP等價(jià)于1x1卷積,token-mixing MLP 等價(jià)于一個(gè)kernel size為image size的single-channel depth-wise convolutions,但是這里parameter sharing for token mixing(這里就是, separable convolution,但是conv一般不同的channel會(huì)采用不同卷積核,而token-mixing MLP是所有channel的參數(shù)都是共享的)。

          無獨(dú)有偶,隨后牛津大學(xué)也發(fā)布了一篇簡單的論文:Do You Even Need Attention? A Stack of Feed-Forward Layers Does Surprisingly Well on ImageNet,其提出的模型結(jié)構(gòu)其實(shí)是和Mixer一樣,只不過論文里用FFN,而不是MLP,而且實(shí)驗(yàn)沒有Google的充分:

          論文里面也有一小段對(duì)這種網(wǎng)絡(luò)的描述,其實(shí)和我們上述所述基本一致:

          不論是ViT,或者CNN-ResNet,還是這里的MLP-Mixer,其實(shí)最本質(zhì)的一點(diǎn),就是它們都是residual net,或許這才是最重要的。

          最后不得不說,Google可能又開了一個(gè)新坑,可能滋養(yǎng)一大批paper,參考ViT



          推薦閱讀

          CPVT:一個(gè)卷積就可以隱式編碼位置信息

          DETR:基于 Transformers 的目標(biāo)檢測

          MoCo V3:我并不是你想的那樣!

          Transformer在語義分割上的應(yīng)用

          "未來"的經(jīng)典之作ViT:transformer is all you need!

          PVT:可用于密集任務(wù)backbone的金字塔視覺transformer!

          漲點(diǎn)神器FixRes:兩次超越ImageNet數(shù)據(jù)集上的SOTA

          Transformer為何能闖入CV界秒殺CNN?

          不妨試試MoCo,來替換ImageNet上pretrain模型!


          機(jī)器學(xué)習(xí)算法工程師


                                              一個(gè)用心的公眾號(hào)


           


          瀏覽 49
          點(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>
                  超碰日韩在线 | 精品人妻免费 | 色婷婷亚洲精品天天综合 | www.国产在线 | 操b视频免费 |