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

          聊聊我眼中愷明大神MAE的成功之處

          共 3240字,需瀏覽 7分鐘

           ·

          2021-11-29 02:39

          卷友們好,我是rumor。

          這兩天忍不住又卷去看CV領域的論文了,主要是前些日子愷明大神的MAE太過強大,感覺不看會錯過一個億??戳酥蠊徊回撐业钠诖蟮乐梁?,思路太清晰了、太深刻了,給他投光我的幾百個B幣都不為過

          不過,相信很多NLP領域的同學和我的第一反應一樣,聽到CV領域終于出了一個類似BERT的模型,卻內心有一絲絲的疑惑:BERT都出來三年了,CV領域的為什么現(xiàn)在才出來?而明明看起來這么簡單的做法,為什么只有愷明大神成功了?

          沒錯,我也有這個疑惑,于是我去翻了一下愷明大神在相關工作提到的iGPT、ViT、BEiT。把這三篇看下來,我才真正領略到了大神思想的高度。

          難道之前的工作沒試過提升mask ratio嗎?不是的。

          難道之前的工作沒試過用ViT預測pixel嗎?不是的。

          而這就是大神的NB之處,明明別人都試過了,覺得不work,而MAE就是能把這兩個核心問題想清楚,然后做出效果。

          到底怎么做出來的呢?不急,我來幫大家捋一捋。

          iGPT

          我們這個故事,要從2020年OpenAI的iGPT講起。OpenAI是一個想把一切GPT化的公司,到了圖像這里,自然的想法就是用GPT來訓一個圖像模型。但是圖像是個三維的數(shù)據(jù)(長x寬x通道),不像文字一樣可以變成一維向量的序列。如果直接把圖像的三維矩陣拼成二維也可以,但這樣數(shù)量就太多了。于是iGPT就想到了一個方法,把圖像馬賽克掉,變成一個個色塊,數(shù)量一下就減少了,可以像NLP一樣愉快地輸入到Transformer了:

          解決這個核心難點之后就很愉快了,可以無腦用GPT和BERT啦。

          最后實驗下來,BERT在兩個數(shù)據(jù)集的平均表現(xiàn)比GPT差一點點(橙色):

          而且BERT因為mask的方式,存在訓練預測不一致的問題,OpenAI嘗試對測試數(shù)據(jù)隨機mask 5個token,最終ImageNet結果果然上升了一些(紅色)。但還是改變不了OpenAI要用GPT統(tǒng)治一切的事實,這篇文章還是用GPT-2(攤手。

          iGPT雖然嘗試過形式與BERT接近的預訓練,但卻連一個MAE的關鍵點都沒碰到。其中我覺得問題最大的主要是這個馬賽克操作,就拿文中貼的例子來看,都被馬賽克成那樣子了,還學習什么呢。。。雖然事實證明還是有效果的,但還是從輸入上就降低了模型的擬合能力。

          但別急,這個問題馬上就被解決了。

          ViT

          第二個出場的嘉賓,就是紅遍大江南北的Vision Transformer——ViT。

          它對上面問題的解決辦法,就是思想上借鑒了CNN的局部特征抽取,把圖片分割成一個個patch,再通過線性映射成一個類似NLP的token embedding。同時為了保留位置信息,加上了可學習的position embedding。

          從ViT開始,CVer們終于可以更優(yōu)雅地使用Transformer了。然而ViT的實驗還是跟傳統(tǒng)CV一樣,進行有監(jiān)督的預訓練。為什么不試試MLM呢?其實他們試過了,但效果不好,所以沒重點放出來。

          在附錄中,ViT其實嘗試過三種預訓練方法,首先mask掉50%的patch,然后:

          1. 只預測patch的mean color
          2. 只預測一個馬賽克版的patch
          3. 用L2損失預測所有pixel

          第三種方法真的很接近有木有?。。∪欢鴮嶒灠l(fā)現(xiàn)第三種更差一些,第一種最好,但也比有監(jiān)督的落后4個點。

          看到這里,如果去翻翻MAE的分析實驗,就會發(fā)現(xiàn)MAE mask 50%之后的效果也很好:

          怎么辦,就導致我這個旁觀者很著急。雖然ViT已經(jīng)是很厲害的工作了,如果當時再想想,簡直神上加神。到底是什么點呢?我們留到MAE再說。

          BEiT

          第三位出場的嘉賓是BEiT,微軟今年年中的工作,作者之一是知乎的董力大佬。

          BEiT的形式同樣很接近BERT,只不過用了一個dVAE對patch進行離散化(就像NLP的token也是離散化的)。dVAE需要先在語料上訓練出一個encoder和一個decoder,encoder用來當作tokenizer,把圖像離散化(對應一個個patch),然后給Transformer輸入patch,預測離散后的圖像,再用decoder還原。

          在預訓練階段,最多會mask 40%的patch(同樣很接近MAE了)。

          另外,作者們其實也試過復原pixel,但效果會有1.8%的下降。對于這個現(xiàn)象,BEiT給出的猜想是,就像多層CNN一樣,編碼器最終得到的應該是一個更全局、高維的表示,而復現(xiàn)pixel會讓后幾層太關注局部細節(jié)。

          MAE

          終于輪到MAE出場了,了解了上述幾個模型的背景,我們再來看愷明大神在開篇提出的問題:到底是什么原因導致視覺和語言用的masked autoencoder不一樣?

          核心的三個點是:

          1. 結構:CNN天然適合圖像領域,而應用Transformer卻顯得不那么自然,不過這個問題已經(jīng)被ViT解了。再看上面幾篇工作,會發(fā)現(xiàn)相比iGPT的馬賽克、dVAE的離散化來說,patch形態(tài)是對信息損失最少且相對高效的
          2. 信息密度:人類的語言太博大精深了,你女朋友的每一句話,都有18層含義。而照片(ImageNet)不一樣,它就那么多信息,兩三個詞就能概括。所以預測的時候,預測patch要比預測詞語容易很多,只需要對周邊的patch稍微有些信息就夠了。所以我們可以放心大膽地mask。這點ViT、BEiT其實也都有,但主要就是最后一點沒有深究
          3. 需要一個Decoder:首先,是不是一定要復原pixel呢?我覺得是的,因為圖片信息密度有限,復原pixel這種細粒度信息會讓模型強上加強。那怎么優(yōu)雅地復原呢?BEiT已經(jīng)說過了,在預訓練圖像encoder的時候,太關注細節(jié)就損失了高維抽象能力。所以凱明大神加了一個decoder。到這里分工就很明確了,encoder負責抽取高維表示,decoder則負責細粒度還原

          羅馬不是一天建成的,MAE真正成功的點,就在于把后兩個問題想清楚,并且給出了解決方案。

          當然還有一些細節(jié),比如:

          • 輸入側直接丟掉mask token,效果+0.7,效率x3.3
          • 預測normalize之后的pixel,效果+0.5
          • 選取數(shù)據(jù)增強策略,效果+0.2

          另外,BEiT和MAE用的預訓練數(shù)據(jù)都是ImageNet-1K,再仔細看他們的預訓練超參數(shù),不一樣的地方也有很多,但具體造成多大diff還不清楚。

          總結

          好了,我們的故事接近尾聲了。由于時間有限,我只看了以上幾篇MAE引用比較的重點工作,肯定還有很多預訓練的嘗試沒有看到,不足之處還請指正。

          不同人對科研的品味都不一樣,我剛入門NLP的時候,恰好是BERT誕生的時候,記得特別清楚,是18年十月初的一個周末,我達摩院的朋友來找我玩,躺我床上刷手機時,跟我說出了一個很大的工作。再加上后續(xù)的一系列預訓練進展,導致我越來越喜歡大道至簡的方法。知乎上也有人質疑MAE的novelty,而當我們真正順著看下來時,卻可以看到MAE是真的多走了一步,深入淺出,最終呈現(xiàn)給大家一個「這都可以」的結果。

          最后,其實預訓練模型的價值,不僅是可以更簡單、有效的遷移到下游任務,更是它scale的性質,試想如果增加算力、無監(jiān)督數(shù)據(jù)就能提升效果的話,你對那個還未到達的天花板好不好奇呢?


          ——The ?End——


          推薦閱讀

          FAIR何愷明團隊最新研究:定義ViT檢測遷移學習基線

          NLP和CV的雙子星,注入Mask的預訓練模型BERT和MAE

          【何愷明新作速讀】Masked Autoencoders Are Scalable Vision Learners

          如何看待何愷明最新一作論文Masked Autoencoders Are Scalable Vision Learners?

          瀏覽 48
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  欧美网站在线观看 | 国产真实野外在线 | 日本三级网站在线播放 | 91黄色视频在线观看 | 西西特级444www高清视频 |