關(guān)于Vision Transformer的一些思考
點(diǎn)擊上方“程序員大白”,選擇“星標(biāo)”公眾號
重磅干貨,第一時間送達(dá)

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