關於Vision Transformer的一些思考

2021-02-26 機器學習算法與計算機視覺

Vision Transformer(https://arxiv.org/abs/2010.11929)這篇文章最大的貢獻點在於abstract裡講的「We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks」。但是文章裡提出的方法中會將圖片分成多個無overlap的patch,每個patch通過linear projection映射為patch embedding,這個過程其實就是卷積,跟文章裡聲稱的不依賴CNNs自相矛盾。

文章conclusion裡的「Unlike prior works using self-attention in computer vision, we do not introduce any image-specific inductive biases into the architecture」和introduction裡的「We find that large scale training trumps inductive bias」,給人一種inductive bias在大量數據的情況是一個不好的東西,應該拋棄的意思。

inductive bias可以理解為assumptions about the nature of the relation between examples and labels。如果這些assumptions跟實際數據分布的確是相符的,那麼無論我們已有的數據量是大還是小,我們利用這個inductive bias應該是一個更好的選擇。

inductive bias是人類通過學習、實踐而歸納總結出來的knowledge,我們設計一個機器學習/深度學習模型,其實也是讓模型通過訓練集去學習knowledge。knowledge的好壞應該由knowledge與實際數據分布的匹配程度來衡量,而不是knowledge的來源來衡量。

反過來想,如果後面有研究者想在儘量減少inductive bias的路上一路狂奔,也許可以直接用全連接層替換self-attention。然後我們繞了個大圈又回到了幾十年前的MLP:CNN和RNN的提出本來是將領域的知識作為inductive bias,融入到MLP之中,以加速深度學習在CV和NLP等特定領域的落地,我們現在數據量大了,計算資源強了,錢包鼓了,桌子一掀——要什麼領域知識,讓機器自己學去。

之前在CNN與GCN的區別、聯繫及融合(https://zhuanlan.zhihu.com/p/147654689)這篇文章中從數學的層面對比了CNN和self-attention的異同。CNN中每個滑動窗中每個特徵的空間變換的參數是獨立的,特徵與特徵之間的相關性是通過空間變換的參數隱式建模的;而self-attention中每個滑動窗(可以理解為滑動窗大小為整張feature map,即全局)中每個特徵變換的參數是共享的,特徵與特徵之間的相關性是顯示通過某種度量函數(比如點積)來建模的。

另外,對比一下非全局的CNN和self-attention,會發現前者參數量會更多一些,而計算量會更小一些。

總體來看,在CV領域,二者各有優劣,我認為self-attention在CV領域的未來應該是和CNN互相取長補短,你中有我,我中有你,結合起來構建更強大的模型。

科學革命和工業革命之後。整個世界的科技發展日新月異,發展速度越來越快,計算機視覺領域遵循同樣的規律,不斷有新的理論或者技術湧現,兩三周不關注學術界,感覺就要被行業拋棄了。

一個領域發展越快,越有利於年輕人,因為經驗可能隨時被顛覆,相對不太利於年紀漸長的人,但是每個人都會老去。在知識迭代快的行業裡,經驗的作用會淡化,更重要的是學習能力,這樣面對一個又一個新的理論或者技術出現的時候,可以立馬跟上。

但是隨著年紀的增長,生理方面的能力必然會下降,比如記憶力、反應速度等等,也就是從生理層面來看,隨著年紀的增長,學習能力會下降。這是一個必然而又悲哀的事實。

然後就沒解了嗎?我覺得有一個緩解方案——積累如何學習的經驗,類似機器學習裡的meta learning。年紀大的人相比年輕人可以形成的優勢主要是可以積累的東西,比如財富、不容易被時代拋棄的經驗。關於過去理論或者技術的經驗在這個時代容易被時代拋棄,而如何學習的經驗相對而言會比較保值。

相關焦點

  • 視覺Transformer最新綜述
    這四類分別為 classification, high-level vision, low-level vision 和video processing.Classification 顧名思義就是分類任務,High-level vision 作者定義為:「對圖像中所見內容的解釋和使用」,包括目標檢測、分割等。
  • A Survey on Visual Transformer及引文理解
    這四類分別為classification, high-level vision, low-level vision 和 video processing.Classification顧名思義就是分類任務,High-level vision作者定義為:「對圖像中所見內容的解釋和使用」,包括目標檢測、分割等。
  • 關於attention機制的一些細節的思考
    關於相似度計算的方式,上圖列舉了兩個經典的style的attention類型使用到的相似度的計算方法,不同的相似度取決於不同的任務而設計,說的更小白一點,某個論文的作者在某種類型的任務上發現某種類型的相似度計算結果效果更好,
  • 【transformer】 你應該知道的 transformer
    transformer為什麼需要用transformerencoderdecoderoutput layersummarytransformer的缺點transformer的應用refTransformer什麼是transformer首先我們先說結論:Attention Is
  • Transformer在CV領域有可能替代CNN嗎?
    有人熱衷於改善解碼器,比如引入跳躍連接操作來彌補編碼器下採樣過程中空間細節信息的丟失從而來實現更精準的定位,關於如何跳躍又是一個問題,有直接連線的Unet。  而transformer的優勢就在於利用注意力的方式來捕獲全局的上下文信息從而對目標建立起遠距離的依賴,從而提取出更強有力的特徵。  因此,我們並不需要說一味的拋棄CNN,或許可以轉換下思路把兩者結合起來,將transformer當做是一種特徵提取器利用起來,再結合CNN的一些優勢去解決現有的問題。
  • transformer什麼意思
    transformer什麼意思transform,我們前面背過,意思是變形、變樣,尤其是好的改變。transformer(配色不錯,很工業)transformer (像一隻鳥)transformer學單詞,只記住意思可不行,會用才行,小夥伴們可以在評論區造句,我們一起學習哦!
  • 搞懂 Vision Transformer 原理和代碼,看這篇技術綜述就夠了(二)
    實驗2:在不同setting下Deformable DETR的一些對比實驗作者採用的是沒有任何改動的transformer。實驗1:性能對比實驗結果如下圖所示,整體模型還是挺大的,而經過大數據集的預訓練後,性能也超過了當前CNN的一些SOTA結果。
  • 【綜述專欄】3W字長文帶你輕鬆入門視覺transformer
    由於其出色性能以及對下遊任務的友好性或者說下遊任務僅僅微調即可得到不錯效果,在計算機視覺領域不斷有人嘗試將transformer引入,近期也出現了一些效果不錯的嘗試,典型的如目標檢測領域的detr和可變形detr,分類領域的vision transformer等等。
  • 【文章推薦】關於金屬鍵的一些思考
    關於金屬鍵的一些思考耿莉利1,吳俊明2(1. 上海市市西中學;2.
  • 關於網絡隱私的一些思考
    對此, Union Square Ventures(廣和投資)的風險投資家Fred Wilson發文提出了一些關於網絡隱私的思考。1. 用戶應該養成管理和清除網絡數據的習慣,這些數據包括訪問記錄、網頁瀏覽歷史、微博、PO上網的照片等各種信息;如果實在想保留的,也一定要定期進行管理,避免被濫用;2.
  • ...利用基於遷移學習策略的transformer 模型進行Heck反應預測
    2方法2.1 實驗流程作者通過構建一系列的對比實驗來評估transformer模型在Heck反應預測這一目標任務的表現。在該文章中,加入遷移學習的模型命名transformer-transfer learning模型,未含有遷移學習的參照模型則稱為transformer-baseline模型。圖 2.
  • |利用基於遷移學習策略的transformer 模型進行Heck...
    這裡值得注意的是,為了避免模型直接從預訓練數據中獲得關於Heck反應的信息導致對於遷移學習這一策略評估混淆,該實驗特地刪除了預訓練數據中關於Heck反應的有效信息,從而保證了評估模型性能的真實性。表1為具體的Heck反應數據集信息。表1. Heck反應數據集分布。
  • NVIDIA BERT 推理解決方案 Faster Transformer 開源了
    # import optransformer_op_module = tf.load_op_library(os.path.join('../../build/lib/libtf_transformer.so'))...def fast_transformer_model_trans(...) ...
  • 如何看待Transformer在CV上的應用前景,未來有可能替代CNN嗎?
    所以如果想趕 transformer 這波熱潮的話,有兩種姿勢:一個是想想 Transformer 的特點還能對 CV 中的哪些任務有顯著的幫助然後趕個早集;另一種姿勢是基於受 Transformer 啟發定義出的新框架來重新看待一下已有的 framework,做一些 follow up 的工作。
  • 圖解OpenAI的秘密武器GPT-2:可視化Transformer語言模型
    運行經過訓練的GPT-2的最簡單方法是允許它自己進行漫遊(技術上稱為生成無條件樣本),或者我們可以給它提示讓它生成關於某個主題的文本(也就是生成交互式條件樣本)。在不設條件的情況下,我們可以簡單地給它設置一個開始token,並讓它開始生成單詞(訓練模型使用<|endoftext|>作為其開始token,稱之為<s>)。
  • 關於購買二手書的一些思考
    在二手書平臺賣書的人很多書並沒有被翻過的跡象,要麼是買書的時候不夠理智,入手了一些自己並不喜歡的書;要麼是根本就沒有養成閱讀習慣,所以才需要及時處理掉它們。這樣說的原因,是因為我的確買到了幾本關於很不錯的二手「新」書,也正因為這些書給我帶來的很大的觸動,我才更加替那些沒有把它們當回事的讀者感到惋惜。
  • 魏少軍教授:關於集成電路創新的一些思考
    打開APP 魏少軍教授:關於集成電路創新的一些思考 半導體行業觀察 發表於 2020-12-24 15:16:16 峰會期間,國家科技重大專項(01)專項專家組總體組組長、中國半導體行業協會副理事長、清華大學魏少軍教授帶來了主題為《關於集成電路創新的一些思考》的演講,從集成電路發展歷史到現狀,再到中國發展契機,囊括技術和產業。 筆者大致整理如下: 集成電路自誕生之日起,一直依靠創新驅動發展。計算也從人和物的交互,轉變為當下的機器與機器的交互,5G和AI在過去幾年對社會影響非常大。
  • 帶你一文了解GPT-2模型(transformer語言模型可視化)
    GPT-2並不是專門寫小說的語言架構——結構與僅含解碼器的transformer相似,但它實則是基於transformer的語言模型,規模巨大,在海量的數據集上進行訓練。本文將介紹能讓模型生成結果的架構,深入到自注意力(self-attention)層,接著會講一些僅含解碼器的transformer在語言建模之外的應用。
  • 贈書| 新手指南——如何通過HuggingFace Transformer整合表格數據
    Etc.不過,這種方法有一個缺點,那就是它受到transformer所能處理的最大令牌長度的限制。 Kiela等人在2019年發表的論文《Supervised Multimodal Bitransformers for Classifying Images and Text》中,將預訓練的ResNet和預訓練的BERT分別應用在非模態圖像和文本上,並將其輸入雙向transformer。其關鍵性創新是將圖像特徵作為附加令牌應用到transformer模型中。
  • Create a long-term vision 規劃長期願景
    Create a long-term vision.Consider how your goal fits into a long-term vision for your life.Let your vision shape your long-term goals. 譯文如下:規劃長期願景認真思考目標如何與你的人生願景相契合。這將有助於你進一步實現你的雄心壯志。