馬賽克,剋星,真來了!

大家好,我是 Jack。

馬賽克的剋星,真的來了!

何愷明大神的新作,Kaiming 講故事能力和實驗能力,一如既往的強!

MAE 的論文,21 年的 11 月份就發出來了。

但是一直沒有開源,我也就一直沒有寫文,最近代碼發出來了,可以一睹爲快了!

我們先說下 MAE 的任務:

簡單講:將圖片隨機遮擋然後復原

並且遮擋的比例,非常大超過整張圖的 80% ,我們直接看效果:

第一列是遮擋圖,第二列是修復結果,第三列是原圖。

圖片太多,可能看不清,我們單看一個:

看這個遮擋的程度,錶針、錶盤幾乎都看不見了。但是 MAE 依然能夠修復出來:

這個效果真的很驚豔!

甚至對於遮擋 95% 的面積的圖片依然 work。

看左圖,你能看出來被遮擋的是蘑菇嗎??

MAE 卻能輕鬆修復出來。接下來,跟大家聊聊 MAE。

MAE

MAE 的意義不僅在這個修復遮擋,去掉 mask 本身。

更在於爲 CV 領域提供大一統的預訓練模型提供了無限的想像。

做過 NLP 的小夥伴應該知道,在 NLP 任務中,Bert 已經一統江湖。

各子任務(如翻譯、生成、文本理解等)均可使用相同的無監督預訓練模型。

這保證了每個任務都能有非常不錯的效果。

但在 CV 任務中,卻各玩各的,分類任務有自己的無監督學習,檢測任務有自己的無監督學習,每個 CV 領域的子任務,都有自己一套無監督學習,一直無法統一。

而 MAE 一出,可以想象大一統的 CV 無監督預訓練模型的時代已不遠矣。

可能這段話,一些剛入門的小夥伴看不太懂。

沒關係,慢慢學。學了 Bert,你就明白這意味着什麼了。MAE 就是類似 Bert 存在的東西,可以認爲它就是 Bert 的一個 CV 版。

好久沒有講解算法原理了,今天簡單講解下 MAE。

Vit

講解 MAE 之前不得不先說下 Vit。

紅遍大江南北的 Vision Transformer,ViT。

領域內的小夥伴,或多或少都應該聽說過。

它將 Transformer 應用到了 CV 上面,將整個圖分爲 16 * 16 的小方塊,每個方塊做成一個詞,然後放進 Transformer 進行訓練。

Transformer 的公式推導,原理講解,我寫過一篇文章,忘記的小夥伴可以先回顧下:

保姆級教程:硬核圖解 Transformer

從 ViT 開始,CV 小夥伴們終於可以更優雅地使用 Transformer 了。

MAE

MAE 結構設計的非常簡單:

將一張圖隨機打 Mask,未 Mask 部分輸入給 Encoder 進行編碼學習,這個 Encoder 就是 Vit,然後得到每個塊的特徵。

再將未 Mask 部分以及 Mask 部分全部輸入給 Decoder 進行解碼學習,最終目標是修復圖片。

而 Decoder 就是一個輕量化的 Transformer。

它的損失函數就是普通的 MSE。

所以說, MAE 的 Encoder 和 Decoder 結構不同,是非對稱式的。Encoder 將輸入編碼爲 latent representation,而 Decoder 將從 latent representation 重建原始信號。

熬夜寫文時間有限,更詳細的細節大家可以直接看看論文:

https://arxiv.org/abs/2111.06377

算法測試

官方剛剛開源6天,就已經獲得了1.5k+的 Star,關注度可見一斑。

項目地址:

https://github.com/facebookresearch/mae

項目提供了 Colab,如果你能登陸,那麼可以直接體驗:

https://colab.research.google.com/github/facebookresearch/mae/blob/main/demo/mae_visualize.ipynb

如果不能登陸,可以直接本地部署,作者提供了預訓練模型。

如果環境搭建有問題的,可以參考之前我發佈的一期視頻:

https://www.bilibili.com/video/BV14R4y1g7qs

也可以加羣探討,很多新來的小夥伴在折騰開發環境。公衆號後臺回覆加羣,即可找到加羣方式。

最後看下,我跑的效果:

這個修復效果,你打幾分?

最後

MAE 可以用來生成不存在的內容,就像 GAN 一樣。

我知道很多小夥伴,又有了一些 “大膽” 的想法,不過玩笑歸玩笑,自己玩玩就好,大家還是要遵紀守法哦~

我是 Jack,我們下期見!

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/VfOQ-afdzQtGZtfrSLG40A