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