深入探討:視覺的目的是什么?
來源丨h(huán)ttps://zhuanlan.zhihu.com/p/343160072編輯丨極市平臺(tái)
摘要: 視覺,對(duì)于人類或動(dòng)物來說,似乎是一件稀松平常的事情,我們甚至都不需要去有意識(shí)地訓(xùn)練自己,就可以天賦一般地認(rèn)識(shí)世界。對(duì)于機(jī)器而言,理解圖片卻是一項(xiàng)極其困難的任務(wù),計(jì)算機(jī)視覺是一門教機(jī)器如何“看”的科學(xué)。當(dāng)給定一個(gè)明確的目標(biāo)函數(shù)并加以不斷地迭代,當(dāng)前的計(jì)算機(jī)已經(jīng)可以完成很多復(fù)雜的任務(wù),比如圖像視頻分類,目標(biāo)跟蹤和檢測(cè),實(shí)例分割,關(guān)鍵點(diǎn)檢測(cè)等。完成單一的復(fù)雜任務(wù)雖然能夠清晰地定義目標(biāo)函數(shù),但是訓(xùn)練成本高,數(shù)據(jù)收集困難,并且復(fù)雜任務(wù)的數(shù)量不勝枚舉,尤其是對(duì)于跨學(xué)科的圖像理解任務(wù)。人類的視覺恰恰相反:通過長(zhǎng)時(shí)間的觀察學(xué)習(xí),只需很少的監(jiān)督樣本就可以快速達(dá)到多個(gè)領(lǐng)域的專家水平。要給這種長(zhǎng)期的,無監(jiān)督的學(xué)習(xí)定義一個(gè)清晰的目標(biāo)函數(shù)或目標(biāo)任務(wù),卻是一項(xiàng)非常具有挑戰(zhàn)的課題,也是計(jì)算機(jī)視覺一直在探索的問題。這次分享,我將會(huì)從“視覺的目的”引發(fā)討論,簡(jiǎn)要回顧計(jì)算機(jī)視覺在通用視覺特征學(xué)習(xí)的發(fā)展歷程,以及近期在這個(gè)領(lǐng)域取得的眾多突破,最后對(duì)自監(jiān)督學(xué)習(xí)框架提出一些我自己的想法。
為什么問“視覺的目的是什么?”大家好,我是周縱葦,現(xiàn)在是亞利桑那州立大學(xué)的博士生,再過幾個(gè)月我就畢業(yè)了,今天很高興在這里和大家聊一聊計(jì)算機(jī)視覺。視覺不是人類特有的,大多數(shù)的動(dòng)物,或者更寬泛地來說,攝像頭,都有所謂視覺,來收集光線,并做出某些反應(yīng)。比如現(xiàn)在我沒有真的坐在大家的面前,但是你們可以通過攝像頭看到我。現(xiàn)在的攝像頭變得越來越聰明了,它不光能檢測(cè)到物體,還能跟蹤,能識(shí)別人臉,能給我實(shí)時(shí)地做美顏,這還不算什么,現(xiàn)在的攝像頭還能輔助自動(dòng)駕駛,自動(dòng)手術(shù)等等。真的和我們的視覺越來越像了。問題是,既然攝像頭這么智能,如果用它來替換動(dòng)物的眼睛,能好使嗎?小貓小狗的視覺系統(tǒng)可能還遠(yuǎn)遠(yuǎn)做不到像現(xiàn)在的攝像頭一樣,把圖片中的大大小小的東西都識(shí)別出來,打上標(biāo)簽,甚至把邊緣都分割得那么好,它們的視覺系統(tǒng)看起來笨笨的,但是很穩(wěn)定,很可靠。攝像頭背后的秘密就是我們今天討論的計(jì)算機(jī)視覺,它的最終目標(biāo)就是能讓計(jì)算機(jī)像人一樣地看見,理解照片,視頻,和周圍的環(huán)境,并且能作出某些反應(yīng)。
我們先來看看為什么現(xiàn)在的計(jì)算機(jī)視覺在某些任務(wù)中這么厲害——比如人臉識(shí)別——因?yàn)樗康拿鞔_。在訓(xùn)練計(jì)算機(jī)的時(shí)候,我們就告訴它,你把這個(gè)事兒做了,其他不用管,跟我們小時(shí)候差不多,你把學(xué)習(xí)弄好了,其他大大小小的家務(wù)不用你管。那這個(gè)事情就簡(jiǎn)單了,我們需要做的就是把目標(biāo)函數(shù)設(shè)計(jì)好,計(jì)算機(jī)的任務(wù)就是不停地學(xué),不停地迭代,直到無限靠近這個(gè)目標(biāo)。用這一套方法論,你會(huì)發(fā)現(xiàn)計(jì)算機(jī)視覺很簡(jiǎn)單嘛,很多任務(wù),只要我們能清晰地設(shè)計(jì)出目標(biāo)函數(shù),并且能收集到大量的數(shù)據(jù)集,計(jì)算機(jī)視覺非常容易在某個(gè)任務(wù)中超越人眼。我說到這兒,不知道大家有沒有在想一個(gè)問題?如果說計(jì)算機(jī)視覺的終極目標(biāo)是讓計(jì)算機(jī)擁有像人類或者動(dòng)物一樣看上去笨笨的但是可靠的視覺理解系統(tǒng),那我就請(qǐng)問,
- 視覺的目的是什么?或者視覺的目標(biāo)函數(shù)是什么?
- What is the Will of Vision?
這個(gè)問題很有意思,基本上貫穿了整個(gè)計(jì)算機(jī)視覺的研究脈絡(luò)。在我還沒生出來的時(shí)候,計(jì)算機(jī)視覺是以規(guī)則為主的,對(duì)于所有的概念,我們都需要很詳細(xì)地去設(shè)計(jì)它的特征。比如要讓計(jì)算機(jī)了解貓,最簡(jiǎn)單的特征就是它的臉,形狀,四肢,尾巴等等,為了和狗做區(qū)分,我們還要設(shè)計(jì)那些顯著的特征。有了這些特征,計(jì)算機(jī)就去匹配,能匹配上的就是貓。現(xiàn)在回過來看,你會(huì)發(fā)現(xiàn)這種方法特沒譜,首先,就算計(jì)算機(jī)認(rèn)出了這只貓,這算不上理解,只是對(duì)一些規(guī)則的數(shù)學(xué)匹配;其次,普遍的規(guī)則很難用在復(fù)雜的現(xiàn)實(shí)情況中,這只貓必須站的非常端正,計(jì)算機(jī)才能把它認(rèn)出來;再有,定義一個(gè)概念是非常不容易的,何況有那么多概念要定義。那時(shí)候的計(jì)算機(jī)視覺,目的就是特征的計(jì)算和匹配——無論是人為設(shè)計(jì)的還是用公式算出來的特征,只要匹配上了,計(jì)算機(jī)就算認(rèn)出了這個(gè)東西。它的弊端雖然不言而喻,但為了解決它還是費(fèi)了很多時(shí)間的。
“視覺的目的是大規(guī)模分類?“后來是怎么解決這個(gè)問題的呢?我們就得回頭分析人的視覺系統(tǒng)了,在我們認(rèn)識(shí)世界的時(shí)候,沒有人給設(shè)計(jì)特征,完全是靠大量地長(zhǎng)時(shí)間地看,不知不覺地就形成了視覺理解?!安恢挥X”這個(gè)事情很玄,沒法在工程上實(shí)現(xiàn),那么我們就退一步,給計(jì)算機(jī)看很多很多的圖片,并且告訴它里面有什么,通過這個(gè)方法來形成計(jì)算機(jī)視覺。最有名的就是ImageNet,這個(gè)圖片數(shù)據(jù)集,里面包含了很多人工標(biāo)注的概念,比如貓,狗。它和之前方法不同的是,從此我們不再需要人為地設(shè)計(jì)特征了,而是讓計(jì)算機(jī)自己從大量的圖片和標(biāo)簽配對(duì)中學(xué)習(xí)這么多概念和它們對(duì)應(yīng)的視覺特征。
用這個(gè)方法學(xué)習(xí)的計(jì)算機(jī)視覺很強(qiáng),怎么看出來的呢?是在眾多的benchmark任務(wù)中體現(xiàn)出來的。我們稱這些模型為ImageNet預(yù)訓(xùn)練模型。計(jì)算機(jī)視覺,在這個(gè)任務(wù)中的目的也很明確,就是準(zhǔn)確分類,讓計(jì)算機(jī)的識(shí)別和人類標(biāo)注越接近越好。是不是順著這個(gè)思路,我們可以訓(xùn)練出一個(gè)至少像動(dòng)物一樣可靠的視覺系統(tǒng)呢?如果答案是的話,問題就簡(jiǎn)單多了,擴(kuò)充ImageNet數(shù)據(jù)集,增加類別數(shù),增加圖片量,增強(qiáng)模型設(shè)計(jì)。雖然有人說這樣很費(fèi)時(shí)間也很費(fèi)錢,但是如果這個(gè)思路真的可行,能用錢解決的問題都不是大問題。可是我們想一想,人類或者動(dòng)物的視覺是這么形成的嗎?或者說
- 分類是視覺的目的嗎?
再回到我們小時(shí)候,我們的視覺系統(tǒng)是否是這樣形成的?當(dāng)我們看東西的時(shí)候,有沒有一個(gè)人在邊上一直告訴我們:這是貓,那是狗,這個(gè)桌子,那是椅子。如果這個(gè)不夠直接,那不妨考慮一下動(dòng)物,家里的寵物狗是否需要區(qū)分這些概念才能建立起它們的視覺系統(tǒng)?在大量的例子中我們可以發(fā)現(xiàn),概念的分類可能是一個(gè)有效的途徑,但并不是建立視覺系統(tǒng)的必要條件。進(jìn)一步講,基于人類語言的標(biāo)簽不是視覺系統(tǒng)的必要條件,換句話說,不需要“分類”,只需要“分辨”,也就是說,是貓是狗是桌子是椅子沒所謂的,重要的是把這些概念區(qū)分開即可。
這里展開來闡述一下“分類”和“分辨”的差異。它們貌似差不多,但在我們今天聊的“視覺的目的”上有本質(zhì)的區(qū)別。
- 首先,在分類問題中,所有類是完全獨(dú)立的,或者說在空間中是兩兩正交的。但是實(shí)際情況下卻并非如此,比如類別貓和老虎,貓和椅子,在分類問題的設(shè)定下,它們類之間的差異是一樣的,但很顯然,貓和老虎的類間差異比貓和椅子低很多。這就出來兩個(gè)問題:我們?nèi)绾稳?biāo)注這樣一個(gè)數(shù)據(jù)集,如何去訓(xùn)練一個(gè)模型才能夠讓它知道類之間的不同?
- 第二點(diǎn),人工標(biāo)注的數(shù)據(jù)集中類之間是很平衡的,貓和狗的數(shù)量一樣多,但是現(xiàn)實(shí)情況下,類別是長(zhǎng)尾分布的,也就是大多數(shù)類的圖片是很稀有的,這里的問題是如何解決大多數(shù)類的長(zhǎng)尾標(biāo)注問題?
- 最后一點(diǎn),也是最關(guān)鍵的一點(diǎn)是,類別這個(gè)事情,本身就是不勝枚舉的。世界上有多少正交的類,類中還有子類,子類還有子子類,子子孫孫無窮盡也。同樣是狗,狗中還有特別多的子類,如何去定義類和子類,以及如何去定義“有用的”類。比如,ImageNet里面大多是動(dòng)物,那么植物呢,其他的物件,或者說背景信息,比如天空,大海,星辰呢?
目前來說,訓(xùn)練完一個(gè)計(jì)算機(jī)模型,它能做的分類只能是數(shù)據(jù)集里面有的類而已,如果測(cè)試集中出來新的類,它是完全不知道的。那么如果說分類真的是視覺的目的,為了去真正地實(shí)現(xiàn)像人和動(dòng)物這樣的視覺系統(tǒng),其中最大的難點(diǎn)就是去定義和標(biāo)注這些類。不知道你是否認(rèn)同,定義類本身這個(gè)工作,和定義特征的工作沒有本質(zhì)的區(qū)別。它們的目標(biāo)都是讓模型能更好的理解圖片,但是定義類和定義特征這兩個(gè)工作都是無窮盡的,并且有很多人為主觀的干預(yù),比如什么樣的特征能刻畫一個(gè)概念,什么樣的類能幫助建立可靠的視覺系統(tǒng)。但是,話說回來,你是否認(rèn)同分類是視覺的目的這個(gè)假設(shè)?
也許不見得吧,再回想我們小時(shí)候,監(jiān)督學(xué)習(xí),或者類別學(xué)習(xí)占的畢竟少數(shù),特別是對(duì)動(dòng)物而言,它們很少很少會(huì)出現(xiàn)監(jiān)督學(xué)習(xí)這個(gè)情況。大多數(shù)情況下,視覺系統(tǒng)的建立是無監(jiān)督的,靠我們自己和環(huán)境之間的互動(dòng),來理解圖片和視頻。這個(gè)簡(jiǎn)單的想法就促成了無監(jiān)督或者自監(jiān)督的視覺學(xué)習(xí)方法。其實(shí)這方面的研究開始的挺早的,為什么一直都沒有像現(xiàn)在這么火呢?關(guān)鍵還是當(dāng)時(shí)的實(shí)驗(yàn)結(jié)果沒有像全監(jiān)督的分類學(xué)習(xí)那么好,雖然它蠻符合我們對(duì)視覺的期望,實(shí)驗(yàn)結(jié)果還是硬道理。不過就這幾年,自監(jiān)督學(xué)習(xí)發(fā)展地特別快,某些方法已經(jīng)在實(shí)驗(yàn)中被驗(yàn)證比有監(jiān)督的分類學(xué)習(xí)要好。這又是我們?cè)诹私庖曈X系統(tǒng)中邁出的很大的一步。那么我們就來聊一聊自監(jiān)督學(xué)習(xí)是如何回答“視覺的目的是什么”這個(gè)問題的。
我們所有的系統(tǒng),視覺,聽覺,觸覺,嗅覺都是自我迭代學(xué)習(xí)的,很多時(shí)候它們?cè)趯W(xué)習(xí)而我們是不自知的。有人會(huì)問自監(jiān)督學(xué)習(xí)是不是就是給一堆數(shù)據(jù),讓計(jì)算機(jī)自己實(shí)現(xiàn)智能?不是的,一個(gè)很簡(jiǎn)單的例子,我給一條狗看MNIST數(shù)據(jù)集,不停地看,不停地看,很多很多的數(shù)字,它會(huì)建立起對(duì)數(shù)字的認(rèn)知嗎?我再換一個(gè)方法,還是讓它不停地看,但是每次看到數(shù)字9的時(shí)候,給吃的。第二個(gè)方法狗的視覺系統(tǒng)會(huì)產(chǎn)生學(xué)習(xí),但是第一個(gè)不會(huì)。也就是說,視覺系統(tǒng),或其他系統(tǒng)的學(xué)習(xí)是天生惰性的,雖然說我們的視覺系統(tǒng)感覺上是自發(fā)學(xué)習(xí)的,如果沒有明確的動(dòng)機(jī),它是不會(huì)在腦回路中真的產(chǎn)生變化的,那也就回到了我們一直在討論的問題,視覺的目的是什么?如果我們了解了它的動(dòng)機(jī),那么實(shí)現(xiàn)通用的計(jì)算機(jī)視覺算法就沒有那么困難了?,F(xiàn)在那么多的自監(jiān)督學(xué)習(xí)方法,其實(shí)本質(zhì)上都在探索這個(gè)問題的答案。
我們可以先猜一猜,視覺的目的是什么?科學(xué)研究就是先提出假設(shè),然后驗(yàn)證這個(gè)假設(shè)。那好,生物最基本的動(dòng)機(jī)就是活著,為了活著,視覺必須學(xué)會(huì)一個(gè)很重要的功能,那就是
- 預(yù)判
試想一直老虎向你跑過來了,你不會(huì)等它到了才跑吧,視覺系統(tǒng)需要做準(zhǔn)確的預(yù)判并且馬上采取行動(dòng)。對(duì)于那些不能做預(yù)判的,可能就被自然淘汰了。另一個(gè)不那么極端的例子,你看到蘋果從樹上掉下來,應(yīng)該會(huì)躲吧,這也是一種預(yù)判。往大里說是你的視覺系統(tǒng)學(xué)習(xí)到了牛頓定理,其實(shí)就是它學(xué)習(xí)到了重力的表現(xiàn)形式。很多很多生活上的例子表明,視覺系統(tǒng)需要學(xué)習(xí)預(yù)判的能力。那么預(yù)判在自監(jiān)督學(xué)習(xí)上體現(xiàn)在哪兒呢?其實(shí)有很多,最基本的就是auto-encoder,還有去噪聲的auto-encoder,in-painting,out-painting,在視頻處理中應(yīng)用的更多,根據(jù)當(dāng)前幀來預(yù)測(cè)下一幀的圖片。這些方法在實(shí)驗(yàn)中被證明是非常有效的,并且不需要人工的標(biāo)注,因?yàn)閳D片和視頻本身就是最好的標(biāo)注。
但是這一系列的預(yù)判方法在某些時(shí)候可能會(huì)不太好用。比如,我隨機(jī)遮住一只貓腦袋的一部分,讓計(jì)算機(jī)去腦補(bǔ),如果它知道這只貓,就會(huì)補(bǔ)全它的腦袋,這沒有問題。但是,如果我遮住那只貓的尾巴,計(jì)算機(jī)去腦補(bǔ)的時(shí)候就會(huì)出問題,因?yàn)榫退阄抑肋@只貓需要補(bǔ)一條尾巴,但是我不知道那尾巴原來是朝哪兒的。再看原圖,它只是提供了某一種可能性,但并不唯一的可能性。發(fā)現(xiàn)問題了嗎?這一系統(tǒng)方法被人詬病的最重要的一個(gè)點(diǎn)就是,預(yù)判是一個(gè)概率的問題,不能用原圖的每一個(gè)像素來做嚴(yán)格訓(xùn)練,特別是需要預(yù)判的內(nèi)容特別多的時(shí)候,會(huì)出現(xiàn)問題。Yann Lecun有一個(gè)非常經(jīng)典的例子,視頻中一只鉛筆筆尖朝下豎直放著,預(yù)測(cè)下一時(shí)間,我們都知道鉛筆會(huì)因?yàn)橹亓Φ瓜?,但是具體往哪個(gè)放下倒是一個(gè)隨機(jī)的問題,并不能用原數(shù)據(jù)來監(jiān)督學(xué)習(xí)。最近有論文就對(duì)這個(gè)問題做了詳細(xì)的詮釋和提出了解決方案,大家有機(jī)會(huì)可以去看一看:
好,我們?cè)傧胂脒€有什么是視覺系統(tǒng)需要自發(fā)學(xué)習(xí)的。剛剛說了一只老虎朝你跑過來,你需要預(yù)判并且躲避,那么如果一只小貓跑過來呢?注意這里需要學(xué)習(xí)的是
- 分辨(而不是分類)
最簡(jiǎn)單的動(dòng)機(jī),還是為了生存,我們需要區(qū)分能吃的和不能吃的,往大里說,我們需要區(qū)分不同物體的差異,并不是分出來貓和狗的類別差異就可以了,更需要分出來不同的貓之間的差異,大小胖瘦,毛色等等,從這個(gè)角度講,每一只貓個(gè)體都是不一樣的,并且,即便是一只貓,在早中晚也是不一樣的。這就和剛剛說的以分類為核心,類與類之間正交的學(xué)習(xí)方法完全不同了,廣義上說,我們需要承認(rèn)世界上沒有兩片一樣的雪花,即便給的標(biāo)簽是一摸一樣的,(0,1,0,0),計(jì)算機(jī)也需要看出物與物之間的不同。這個(gè)思路引出了最近火的不行的對(duì)比學(xué)習(xí)。和預(yù)判不同的是,這一系列的方法不需要“腦補(bǔ)”,而是能在對(duì)比中發(fā)現(xiàn)不同即可。很有代表性的工作包括聚類,旋轉(zhuǎn),和最近的SimCLR,MoCo等。特別一提的是,就是這種方法最近被發(fā)現(xiàn)比ImageNet上的分類學(xué)習(xí)更有效。SimCLR和MoCo假設(shè)是世界上沒有兩片一樣的雪花,我們?cè)谶@個(gè)基礎(chǔ)上又加了一個(gè)假設(shè),也就是我們承認(rèn)沒有兩片一樣的雪花,但是雪花和雪花之間的差異還是會(huì)比雪花和樹葉之間的差異更小。
這個(gè)很重要,對(duì)比學(xué)習(xí),除了對(duì)比出不同點(diǎn),也應(yīng)該同時(shí)發(fā)現(xiàn)相似處。這就是我們?nèi)ツ暝贛ICCAI Workshop中發(fā)表的一篇工作。大家有興趣的也可以看一看。
Parts2Whole: Self-supervised Contrastive Learning via Reconstructionlink.springer.com
https://link.springer.com/chapter/10.1007/978-3-030-60548-3_9
這也引出了一個(gè)更深層的討論,不同概念的內(nèi)涵(connotation)和外延(denotation):內(nèi)涵是一個(gè)概念中事物的共有屬性,外延是一切屬于這個(gè)概念的具體事物。分類問題事先給定了一個(gè)概念的外延的一部分,比如在所有ImageNet數(shù)據(jù)集中,“貓”這個(gè)概念的外延就是它對(duì)應(yīng)的那幾張圖片,模型根據(jù)這個(gè)外延,來學(xué)習(xí)“貓”這個(gè)概念中圖片的共有屬性(內(nèi)涵)。分辨則不同,它是不斷地放縮一個(gè)概念的外延,來辨別兩幅圖片的相似點(diǎn)和差異性,即便是兩幅“貓”,當(dāng)外延只縮到每一幅圖本身了,模型在承認(rèn)這兩幅圖都有貓的同時(shí),還需要辨別出兩只貓細(xì)微的差異的,比如顏色,動(dòng)作,長(zhǎng)相,年齡。對(duì)比學(xué)習(xí)在縮放不同概念的內(nèi)涵和外延之間,學(xué)習(xí)到更立體,更豐滿的視覺特征。
前沿成果的比較談到這里,我們離學(xué)術(shù)前沿是越來越近了?;仡櫼幌挛覀兊降紫胍粋€(gè)什么東西?我們需要一個(gè)通用的,可靠的,可延展的視覺模型,這個(gè)模型不是去做博士干的事情,比如分割一個(gè)細(xì)胞,區(qū)分一個(gè)腫瘤是惡性還是良性的,從圖片中找病灶等等,這些工作都是后話,有足夠標(biāo)簽就能做好,我們需要的是一個(gè)五歲小朋友的視覺系統(tǒng),一種雖然看上去傻乎乎的什么都不會(huì),但是很穩(wěn)定,很全面的一個(gè)模型。很多人在詬病深度學(xué)習(xí)說需要很多的標(biāo)簽,而人只需要學(xué)習(xí)一兩個(gè)樣本中就掌握一項(xiàng)任務(wù)。這個(gè)認(rèn)識(shí)是有偏見的,人確實(shí)可以通過學(xué)習(xí)一兩個(gè)樣本就能大概分清什么是肋骨,什么是心臟,但是這個(gè)人想必不是剛出生的嬰兒,嬰兒視覺系統(tǒng)是沒有辦法短時(shí)間內(nèi)完成這個(gè)one-shot或者few-shot的任務(wù)的。而這個(gè)五歲左右的視覺系統(tǒng),就是我們追求的視覺模型。這個(gè)模型,是有機(jī)會(huì)讓無數(shù)的下游任務(wù)實(shí)現(xiàn)少樣本學(xué)習(xí)。這相當(dāng)于是一件“磨刀不誤砍柴工”的工作。在眾多的下游任務(wù)中,我們只需要極少的模型參數(shù)量的調(diào)整,極少的人工標(biāo)注,就可以達(dá)到一個(gè)不錯(cuò)的水平。
我們離這個(gè)夢(mèng)想是有距離的。現(xiàn)在我們就來看看自監(jiān)督學(xué)習(xí)離真正回答“視覺的目的是什么”還差多少?,F(xiàn)在每天都有那么多自監(jiān)督學(xué)習(xí)的方案發(fā)表,可以說是公說公有理,婆說婆有理,大家都從不同的角度去思考如何訓(xùn)練一個(gè)通用的視覺模型,所以給模型設(shè)定的目標(biāo)也是非常不一樣的。有說腦補(bǔ)可以的,有預(yù)測(cè)旋轉(zhuǎn)角度的,有做拼圖游戲的,有比較學(xué)習(xí)的。一時(shí)間出現(xiàn)這么多套訓(xùn)練方案百家爭(zhēng)鳴,正常嗎?非常正常。想想我們?cè)诮⒁曈X基礎(chǔ)的時(shí)候也不就是自己摸索出自己的一套方法嗎?打個(gè)比方,如果說一個(gè)厲害的視覺預(yù)訓(xùn)練模型是高考狀元,高考每年有那么多的狀元,他們成功背后的方法也是不一樣的嘛。每一個(gè)方法都可以發(fā)表一篇論文,每個(gè)家長(zhǎng)都說自己的一套方法是訓(xùn)練狀元的有效途徑。但是,真的要去評(píng)價(jià)孰好孰壞是不容易的,確實(shí)可能某些自監(jiān)督方法在特定的情況下會(huì)很強(qiáng),它的通用性是需要在很多具體任務(wù)來評(píng)判。最新的一篇論文
How Well Do Self-Supervised Models Transfer?
https://arxiv.org/pdf/2011.13377.pdf
就有對(duì)大部分自監(jiān)督學(xué)習(xí)方法做一個(gè)比較,得到的結(jié)果參差不齊,有時(shí)候這個(gè)方法好,有時(shí)候那個(gè)方法好。這方面的研究論文一般來說有兩種,一種是提出新的自監(jiān)督學(xué)習(xí)方法,說新提出的方法比其他的方法好。隨著越來越多的方案的提出,另一種文章是對(duì)這么多方法的一個(gè)綜述和比較。除了這兩種論文,現(xiàn)在又有一種論文的題目特別有趣兒,形如:
Do Better ... Transfer Better?
這里的省略號(hào)代表不同的預(yù)訓(xùn)練方法。你可能會(huì)覺得很奇怪,人家論文都說了,比如預(yù)測(cè)旋轉(zhuǎn)角度可以讓模型更好地遷移學(xué)習(xí),為什么還有問這個(gè)問題呢?其實(shí)這兩個(gè)論述不太一樣,一個(gè)是實(shí)然層面的,我做了實(shí)驗(yàn),結(jié)果表明預(yù)測(cè)旋轉(zhuǎn)角度可以提高遷移學(xué)習(xí)的效果,另一個(gè)是應(yīng)然層面的,意思是說預(yù)測(cè)旋轉(zhuǎn)角度是不是視覺的目的,也就說如果我提升了預(yù)測(cè)旋轉(zhuǎn)的能力,是否保證這個(gè)預(yù)訓(xùn)練模型一定會(huì)更好?這是一個(gè)很有意思的問題,我們可以從實(shí)驗(yàn)中總結(jié)出來一個(gè)自監(jiān)督學(xué)習(xí)的方法,比如預(yù)測(cè)旋轉(zhuǎn)角,是不是直接地學(xué)習(xí)了視覺特征,還是在預(yù)測(cè)角度的同時(shí)間接地學(xué)到了視覺特征。還是高考狀元為例,我寫一篇論文說根據(jù)我的統(tǒng)計(jì)結(jié)果,發(fā)現(xiàn)高考狀元的家境普遍比較貧寒。我再寫一篇論文,問是不是家境越貧寒,高考成績(jī)?cè)胶媚兀窟@就是這一類論文的價(jià)值所在,它簡(jiǎn)直就是靈魂拷問,它從本質(zhì)上去測(cè)試一個(gè)自監(jiān)督學(xué)習(xí)方法是不是學(xué)習(xí)到了視覺的目的。大家能明白我接下來要講什么嗎?如果這個(gè)類的論文“Do Better ... Transfer Better?”,但凡有一篇的回答是Yes,那真的是,學(xué)習(xí)通用視覺特征這個(gè)問題就大體解決了,或者變成了一個(gè)可解的問題了。為什么呢?打個(gè)比方,我發(fā)現(xiàn)腦補(bǔ)圖片的技能越強(qiáng),模型的遷移學(xué)習(xí)能力越強(qiáng)。視覺的目的一下子被清晰的定義下來了,也就說訓(xùn)練模型的目標(biāo)函數(shù)被定義下來了。我們把一個(gè)模糊的,抽象的所謂“視覺的目的”,轉(zhuǎn)化成了一個(gè)具體的,可量化的函數(shù),接下來的任務(wù)就是刷高分?jǐn)?shù),像ImageNet競(jìng)賽一樣,有一個(gè)清晰的評(píng)價(jià)指標(biāo),然后每年把分?jǐn)?shù)往上刷。
現(xiàn)在我們沒有辦法這么直接地解決問題,還在一個(gè)探索期,視覺的目的是什么?剛剛總結(jié)了兩大塊主流任務(wù),預(yù)判與分辨。計(jì)算機(jī)科學(xué)為什么是一門科學(xué),是因?yàn)樵诮鉀Q工程問題的時(shí)候,我們需要做底層的分析和研究,也需要多學(xué)科的交流,比如視覺和腦科學(xué)的研究會(huì)對(duì)解決這個(gè)預(yù)訓(xùn)練的問題很有幫助。那我們來看看這一路走來學(xué)到了什么。從一開始的定義特征,到后來自動(dòng)學(xué)習(xí)特征(但是需要定義好類別和類別數(shù)),到現(xiàn)在完全不需要人工的類別標(biāo)簽,一個(gè)趨勢(shì)就是,當(dāng)學(xué)習(xí)通用的視覺模型時(shí),人為定義的東西越少越好,讓計(jì)算機(jī)自主學(xué)習(xí)的東西越多越好。沿著這個(gè)思路下去,和我們的視覺系統(tǒng)相比,這些自監(jiān)督學(xué)習(xí)的方法,至少到目前為止,我認(rèn)為還有幾個(gè)方面需要解決:
- 首先,視角是人為設(shè)計(jì)的。
- 其次,模型是人為設(shè)計(jì)的。
- 最后,任務(wù)是人為設(shè)計(jì)的。
這三個(gè)方向的研究都非常有意思,今天我沒辦法一一細(xì)說,我會(huì)在后續(xù)的博客中討論。這邊我展開來討論一下最后一條,任務(wù)是人為設(shè)計(jì)的。首先我覺得在現(xiàn)在的階段,人為設(shè)計(jì)預(yù)訓(xùn)練的任務(wù)是可以被接受的,畢竟我們?nèi)祟惿险n學(xué)習(xí)的時(shí)候也有一個(gè)培養(yǎng)計(jì)劃,讓計(jì)算機(jī)自己給自己設(shè)計(jì)一套學(xué)習(xí)方案,我現(xiàn)在還不敢想。那就看看如何去設(shè)計(jì)任務(wù),讓計(jì)算機(jī)可以學(xué)到通用的視覺特征?回溯到自監(jiān)督學(xué)習(xí)一開始的時(shí)候,它是先在自然語言處理領(lǐng)域得到突破,為什么自然語言可以做自監(jiān)督呢?原因是(1)語言可以切成詞匯,(2)詞匯的排列是有意義的。計(jì)算機(jī)從網(wǎng)上的那么多語料中學(xué)習(xí),一個(gè)很重要的點(diǎn)是你不能把語料中的詞匯打亂,打亂了就沒有語義了。比如
視 · 覺 · 的 · 目 · 的 · 是 · 什 · 么
一共八個(gè)字組成,是一段有意義的話,但是,這八個(gè)字有很多中排列組合的形式,絕大多數(shù)的排列是沒有語義特征的,而計(jì)算機(jī)就只在這種有意義的排列中學(xué)習(xí)特征,所以是有效的。反觀自然圖片,貓的圖片可謂說是千奇百怪什么都有,像自然語言那樣的理想情況是什么?最好所有的貓都端端正正地給我坐好,一個(gè)姿勢(shì),一種表情,然后計(jì)算機(jī)去學(xué)習(xí)它的紋理,形狀,或其他的抽象特征。在這種嚴(yán)格的規(guī)定下,我清楚地知道什么在上,什么在下,什么在左,什么在右,就像自然語言一樣人為地創(chuàng)造了一種特定的語法。計(jì)算機(jī)就可以比較直接地學(xué)習(xí)到圖片的上下文語義特征。請(qǐng)問這一段對(duì)理想圖片的描述讓你想到了什么?
醫(yī)學(xué)影像
首先在拍影像的時(shí)候,醫(yī)生是不會(huì)讓你有天馬行空的姿勢(shì)的,基本上兩種姿勢(shì),要不站著,要不躺著。其次,如果姿勢(shì)是固定的,人體的組織器官的分布也是有序的,五臟六腑都有固定的位置。所以最后拍出來的圖片都看起來差不多,就像一個(gè)句子,你反復(fù)地用不同的詞匯說,但是表達(dá)的內(nèi)容相似。
視覺的目的是什么?視覺的動(dòng)機(jī)是什么?視覺的目標(biāo)是什么?
醫(yī)學(xué)影像這個(gè)獨(dú)特的優(yōu)勢(shì)和自然語言非常的類似。所以我有理由相信在醫(yī)學(xué)影像處理中的自監(jiān)督學(xué)習(xí)也可以得到像BERT一樣很猛的預(yù)訓(xùn)練模型,而不依賴于人工標(biāo)簽。那如何去利用這個(gè)天然的優(yōu)勢(shì)呢?我們還需要參考自然語言處理,它們是先定義了詞的概念,然后根據(jù)大量的語料學(xué)習(xí)每個(gè)詞的特征,或者每個(gè)詞在句子中的特征。相似地,我們也可以給醫(yī)學(xué)影像定義視覺詞匯,因?yàn)閯偛耪f了,這些視覺詞匯在醫(yī)學(xué)影像中是有序的,并且傳達(dá)出人體組織結(jié)構(gòu)的語義信息,那么一個(gè)簡(jiǎn)單的思路就是去學(xué)這些視覺詞匯的特征。在計(jì)算機(jī)視覺早期的時(shí)候就有Bag of Visual Word的概念,我們最近的一篇TMI就是讓這些視覺詞匯通過深度網(wǎng)絡(luò)的學(xué)習(xí),使之具備遷移學(xué)習(xí)的能力。大家有機(jī)會(huì)可以去看看,應(yīng)該馬上就能見刊了,下面這篇是它的會(huì)議版本:
Learning Semantics-enriched Representation via Self-discovery, Self-classification, and Self-restoration
https://arxiv.org/abs/2007.06959
我們來看看這個(gè)方法背后想要傳達(dá)的信息和整體框架的基本假設(shè)。梳理一下剛剛的邏輯:
- 自然語言處理的預(yù)訓(xùn)練特別猛,而且不依靠人工標(biāo)注,因?yàn)檎Z料中自帶了上下文語義特征
- 醫(yī)學(xué)影像也具備相似的屬性,因?yàn)榕恼帐堑淖藙?shì)固定的,人體內(nèi)部的組織結(jié)構(gòu)是有序的
- 因此,我們只需要定義醫(yī)學(xué)影像中的視覺詞匯,并學(xué)習(xí)它的上下文語義特征即可
可能這個(gè)時(shí)候有小伙伴會(huì)質(zhì)疑,你說的這個(gè)特征確實(shí)在醫(yī)學(xué)影像中表現(xiàn)地非常明顯,但自然圖像難道不具備這個(gè)特征嗎?沒錯(cuò),自然圖片也可以有這個(gè)特征,比如說人臉識(shí)別,只要能把人臉從圖片中框出來,并加上一定的旋轉(zhuǎn),也可以得到一個(gè)具有固定上下文語義特征的數(shù)據(jù)集, 也就是一個(gè)近似對(duì)齊的數(shù)據(jù)集,計(jì)算機(jī)同樣可以通過自監(jiān)督的視覺詞匯學(xué)習(xí),從圖像中學(xué)到特征。只是構(gòu)建這種數(shù)據(jù)集需要一定的工作,不像醫(yī)學(xué)影像(比如ChestXray)那樣是自帶的屬性。
再往上想一層,其實(shí)自然圖片是包含了弱弱的上下文語義的。剛剛說的語義特征是來自于有序的詞匯排列,如果打亂了,語義就沒了。從這個(gè)邏輯出發(fā),嚴(yán)格意義上講,所有能被理解的自然圖片都是有一定意義的,真的打亂圖片中的像素才能說它是一堆亂碼。一張圖中這么多像素,它們能根據(jù)一定的規(guī)則拼成有意義的圖片,本身就是一種語義信息。
如果云層是天空的一封信,能不能再聽一聽,聽你的聲音。(無人之島)
Images are the Language of the Creator
只是沒有像醫(yī)學(xué)影像那么直接,看起來那么有規(guī)則??偨Y(jié)來講,醫(yī)學(xué)影像本身具有很好的屬性,讓我們可以有針對(duì)性地設(shè)計(jì)自監(jiān)督學(xué)習(xí)的策略,原因是它比自然圖片更有規(guī)則,總結(jié)來說,人體組織結(jié)構(gòu)的一致性是自監(jiān)督學(xué)習(xí)在醫(yī)學(xué)影像處理中一個(gè)很獨(dú)特也是很直接的學(xué)習(xí)目的。除了這個(gè)特性,醫(yī)學(xué)影像和自然圖片相比,還有很多寶藏可以挖,比如影像的像素值有物理意義,大多數(shù)影像是三維的等等,這些特性都是設(shè)計(jì)預(yù)訓(xùn)練算法的非常寶貴的參考,我今天就不細(xì)說了,因?yàn)楹芏嘞敕ǘ歼€沒有發(fā)表,等以后和大家分享。
最后,上一個(gè)價(jià)值: 計(jì)算機(jī)視覺在學(xué)習(xí)通用特征時(shí),需要大量參考人類或者動(dòng)物的視覺系統(tǒng),也就是一種跨學(xué)科的概念。當(dāng)然也不是說必須我們要用電腦模擬一個(gè)一摸一樣的視覺系統(tǒng),很多工具在借鑒生物學(xué)的同時(shí)也會(huì)根據(jù)工程的實(shí)際需要進(jìn)行調(diào)整。比如飛機(jī)借鑒了鳥的翅膀,但是最后的成品是在這個(gè)鳥的基礎(chǔ)上優(yōu)化了很多,甚至改進(jìn)地面目全非。這是在了解了鳥類飛行的機(jī)理的前提下,我們才有可能進(jìn)行仿真和優(yōu)化。其實(shí)這方面是有爭(zhēng)論的,我們會(huì)因?yàn)槟X科學(xué)的研究對(duì)大腦有一個(gè)完整的認(rèn)識(shí),還是會(huì)先在計(jì)算機(jī)科學(xué)上有一個(gè)突破,從而反推回大腦的機(jī)理,建立起更深的認(rèn)識(shí),這個(gè)我不清楚。但是今天討論“視覺的目的”是想給計(jì)算機(jī)找出一個(gè)可量化的目標(biāo)函數(shù),這個(gè)目標(biāo)函數(shù)可以和通用視覺特征有一個(gè)很緊密的關(guān)聯(lián),而做到Better ... Better Transfer。這個(gè)目的從一開始計(jì)算和匹配人為設(shè)計(jì)的特征,到后來匹配人為定義的類別的監(jiān)督學(xué)習(xí),再到現(xiàn)在的預(yù)判,分辨為核心的自監(jiān)督學(xué)習(xí)。除了從視覺本身出發(fā)去設(shè)計(jì)不同的預(yù)訓(xùn)練任務(wù),探索視覺的目的,我們也可以通過對(duì)圖片本身性質(zhì)的理解出發(fā)來設(shè)計(jì)任務(wù),也就是所謂先驗(yàn)的特征,特別是醫(yī)學(xué)影像中那么多的模態(tài),各有千秋,各有各的語義特征。
作者:Zongwei Zhou | 周縱葦(https://www.zongweiz.com/)微博:@MrGiovanni郵箱:zongweiz@asu.edu本文僅做學(xué)術(shù)分享,如有侵權(quán),請(qǐng)聯(lián)系刪文。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。