1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        NLP和CV的雙子星,注入Mask的預(yù)訓(xùn)練模型BERT和MAE

        共 6306字,需瀏覽 13分鐘

         ·

        2021-11-29 02:39

        kaiming的MAE和年初的CLIP可能是今年CV領(lǐng)域唯二的重磅文章,有預(yù)感MAE會成為CV領(lǐng)域和BERT地位相當(dāng)?shù)囊黄恼隆?/span>

        從BERT和MAE的形態(tài)上來說,都引入了mask機(jī)制來做無監(jiān)督預(yù)訓(xùn)練,但是又因?yàn)関ision和language兩種模態(tài)上本質(zhì)的不同,導(dǎo)致mask的設(shè)計(jì)上和整體框架上有所區(qū)別。從NLP的Transformer到BERT,然后到CV的ViT、BEiT,CV領(lǐng)域的無監(jiān)督預(yù)訓(xùn)練經(jīng)歷了漫長的探索,直到MAE的出現(xiàn),才逐漸感覺到CV的大規(guī)模無監(jiān)督預(yù)訓(xùn)練開始走向正軌。

        本文先捋順NLP和CV相關(guān)文章之間的關(guān)系脈絡(luò),然后探討一下BEiT和MAE的關(guān)系,最后探討一下BERT和MAE的關(guān)系。

        雙子星BERT和MAE

        BERT和MAE的關(guān)系圖。橙色虛線表示NLP和CV跨領(lǐng)域啟發(fā),綠色實(shí)線表示領(lǐng)域內(nèi)啟發(fā)。

        Transformer是整個(gè)大規(guī)模無監(jiān)督預(yù)訓(xùn)練的開端,Transformer改變了原有Seq2Seq的串行計(jì)算的方式,通過矩陣并行計(jì)算大幅度提升了長距離依賴的計(jì)算效率,并且由于整個(gè)框架完全采用attention,Transformer的擬合能力空前絕后。

        BERT得益于Transformer強(qiáng)大的計(jì)算效率,構(gòu)造一種類似完形填空的proxy task,可以將不同NLP任務(wù)的語料一起拿來做無監(jiān)督預(yù)訓(xùn)練,然后將預(yù)訓(xùn)練好的transformer encoder應(yīng)用于下游任務(wù)。

        ViT巧妙的將圖片構(gòu)造成patch序列,可以將patch序列送入原始的transformer encoder進(jìn)行圖像分類,ViT直接啟發(fā)了Transformer和BERT在CV領(lǐng)域的正確打開方式。

        iGPT應(yīng)該是第一個(gè)應(yīng)用BERT-like的mask方式做CV領(lǐng)域無監(jiān)督預(yù)訓(xùn)練的工作。iGPT把圖片resize構(gòu)建resize序列,同時(shí)將resize序列當(dāng)作監(jiān)督信號,可以直接使用BERT進(jìn)行CV的無監(jiān)督預(yù)訓(xùn)練,這給予了cv領(lǐng)域極大的想象空間。

        BEiT對iGPT無監(jiān)督預(yù)訓(xùn)練方法進(jìn)行了改進(jìn),借鑒ViT的思路,將圖片構(gòu)建成patch序列,并且通過一個(gè)tokenizer得到visual token,用學(xué)習(xí)的方式得到更精確的監(jiān)督信號,避免了resize導(dǎo)致的大量信息丟失。

        重頭戲來了!MAE做的更為極致,設(shè)計(jì)了一個(gè)encoder-decoder預(yù)訓(xùn)練框架,encoder只送入image token,decoder同時(shí)送入image token和mask token,對patch序列進(jìn)行重建,最后還原成圖片。相比于BEiT,省去了繁瑣的訓(xùn)練tokenizer的過程,同時(shí)對image token和mask token進(jìn)行解耦,特征提取和圖像重建進(jìn)行解耦,encoder只負(fù)責(zé)image token的特征提取,decoder專注于圖像重建,這種設(shè)計(jì)直接導(dǎo)致了訓(xùn)練速度大幅度提升,同時(shí)提升精度,真稱得上MAE文章中所說的win-win scenario了。

        BEiT如今的處境就如同當(dāng)年NLP的ELMO的處境,碰上MAE如此完美的方法,大部分影響力必然會被MAE給蠶食掉。BERT對整個(gè)大規(guī)模無監(jiān)督預(yù)訓(xùn)練的發(fā)展影響巨大,MAE可能是NLP和CV更緊密結(jié)合的開始。

        MAE

        mask autoencoder在cv領(lǐng)域中起源于denoising autoencoder(DAE),iGPT和BEiT實(shí)際上都包含了DAE的思想(DAE是bengio在08年提出來的,DAE認(rèn)為對輸入加噪聲,模型可以學(xué)習(xí)到更魯棒的特征),MAE則略有不同,將image token和mask token解耦,encoder只對image token進(jìn)行學(xué)習(xí),mask token只在decoder圖像重建中使用。

        MAE整體上是一個(gè)encoder-decoder框架,encoder只對visible patches進(jìn)行處理,decoder同時(shí)處理image token和mask token,得到重建序列,最后還原成圖片。其中visible patches是通過shuffle所有patches然后采樣前25%得到的(即mask ratio為75%),decoder的輸入image token和mask token通過unshuffle還原順序,并且都需要添加positional embedding來保持patch的位置信息。

        通過簡單設(shè)計(jì),MAE在mask ratio高達(dá)95%的時(shí)候,仍然能夠還原出強(qiáng)語義的信息。

        MAE文章中的fig2還有一行小字,意思是說之所以不把visible patches和reconstruction patches合起來顯示,就是為了讓你們看看我們的算法有多強(qiáng),蚌埠住了。

        Main Properties

        接下來看一看最精彩的實(shí)驗(yàn)部分

        Masking ratio

        這是MAE最為關(guān)鍵的實(shí)驗(yàn),隨著mask ratio的增加,fine-tuning和linear probing的精度竟然逐漸攀升,直到75%的mask ratio還不大幅度掉點(diǎn),這個(gè)實(shí)驗(yàn)結(jié)論跟之前的工作相差甚遠(yuǎn)(BEiT的mask ratio是40%),違背直覺的結(jié)論往往是推動(dòng)領(lǐng)域進(jìn)步的開始。

        Decoder design

        MAE對decoder的depth和width進(jìn)行探索,發(fā)現(xiàn)depth和width并不起決定性作用,最后MAE為了兼顧linear probing精度選擇8個(gè)blocks,512-d作為默認(rèn)配置。

        Mask token

        MAE在encoder部分做mask token的消融實(shí)驗(yàn),發(fā)現(xiàn)同時(shí)在encoder送入image token和mask token會導(dǎo)致fine-tuning和inear probling掉點(diǎn),尤其是linear probling掉了10幾個(gè)點(diǎn),并且計(jì)算量增加了3.3倍,該實(shí)驗(yàn)表明encoder使用mask token會導(dǎo)致encoder的提取特征能力減弱。

        Reconstruction target

        MAE對reconstruction target做了消融實(shí)驗(yàn),發(fā)現(xiàn)基于token的target相比于基于pixel的target不占優(yōu)勢,帶norm的pixel的target同時(shí)在fine-tuning和linear-tuning達(dá)到最優(yōu),表明基于token的target存在信息丟失問題。

        Data augmentation

        通過data augmentation的消融實(shí)驗(yàn),表明MAE對于數(shù)據(jù)增強(qiáng)的需求并不強(qiáng)烈,在較弱的數(shù)據(jù)增強(qiáng)下,反而能夠取得最好的精度,推測是因?yàn)橹亟ㄈ蝿?wù)本身就不需要強(qiáng)烈的數(shù)據(jù)增強(qiáng),過于強(qiáng)烈的數(shù)據(jù)增強(qiáng)會導(dǎo)致信息失真。

        Mask sampling strategy

        嘗試不同的mask采樣策略,發(fā)現(xiàn)隨機(jī)采樣效果是最好的,這也挺符合直覺的,隨機(jī)采樣得到的visible patches組合多樣性更好。

        Training schedule

        通過增加訓(xùn)練的epoch,MAE在fine-tuning和linear probing上可以持續(xù)提升精度,并且直到1600epoch還未見到衰退現(xiàn)象,說明了MAE抽象語義信息的能力之強(qiáng)。

        Comparisons with self-supervised methods

        和之前self-supervised方法進(jìn)行比較,MAE在只使用ImageNet-1K(IN1k)的情況下,更具優(yōu)勢,并且在使用ViT-H488的backbone上取得了只使用IN1k的最好精度。

        Comparisons with supervised pre-training

        MAE和supervised pre-training的進(jìn)行比較,發(fā)現(xiàn)MAE大幅度超過只使用IN1K的supervised pre-training,而且和使用JFT300M的supervised pre-training相差不多。

        Partial Fine-tuning

        MAE進(jìn)一步指出linear probling指標(biāo)對于非線性能力強(qiáng)的深度學(xué)習(xí)來說是不合理的。為了用更合理的指標(biāo)評估深度學(xué)習(xí)的非線性能力,MAE建議使用partial fine-tuning的評價(jià)指標(biāo)。使用partial fine-tuning評價(jià)指標(biāo),發(fā)現(xiàn)MAE在微調(diào)0層的時(shí)候,不如MoCov3,當(dāng)微調(diào)層數(shù)大于0層的時(shí)候,MAE開始逐漸超過MoCov3的精度,這個(gè)實(shí)驗(yàn)證明了MAE的非線性能力很強(qiáng),同時(shí)也說明了linear probling指標(biāo)的不合理性。

        Transfer Learning Experiments

        將MAE的encoder遷移到下游任務(wù)中,通過COCO和ADE20K兩個(gè)數(shù)據(jù)集,證明了MAE遷移目標(biāo)檢測和語義分割任務(wù)的優(yōu)越性。

        同時(shí)MAE也比較了一下pixel和token的target對于下游任務(wù)的影響,實(shí)驗(yàn)發(fā)現(xiàn)token的target對于下游任務(wù)來說也同樣沒有優(yōu)勢,甚至?xí)p微掉點(diǎn)。


        下面試圖解釋一下MAE能work的4點(diǎn)原因:

        1. 圖片構(gòu)建成patch序列。構(gòu)建成patch序列的方式,帶來了許多優(yōu)勢:相比于self-supervised的global對比學(xué)習(xí),patch序列可以學(xué)習(xí)到更細(xì)粒度的語義信息;相比于pixel序列,計(jì)算量大幅度降低,并且減少了pixel level的大量噪聲;相比于iGPT的resize序列,避免了resize的信息丟失。

        2. image token和mask token解耦。MAE在encoder部分只使用image token,使得encoder學(xué)到的特征更加干凈,mask token只在decoder中進(jìn)行使用,同時(shí)這種設(shè)計(jì)可以大幅度的降低encoder的計(jì)算量。

        3. 特征提取和圖像重建解耦。MAE的encoder只負(fù)責(zé)特征提取,decoder只負(fù)責(zé)圖像重建,所以decoder不需要很大的計(jì)算量。encoder是下游任務(wù)真正想要的,最后用于下游任務(wù)的時(shí)候,把不干凈的decoder扔掉就好了。而BEiT的encoder是需要同時(shí)兼顧特征提取和圖像重建,需要同時(shí)將image token和mask token映射到一個(gè)低維空間中,特征提取需要遷就圖像重建,降低了encoder的上限。特征提取和圖像重建解耦也是高mask ratio的關(guān)鍵。

        4. pixel的重建目標(biāo)。pixel的重建目標(biāo)可以盡可能的利用好圖像信息,避免監(jiān)督信息的丟失,而iGPT和BEiT的resize重建目標(biāo)和token重建目標(biāo)都會有不同程度的監(jiān)督信息的丟失,降低了encoder的上限。

        還有一個(gè)小細(xì)節(jié)

        重建loss只作用在mask token上,這會提升0.5個(gè)點(diǎn),這個(gè)設(shè)計(jì)使得image token和mask token的解耦更加徹底,試想一下,如果image token也計(jì)算重建loss,這會導(dǎo)致encoder的輸出和decoder沒辦法完全解耦,image token的重建loss梯度會回傳到encoder上,導(dǎo)致encoder將一部分注意力分散到了重建任務(wù)上,增加了encoder的學(xué)習(xí)難度。

        image token和mask token解耦對于encoder的影響

        這里我畫了一個(gè)圖來解釋一下image token和mask token解耦對于encoder的影響。

        image token和mask token同時(shí)送入encoder,相當(dāng)于是將兩個(gè)不同高維空間映射到一個(gè)低維空間中,假設(shè)image token映射到了一個(gè)低維空間中,那么encoder就需要分散出一部分的注意力將mask token映射到同一個(gè)空間。而MAE的encoder只對image token進(jìn)行映射,這個(gè)映射空間不要對mask token進(jìn)行遷就,能夠盡可能的得到干凈的語義特征,提高了encoder的上限。

        BERT vs MAE

        MAE另一個(gè)有意思的點(diǎn)是通過mask ratio揭示了vision和language兩種模態(tài)之間本質(zhì)差異。

        將BERT和MAE的框架進(jìn)行比較,MAE多了一個(gè)decoder重建的過程,并且mask token只用于decoder。BERT的和MAE的encoder功能性有所不同,BERT的功能性更類似于MAE的decoder重建,通過上下文來預(yù)測mask信息,而MAE的encoder主要是為了得到好的特征表達(dá),用于圖像信息的高度抽象。正是由于language本身就是高度抽象的信息,只需要通過encoder進(jìn)行重建即可,而vision本身有大量的冗余信息需要先通過encoder獲得高度抽象的信息,然后再通過decoder進(jìn)行重建。另外,NLP大多數(shù)的下游任務(wù)和BERT的預(yù)測mask信息是兼容的,而CV大多數(shù)的下游任務(wù)不需要重建,而是為了獲得高度抽象信息(比如圖像分類、目標(biāo)檢測、語義分割),也就是只需要encoder。


        另外講一下mask ratio和模型復(fù)雜度還有特征表達(dá)之間的關(guān)系。

        實(shí)際上,隨著mask ratio的上升,模型復(fù)雜度逐漸降低(正則逐漸上升),而特征表達(dá)能力上,是先上升后下降的過程。一開始mask ratio比較低,噪聲比較大,學(xué)到的特征不夠干凈,特征表達(dá)能力弱,隨著mask ratio的增加,噪聲逐漸減小,特征表達(dá)能力逐漸增加,直到mask ratio過大,不能從有效的特征中學(xué)到合適的特征表達(dá)。

        這也能解釋為什么vision是高mask ratio(75%),而language是低mask ratio(15%)。上面也說到language本身就是高度抽象的信息,而vision是帶有大量冗余的信息,也就是說特征表達(dá)能力最強(qiáng)的最優(yōu)mask ratio,language會更小,vision會更大。因?yàn)閘anguage噪聲更小,需要通過更多的上下文信息推理相互關(guān)系,而vision需要減少冗余信息的噪聲,通過更小的模型復(fù)雜度學(xué)到真正的語義信息。

        mask ratio其實(shí)是在找最適合數(shù)據(jù)的模型復(fù)雜度,mask越多,模型越簡單,mask越少,模型越復(fù)雜。


        Reference

        [1] Masked Autoencoders Are Scalable Vision Learners

        [2] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

        [3] BEIT: BERT Pre-Training of Image Transformers

        [4] Generative Pretraining from Pixels

        [5] Extracting and composing robust features with denoising autoencoders

        [6] AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

        [7] Attention Is All You Need

        [8] jalammar.github.io/illustrated-bert/



        ——The ?End——


        ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?覺得有用給個(gè)在看吧?

        瀏覽 34
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

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

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产三男一女4p免费男黑人 | 美女在线抠逼 | 日韩一级无码视频免费的网站 | 五月婷婷丁香六月 | 黄色大尺度视频 | 乱伦婷婷五月天 | 亚洲激情中文字幕 | 色中色综合导航 | 国产精品美女网站 | 国内精品久久久久久久久久变脸 |