【深度学习】transformer 真的快要取代计算机视觉中的 CNN 吗?
我相信你肯定已經在自然語言領域中聽說過 transformer 這種結構,因為它在 2020 年的 GPT3 上引起了巨大轟動。Transformer 不僅僅可以用于NLP,在許多其他領域表現依然非常出色。
在本文中我將介紹 transformer 從文本輸入轉換為圖像,它是超越計算機視覺技術的最新卷積神經網絡。
為什么要使用 transformer 替換 CNN 呢?
為什么我們要試圖取代用于計算機視覺中的卷積神經網絡(CNNs)呢?
這是因為在處理復雜任務時,transformer 可以有效地使用更多的內存,并且功能更強大。此外 transformer 以并行方式進行計算的。更多關于 transformer 的內容可以在如下論文中了解:
https://arxiv.org/abs/1706.03762
Self-attention process in NLP與 CNN 相比,transformer 可以同時從輸入及其相互關系中提取我們需要的所有信息。CNN的定位比較廣泛,使用小型過濾器將信息壓縮為通用結果。盡管 CNN 結構對于常規分類任務的效果是強大的,但它沒有許多任務(例如實例識別)所必需的空間信息。這是因為卷積神經網絡不考慮距離像素的關系。
在 NLP 中,計算機視覺案例中輸入類型是句子和圖像。為了快速引入 attention 機制的概念,我們以一個簡單的 NLP 為例。
輸入一個句子,將其用 transformer 來轉換。attention 基本上是測量句子中的每個單詞與輸出句子上的每個單詞的關系。我們也稱之為" self-attention",它可以被看作是衡量一個特定單詞對同一句子的所有其他單詞的影響。同樣的過程也適用于計算圖像中的注意力及其相互關系的圖像,正如我們將在本文中進一步討論的那樣。
Transformers 在計算機視覺中的應用
我們知道 transformers 非常有趣,但是在計算機視覺應用方面仍然存在問題。事實上,就像俗話說那樣:"一張圖片勝過千言萬語"。圖片包含的信息比句子多得多,因此我們必須調整基本的 transformer 架構來有效地處理圖像。
這是由于它的自注意力的計算復雜度是圖像大小的平方,從而使計算時間和內存需求激增。相反,研究人員將這種平方計算復雜度替換為圖像大小的線性計算復雜度。
The Swin Transformer
實現此目的的過程非常簡單。首先,像大多數計算機視覺任務一樣,RGB圖像被發送到網絡。該圖像被分解成圖像塊,每個圖像塊都被當作一個 token。這些 token 是像素本身的RGB值。與NLP進行比較,你可以看到它,因為整體圖像是句子,每個圖像塊都是該句子的單詞。自我注意力會應用到每個圖像塊上,這里稱為窗口。然后,移動窗口從而產生新的窗口以再次應用 self-attention。同時允許跨窗口連接,從而帶來更高的效率。與卷積神經網絡相比,這非常有趣,因為它允許出現長距離像素關系。
這只是第一階段,第二階段非常相似,但將每組兩個相鄰圖像塊的特征相聯,將分辨率降低2倍。此過程在第3階段和第4階段重復兩次,以生成與典型卷積網絡如ResNets和VG相同的特征圖分辨率。
卷積的強大之處在于,過濾器在全局范圍內使用固定的權重,從而實現了卷積的平移不變性,使其成為一個強大的廣義過濾器。在自注意力中,權重不是全局固定的。相反,它們依賴于本地環境本身。因此,自注意力不僅考慮了每個像素,還考慮了它與其他像素的關系。
此外,它的移動窗口技術允許出現長距離像素關系。但這些長距離像素關系僅出現在相鄰窗口,因此失去了更長距離像素關系,這也表明transformers應用于計算機視覺方面仍然存在需要改進的地方。
結論
跨越計算機視覺和自然語言處理的統一架構可以使這兩個領域受益,因為它將促進視覺和文本信號的聯合建模,并且來自這兩個領域的建模知識可以更深入地共享,這無疑是兩個領域向前邁出的重要一步!
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【深度学习】transformer 真的快要取代计算机视觉中的 CNN 吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【深度学习】后ResNet时代的顶流Ef
- 下一篇: 梳理百年深度学习发展史-七月在线机器学习