關(guān)于Vision Transformer的一些思考

極市導(dǎo)讀
?本文作者主要闡述了自己對(duì)兩篇文章CV領(lǐng)域的文章中一些觀點(diǎn)以及見解,文章末尾對(duì)科技飛速發(fā)展大背景下,個(gè)人如何保持競(jìng)爭(zhēng)力不落后作出了一點(diǎn)建議。>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿
自相矛盾
Vision Transformer(https://arxiv.org/abs/2010.11929)這篇文章最大的貢獻(xiàn)點(diǎn)在于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”。但是文章里提出的方法中會(huì)將圖片分成多個(gè)無(wú)overlap的patch,每個(gè)patch通過(guò)linear projection映射為patch embedding,這個(gè)過(guò)程其實(shí)就是卷積,跟文章里聲稱的不依賴CNNs自相矛盾。
Inductive Bias
文章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在大量數(shù)據(jù)的情況是一個(gè)不好的東西,應(yīng)該拋棄的意思。
inductive bias可以理解為assumptions about the nature of the relation between examples and labels。如果這些assumptions跟實(shí)際數(shù)據(jù)分布的確是相符的,那么無(wú)論我們已有的數(shù)據(jù)量是大還是小,我們利用這個(gè)inductive bias應(yīng)該是一個(gè)更好的選擇。
inductive bias是人類通過(guò)學(xué)習(xí)、實(shí)踐而歸納總結(jié)出來(lái)的knowledge,我們?cè)O(shè)計(jì)一個(gè)機(jī)器學(xué)習(xí)/深度學(xué)習(xí)模型,其實(shí)也是讓模型通過(guò)訓(xùn)練集去學(xué)習(xí)knowledge。knowledge的好壞應(yīng)該由knowledge與實(shí)際數(shù)據(jù)分布的匹配程度來(lái)衡量,而不是knowledge的來(lái)源來(lái)衡量。
反過(guò)來(lái)想,如果后面有研究者想在盡量減少inductive bias的路上一路狂奔,也許可以直接用全連接層替換self-attention。然后我們繞了個(gè)大圈又回到了幾十年前的MLP:CNN和RNN的提出本來(lái)是將領(lǐng)域的知識(shí)作為inductive bias,融入到MLP之中,以加速深度學(xué)習(xí)在CV和NLP等特定領(lǐng)域的落地,我們現(xiàn)在數(shù)據(jù)量大了,計(jì)算資源強(qiáng)了,錢包鼓了,桌子一掀——要什么領(lǐng)域知識(shí),讓機(jī)器自己學(xué)去。
Self-Attention在CV領(lǐng)域的展望
之前在CNN與GCN的區(qū)別、聯(lián)系及融合(https://zhuanlan.zhihu.com/p/147654689)這篇文章中從數(shù)學(xué)的層面對(duì)比了CNN和self-attention的異同。CNN中每個(gè)滑動(dòng)窗中每個(gè)特征的空間變換的參數(shù)是獨(dú)立的,特征與特征之間的相關(guān)性是通過(guò)空間變換的參數(shù)隱式建模的;而self-attention中每個(gè)滑動(dòng)窗(可以理解為滑動(dòng)窗大小為整張feature map,即全局)中每個(gè)特征變換的參數(shù)是共享的,特征與特征之間的相關(guān)性是顯示通過(guò)某種度量函數(shù)(比如點(diǎn)積)來(lái)建模的。
另外,對(duì)比一下非全局的CNN和self-attention,會(huì)發(fā)現(xiàn)前者參數(shù)量會(huì)更多一些,而計(jì)算量會(huì)更小一些。
總體來(lái)看,在CV領(lǐng)域,二者各有優(yōu)劣,我認(rèn)為self-attention在CV領(lǐng)域的未來(lái)應(yīng)該是和CNN互相取長(zhǎng)補(bǔ)短,你中有我,我中有你,結(jié)合起來(lái)構(gòu)建更強(qiáng)大的模型。
科技快速發(fā)展下的個(gè)人
科學(xué)革命和工業(yè)革命之后。整個(gè)世界的科技發(fā)展日新月異,發(fā)展速度越來(lái)越快,計(jì)算機(jī)視覺領(lǐng)域遵循同樣的規(guī)律,不斷有新的理論或者技術(shù)涌現(xiàn),兩三周不關(guān)注學(xué)術(shù)界,感覺就要被行業(yè)拋棄了。
一個(gè)領(lǐng)域發(fā)展越快,越有利于年輕人,因?yàn)榻?jīng)驗(yàn)可能隨時(shí)被顛覆,相對(duì)不太利于年紀(jì)漸長(zhǎng)的人,但是每個(gè)人都會(huì)老去。在知識(shí)迭代快的行業(yè)里,經(jīng)驗(yàn)的作用會(huì)淡化,更重要的是學(xué)習(xí)能力,這樣面對(duì)一個(gè)又一個(gè)新的理論或者技術(shù)出現(xiàn)的時(shí)候,可以立馬跟上。
但是隨著年紀(jì)的增長(zhǎng),生理方面的能力必然會(huì)下降,比如記憶力、反應(yīng)速度等等,也就是從生理層面來(lái)看,隨著年紀(jì)的增長(zhǎng),學(xué)習(xí)能力會(huì)下降。這是一個(gè)必然而又悲哀的事實(shí)。
然后就沒解了嗎?我覺得有一個(gè)緩解方案——積累如何學(xué)習(xí)的經(jīng)驗(yàn),類似機(jī)器學(xué)習(xí)里的meta learning。年紀(jì)大的人相比年輕人可以形成的優(yōu)勢(shì)主要是可以積累的東西,比如財(cái)富、不容易被時(shí)代拋棄的經(jīng)驗(yàn)。關(guān)于過(guò)去理論或者技術(shù)的經(jīng)驗(yàn)在這個(gè)時(shí)代容易被時(shí)代拋棄,而如何學(xué)習(xí)的經(jīng)驗(yàn)相對(duì)而言會(huì)比較保值。
推薦閱讀

