帶掩碼的自編碼器MAE在各領(lǐng)域中的應(yīng)用總結(jié)
機(jī)器學(xué)習(xí)算法應(yīng)該理解數(shù)據(jù)從中提取有用的特征才能夠解決復(fù)雜的任務(wù)。通常訓(xùn)練泛化模型需要大量帶注釋的數(shù)據(jù)。這個(gè)是非常費(fèi)時(shí)費(fèi)力的,并且一般情況下都很難進(jìn)行。
所以各種基于帶掩碼的自編碼器技術(shù)就出現(xiàn)了,這種技術(shù)允許在未標(biāo)記的數(shù)據(jù)上訓(xùn)練模型,并且獲得的特征能夠適應(yīng)常見下游任務(wù)
- BERT — 最早的遮蔽模型,用于文本任務(wù) 1810.04805
- MAE — 圖像,可以說它將BERT的輝煌延伸到了視覺 2111.06377
- M3MAE — 圖像+文字 2205.14204
- MAE that listen — 音頻 2207.06405
- VideoMAE — 視頻 2203.12602
- TSFormer — 時(shí)間序列 2107.10977
- GraphMAE — 圖 2205.10803
從上面我們可以看到 Masked Autoencoder幾乎覆蓋了大部分的主要研究領(lǐng)域是一種強(qiáng)大而簡(jiǎn)單的技術(shù),它使用基于transformer的模型進(jìn)行預(yù)訓(xùn)練得到高水平的數(shù)據(jù)表示,這對(duì)在任何下游任務(wù)(遷移學(xué)習(xí),微調(diào))上采用該模型都很有幫助。
自監(jiān)督學(xué)習(xí)是一種不需要任何標(biāo)簽就能獲得數(shù)據(jù)信息表示的方法。標(biāo)準(zhǔn)的自監(jiān)督學(xué)習(xí)技術(shù)通常使用高級(jí)數(shù)據(jù)增強(qiáng)策略。但是對(duì)于文本、音頻、大腦信號(hào)等形式來說,如何選擇增強(qiáng)策略并且保證策略的合理性是一個(gè)非常棘手的問題
而Masked Autoencoder不使用這種策略。我們只需要有數(shù)據(jù),并且是大量的數(shù)據(jù)還有必要的計(jì)算資源即可。它使用重建的方式根據(jù)被部分遮蔽的樣本來預(yù)測(cè)完整的數(shù)據(jù)。如果遮蔽了大約70%的數(shù)據(jù),模型還能夠恢復(fù)數(shù)據(jù)的話,則說明模型學(xué)習(xí)到了數(shù)據(jù)的良好的高級(jí)表示
MAE是如何工作的?
MAE 的工作原理非常簡(jiǎn)單。看看下面的圖片:
訓(xùn)練前需要屏蔽一半以上的Patch(比如75%)。編碼器接收可見的Patch塊。在編碼器之后,引入掩碼標(biāo)記,用一個(gè)?。ㄏ鄬?duì)于編碼器?。┙獯a器對(duì)全部編碼的Patch和掩碼標(biāo)記進(jìn)行解碼,重建原始圖像。下游的任務(wù)中,編碼器的輸出作為特征,下游任務(wù)不需要進(jìn)行遮蔽。
一般流程如下:
- 獲取數(shù)據(jù)樣本(圖像)。
- 對(duì)樣本進(jìn)行區(qū)域劃分(patches for image, word for text等)
- 應(yīng)用高比率的隨機(jī)遮蔽(論文中使用75%)
- 只保留可見的部分,并將它們輸入編碼器。
- 使用上面的掩碼進(jìn)行填充,將編碼器的輸出和遮蔽進(jìn)行合并并且保留原始順序,作為解碼器的輸入。
- 解碼器來負(fù)責(zé)重建遮蔽。
就是這么一個(gè)簡(jiǎn)單的流程就能夠從數(shù)據(jù)中提取有意義的特征??
對(duì)于下游的任務(wù),只使用預(yù)訓(xùn)練的編碼器,因?yàn)樗鼘W(xué)習(xí)數(shù)據(jù)的有用表示。
這里需要說明的是,因?yàn)橛蓆ransformer 不依賴于數(shù)據(jù)的長(zhǎng)度,所以在下游使用時(shí)可以將完整的樣本輸入到模型中,也就是說下游的任務(wù)不需要進(jìn)行掩碼遮蔽了。
MAE為什么可以在不同的領(lǐng)域中使用?
MAEs可以很容易地適應(yīng)不同的數(shù)據(jù)模式。下面圖是在視頻和音頻領(lǐng)域中使用MAE的流程。如果你是這個(gè)方向的從業(yè)者,試試它吧。
音頻的頻譜圖的MAE
下面的說明來自論文
我們探索了將MAE簡(jiǎn)單擴(kuò)展到音頻數(shù)據(jù)的方法。我們的audio - mae學(xué)習(xí)從音頻錄音中重建隱藏的聲譜圖Patch,并在6個(gè)音頻和語音分類任務(wù)中實(shí)現(xiàn)了最先進(jìn)的性能。得出了一些有趣的觀察結(jié)果:1、一個(gè)簡(jiǎn)單的MAE方法對(duì)音頻譜圖的效果出奇的好。2、在解碼器中學(xué)習(xí)具有局部自我注意的更強(qiáng)的表示是可能的。3、掩蔽可以應(yīng)用于訓(xùn)練前和微調(diào),提高精度和減少訓(xùn)練計(jì)算
視頻的MAE
為了進(jìn)行視頻自監(jiān)督學(xué)習(xí),VideoMAE使用了一個(gè)遮蔽的自編碼器和一個(gè)普通的ViT主干。與對(duì)比學(xué)習(xí)方法相比,VideoMAE有更短的訓(xùn)練時(shí)間(3.2倍加速)。在未來關(guān)于自監(jiān)督視頻訓(xùn)練的研究中,VideoMAE可能是一個(gè)很好的起點(diǎn)。
結(jié)果展示
最值得關(guān)注的結(jié)果是所有這些MAE技術(shù)都在他們相應(yīng)的領(lǐng)域擊敗了SOTA。
訓(xùn)練的細(xì)節(jié)
這些論文中也都包含了訓(xùn)練的細(xì)節(jié)的信息,這對(duì)于我們進(jìn)行詳細(xì)研究非常有幫助。例如損失函數(shù)(MSE)僅在不可見的令牌上計(jì)算,剩下的就是一些訓(xùn)練的參數(shù):
這是MAE的
這是視頻的
優(yōu)點(diǎn)和缺點(diǎn)
優(yōu)點(diǎn)
可以看到,MAE這種方式幾乎適用于任何形式的任務(wù)
缺點(diǎn)
這種方法的骨干都是transformer,(目前)沒有其他的骨干,并且它需要大量的數(shù)據(jù)和計(jì)算資源。
總結(jié)
這是一個(gè)非常強(qiáng)大的技術(shù),可以用于任何領(lǐng)域,并且還能夠起到很好的效果。
TSFormer 雖然使用了這個(gè)方法但是也沒有公開代碼,并且效果也不太好,但是我們是否可以利用MAE,將多元時(shí)間序列表示為音頻,并提供相同的預(yù)訓(xùn)練呢?這可能對(duì)用少量標(biāo)記數(shù)據(jù)解決下游任務(wù)有很大幫助。
是否可以增加額外的損失函數(shù)和限制。這樣就可以對(duì)訓(xùn)練模型進(jìn)行重構(gòu),甚至做一些聚類的工作。
除此以外還有更多的論文我們可以參考:
- MultiMAE(2204.01678):多模態(tài)多任務(wù)MAE。
- 結(jié)合對(duì)比學(xué)習(xí)(augs)與MAE:Contrastive Masked Autoencoders are Stronger Vision Learners 2207.13532
其實(shí)MAE的出現(xiàn)不僅僅是將BERT在NLP中的成就擴(kuò)展到了CV:
- iGPT是最早提出(目前我所知道的,歡迎指正)把圖像馬賽克掉,變成一個(gè)個(gè)色塊,數(shù)量一下就減少了,可以像NLP一樣愉快地輸入到Transformer了,但是會(huì)存在訓(xùn)練預(yù)測(cè)不一致的問題。
- ViT的預(yù)訓(xùn)練方法,mask掉50%的patch,預(yù)測(cè)patch的mean color
- BEiT用了一個(gè)dVAE對(duì)patch進(jìn)行離散化,mask 40%的patch
但他們其實(shí)都沒有理解一個(gè)問題,就是到底是什么原因?qū)е乱曈X和語言用的masked autoencoder不一樣。而MAE的成功就在于這個(gè)問題想清楚,并且給出了解決方案。
所以我個(gè)人認(rèn)為MAE是一個(gè)很好的開端,并且它已經(jīng)證明了領(lǐng)域內(nèi)的知識(shí)+簡(jiǎn)單的方法能夠創(chuàng)造出很好的模型。