日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MLP is Best?

發布時間:2025/3/8 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MLP is Best? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

眾所周知,CNN是計算機視覺的首選模型,最近還流行用vision transformer做視覺,誰又能想到用多層感知機(MLPs)去做圖像相關的模型呢?《MLP-Mixer: An all-MLP Architecture for Vision》這篇論文就用了基于MLP的框架,依然取得了很高的分類精度。

MLP-Mixer簡介

MLP-Mixer不用卷積,也不用attention,完全基于multi-layer perceptrons(MLPs),僅依賴最基本的矩陣相乘,數據輸出的改變(reshape,轉置),和標量的非線性。上圖展示了MLP-Mixer的宏觀框架。說好的MLP,為啥看著這么像transfromer。

從上圖我們可以看到,一張圖片會被等分切成多個patchs,然后每個patch會有很多channels,最終一張圖片的輸入就是patches * channels的一張表。通俗點說,如上圖左下角那張圖片,假如它是9 * 9 * 3 ,會被劃分成9個patch,每個patch就是3 * 3 * 3 = 27,所以這張圖片的輸入就是 9 * 27,如果輸入多張圖片,就是batch_size * 9 * 27。

從圖中,我們可以看到Mixer使用兩種類型的MLP層,channel-mixing MLPS和token-mixing MLPs。channel-mixing MLPs使得channel內之間有交互,而token-mixing MLPs使得不同位置(不同patch)之間有交互。這兩種類型的MLP交錯使用使得輸入各個維度之間不斷學習交叉特征。

如論文所說,channel-mixing就相當于使用1維卷積,對于token-mixing就可以看作為一個單通道的depth-wise卷積。CNN并不能看作是Mixer的特例,要遠比這種結構復雜。

Mixer架構

其實Mixer架構非常簡單,看上面的圖解就已經很清楚了。Mixer把一個圖片拆解為S個patchs,每個patch之間并無重疊。

每個patch會被同一個矩陣做線性映射為X(S * C),然后輸入到上文所說的多個Mixer層中,先是遇到token-mixing MLP block,對矩陣每列做映射,再是通過channel-mixing對每行做映射,這里映射是共享embedding的。每個MLP層都包含兩個全連接和一個非線性函數。Mixer layers用公式定義如下:

每層mixer的輸入都是同樣尺寸的table,這個和transformer很類似,和CNN就很不同了。Mixer也沒有使用position embedding,因為token-mixing MLPs對位置已經很敏感了。最后Mixer用了一個很標準的pooling層和全連接層做分類任務。

實驗

從實驗中我們可以看到mixer在精度上離vit模型已經相差不多了,論文還對比了pretrain后的效果對比,感興趣的可以看原文。

MLP-Mixer: An all-MLP Architecture for Vision.

arxiv.org/pdf/2105.0160

代碼路徑:github.com/google-resea

MLP is Best?



總結

以上是生活随笔為你收集整理的MLP is Best?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。