前饋網(wǎng)絡(luò)+線性交互層=殘差MLP,F(xiàn)acebook純MLP圖像分類架構(gòu)入場
最近一段時間,多層感知機(jī)(MLP)成為 CV 領(lǐng)域的重點(diǎn)研究對象,谷歌、清華大學(xué)等機(jī)構(gòu)的研究者先后提出了純 MLP 構(gòu)建的視覺架構(gòu)和新的注意力機(jī)制,這些研究將 CV 的研究重心重新指向 MLP。近日,F(xiàn)acebook 提出了具有數(shù)據(jù)高效訓(xùn)練、用于圖像分類的純 MLP 架構(gòu) ResMLP,當(dāng)采用現(xiàn)代的訓(xùn)練方法時,該架構(gòu)在 ImageNet 數(shù)據(jù)集上實(shí)現(xiàn)了相對不錯的性能。
前幾天,谷歌提出的 MLP-Mixer 引爆 CV 圈,無需卷積、注意力機(jī)制,僅需 MLP 即可實(shí)現(xiàn)與 CNN、ViT 相媲美的性能。
同樣地,清華大學(xué)的 Jittor 團(tuán)隊(duì)提出了一種新的注意機(jī)制,稱之為「External Attention」,基于兩個外部的、小的、可學(xué)習(xí)的和共享的存儲器,只用兩個級聯(lián)的線性層和歸一化層就可以取代現(xiàn)有流行的學(xué)習(xí)架構(gòu)中的「Self-attention」,進(jìn)一步揭示了線性層和注意力機(jī)制之間的關(guān)系;此外,清華大學(xué)丁貴廣團(tuán)隊(duì)將 MLP 作為卷積網(wǎng)絡(luò)的一種通用組件實(shí)現(xiàn)多種任務(wù)性能提升。
MLP->CNN->Transformer->MLP 圈似乎已成為一種趨勢。
近日,來自 Facebook 的研究者進(jìn)一步推動了這一趨勢,他們提出了 ResMLP(Residual Multi-Layer Perceptron ),一種用于圖像分類的純多層感知機(jī)(MLP)架構(gòu)。
論文鏈接:https://arxiv.org/pdf/2105.03404.pdf
該架構(gòu)極為簡單:它采用展平后的圖像 patch 作為輸入,通過線性層對其進(jìn)行映射,然后采用兩個殘差操作對投影特征進(jìn)行更新:(i)一個簡單的線性 patch 交互層,獨(dú)立用于所有通道;(ii)帶有單一隱藏層的 MLP,獨(dú)立用于所有 patch。在網(wǎng)絡(luò)的末端,這些 patch 被平均池化,進(jìn)而饋入線性分類器。
該架構(gòu)是受 ViT 的啟發(fā),但更加簡單:不采用任何形式的注意力機(jī)制,僅僅包含線性層與 GELU 非線性激活函數(shù)。該體系架構(gòu)比 Transformer 的訓(xùn)練要穩(wěn)定,不需要特定 batch 或者跨通道的標(biāo)準(zhǔn)化(如 Batch-Norm、 GroupNorm 或 LayerNorm)。訓(xùn)練過程基本延續(xù)了 DeiT 與 CaiT 的訓(xùn)練方式。
由于 ResMLP 的線性特性,模型中的 patch 交互可以很容易地進(jìn)行可視化、可解釋。盡管第一層學(xué)習(xí)到的交互模式與小型卷積濾波器非常類似,研究者在更深層觀察到 patch 間更微妙的交互作用,這些包括某些形式的軸向?yàn)V波器(axial filters)以及網(wǎng)絡(luò)早期長期交互。
架構(gòu)方法
ResMLP 的具體架構(gòu)如下圖 1 所示,采用了路徑展平(flattening)結(jié)構(gòu):
整體流程
ResMLP 以 N×N 非重疊 patch 組成的網(wǎng)格作為輸入,其中 N 通常為 16。然后,這些非重疊 patch 獨(dú)立地通過一個線性層以形成 N^2 個 d 維嵌入。接著,生成的 N^2 個 d 維嵌入被饋入到一個殘差 MLP 層序列中以生成 N^2 個 d 維輸出嵌入。這些輸出嵌入又被平均為一個表征圖像的 d 維向量,這個 d 維向量被饋入到線性分類器中以預(yù)測與圖像相關(guān)的標(biāo)簽。訓(xùn)練中使用到了交叉熵?fù)p失。
殘差多感知機(jī)層
網(wǎng)絡(luò)序列中的所有層具有相同的結(jié)構(gòu):線性子層 + 前饋?zhàn)訉印n愃朴?Transformer 層,每個子層與跳遠(yuǎn)連接(skip-connection)并行。研究者沒有使用層歸一化(LayerNormalization),這是因?yàn)楫?dāng)使用公式(1)中的 Affine 轉(zhuǎn)換時,即使沒有層歸一化,訓(xùn)練也是穩(wěn)定的。
研究者針對每個殘差塊都使用了兩次 Affine 轉(zhuǎn)換。作為預(yù)歸一化,Aff 替代了層歸一化,并不再使用通道級統(tǒng)計(jì)(channel-wise statistics)。作為殘差塊的后處理,Aff 實(shí)現(xiàn)了層擴(kuò)展(LayerScale),因而可以在后歸一化時采用與 [50] 中相同的小值初始化。這兩種轉(zhuǎn)換在推理時均集成至線性層。
此外,研究者在前饋?zhàn)訉又胁捎门c Transformer 中相同的結(jié)構(gòu),并且只使用 GELU 函數(shù)替代 ReLU 非線性。
與 Transformer 層的主要區(qū)別在于,研究者使用以下公式(2)中定義的線性交互替代自注意力:
與 ViT 的關(guān)聯(lián)
ResMLP 是 ViT 模型的大幅度簡化,但具有以下幾個不同點(diǎn):
ResMLP 沒有采用任何自注意力塊,使用的是非線性(non-linearity)的線性 patch 交互層;
ResMLP 沒有采用額外的「類(class)」token,相反只使用了平均池化;
ResMLP 沒有采用任何形式的位置嵌入,不需要的原因是 patch 之間的線性通信模塊考慮到了 patch 位置;
ResMLP 沒有采用預(yù)層歸一化,相反使用了簡單的可學(xué)習(xí) affine 轉(zhuǎn)換,從而避免了任何形式的批和通道級統(tǒng)計(jì)。
實(shí)驗(yàn)結(jié)果
研究者在 ImageNet-1k 數(shù)據(jù)集上訓(xùn)練模型,該數(shù)據(jù)集包含 1.2M 張圖像,平均分布在 1000 個對象類別中。他們在實(shí)驗(yàn)中采用了兩種訓(xùn)練范式:監(jiān)督學(xué)習(xí)和知識蒸餾。
首先,研究者將 ResMLP 與 Transformer、convnet 在監(jiān)督學(xué)習(xí)框架下進(jìn)行了比較,如下表 1 所示,ResMLP 取得了相對不錯的 Top-1 準(zhǔn)確率。
其次,利用知識蒸餾提高模型的收斂性,結(jié)果如下表 2 所示。與 DeiT 模型類似,ResMLP 可以從 convnet 蒸餾中顯著獲益。
實(shí)驗(yàn)還評估了 ResMLP 在遷移學(xué)習(xí)方面的性能。下表 3 展示了不同網(wǎng)絡(luò)架構(gòu)在不同圖像基準(zhǔn)上的性能表現(xiàn),數(shù)據(jù)集采用了 CIFAR-10、CIFAR100、Flowers-1022、 Stanford Cars 以及 iNaturalist 。
權(quán)重稀疏性測量也是研究者的關(guān)注點(diǎn)之一。下圖 2 的 ResMLP-24 線性層的可視化結(jié)果表明線性通信層是稀疏的,并在下圖 3 中進(jìn)行了更詳細(xì)的定量分析。結(jié)果表明,所有三個矩陣都是稀疏的,實(shí)現(xiàn) patch 通信的層明顯更稀疏。
最后,研究者探討了 MLP 的過擬合控制,下圖 4 控制實(shí)驗(yàn)中探索了泛化問題。
參考鏈接:https://bbs.cvmart.net/post/4750
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。