在人工智能學(xué)界,Geoffrey Hinton擁有非常崇高的地位,甚至被譽(yù)為該領(lǐng)域的愛(ài)因斯坦。在人工智能領(lǐng)域最頂尖的研究人員當(dāng)中,Hinton的引用率最高,超過(guò)了排在他后面三位研究人員的總和。目前,他的學(xué)生和博士后領(lǐng)導(dǎo)著蘋果、Facebook以及OpenAI的人工智能實(shí)驗(yàn)室,而Hinton本人是谷歌大腦(Google Brain)人工智能團(tuán)隊(duì)的首席科學(xué)家。
就在幾個(gè)小時(shí)之前,由 Hinton 和其在谷歌大腦的同事 Sara Sabour、Nicholas Frosst 合作的 NIPS 2017 論文《Dynamic Routing Between Capsules》已經(jīng)正式對(duì)外公開(kāi),解釋了不同 Capsules (膠囊)間路由的學(xué)習(xí)。
研究背景
目前的神經(jīng)網(wǎng)絡(luò)中,每一層的神經(jīng)元都做的是類似的事情,比如一個(gè)卷積層內(nèi)的每個(gè)神經(jīng)元都做的是一樣的卷積操作。而Hinton堅(jiān)信,不同的神經(jīng)元完全可以關(guān)注不同的實(shí)體或者屬性,比如在一開(kāi)始就有不同的神經(jīng)元關(guān)注不同的類別(而不是到最后才有歸一化分類)。具體來(lái)說(shuō),有的神經(jīng)元關(guān)注位置、有的關(guān)注尺寸、有的關(guān)注方向。這類似人類大腦中語(yǔ)言、視覺(jué)都有分別的區(qū)域負(fù)責(zé),而不是分散在整個(gè)大腦中。
為了避免網(wǎng)絡(luò)結(jié)構(gòu)的雜亂無(wú)章,Hinton提出把關(guān)注同一個(gè)類別或者同一個(gè)屬性的神經(jīng)元打包集合在一起,好像膠囊一樣。在神經(jīng)網(wǎng)絡(luò)工作時(shí),這些膠囊間的通路形成稀疏激活的樹(shù)狀結(jié)構(gòu)(整個(gè)樹(shù)中只有部分路徑上的膠囊被激活),從而形成了他的Capsule理論。值得一提的是,同在谷歌大腦(但不在同一個(gè)辦公室)的Jeff Dean也認(rèn)為稀疏激活的神經(jīng)網(wǎng)絡(luò)是未來(lái)的重要發(fā)展方向,不知道他能不能也提出一些不同的實(shí)現(xiàn)方法來(lái)。
Capsule這樣的網(wǎng)絡(luò)結(jié)構(gòu)在符合人們“一次認(rèn)知多個(gè)屬性”的直觀感受的同時(shí),也會(huì)帶來(lái)另一個(gè)直觀的問(wèn)題,那就是不同的膠囊應(yīng)該如何訓(xùn)練、又如何讓網(wǎng)絡(luò)自己決定膠囊間的激活關(guān)系。Hinton這篇論文解決的重點(diǎn)問(wèn)題就是不同膠囊間連接權(quán)重(路由)的學(xué)習(xí)。
解決路由問(wèn)題
首先,每個(gè)層中的神經(jīng)元分組形成不同的膠囊,每個(gè)膠囊有一個(gè)“活動(dòng)向量”activity vector,它是這個(gè)膠囊對(duì)于它關(guān)注的類別或者屬性的表征。樹(shù)結(jié)構(gòu)中的每個(gè)節(jié)點(diǎn)就對(duì)應(yīng)著一個(gè)活動(dòng)的膠囊。通過(guò)一個(gè)迭代路由的過(guò)程,每個(gè)活動(dòng)的膠囊都會(huì)從高一層網(wǎng)絡(luò)中的膠囊中選擇一個(gè),讓它成為自己的母節(jié)點(diǎn)。對(duì)于高階的視覺(jué)系統(tǒng)來(lái)說(shuō),這樣的迭代過(guò)程就很有潛力解決一個(gè)物體的部分如何層層組合成整體的問(wèn)題。
對(duì)于實(shí)體在網(wǎng)絡(luò)中的表征,眾多屬性中有一個(gè)屬性比較特殊,那就是它出現(xiàn)的概率(網(wǎng)絡(luò)檢測(cè)到某一類物體出現(xiàn)的置信度)。一般典型的方式是用一個(gè)單獨(dú)的、輸出0到1之間的回歸單元來(lái)表示,0就是沒(méi)出現(xiàn),1就是出現(xiàn)了。在這篇論文中,Hinton想用活動(dòng)向量同時(shí)表示一個(gè)實(shí)體是否出現(xiàn)以及這個(gè)實(shí)體的屬性。他的做法是用向量不同維度上的值分別表示不同的屬性,然后用整個(gè)向量的模表示這個(gè)實(shí)體出現(xiàn)的概率。為了保證向量的長(zhǎng)度,也就是實(shí)體出現(xiàn)的概率不超過(guò)1,向量會(huì)通過(guò)一個(gè)非線性計(jì)算進(jìn)行標(biāo)準(zhǔn)化,這樣實(shí)體的不同屬性也就實(shí)際上體現(xiàn)為了這個(gè)向量在高維空間中的方向。
采用這樣的活動(dòng)向量有一個(gè)很大的好處,就是可以幫助低層級(jí)的膠囊選擇自己連接到哪個(gè)高層級(jí)的膠囊。具體做法是,一開(kāi)始低層級(jí)的膠囊會(huì)給所有高層級(jí)的膠囊提供輸入;然后這個(gè)低層級(jí)的膠囊會(huì)把自己的輸出和一個(gè)權(quán)重矩陣相乘,得到一個(gè)預(yù)測(cè)向量。如果預(yù)測(cè)向量和某個(gè)高層級(jí)膠囊的輸出向量的標(biāo)量積更大,就可以形成從上而下的反饋,提高這兩個(gè)膠囊間的耦合系數(shù),降低低層級(jí)膠囊和其它高層級(jí)膠囊間的耦合系數(shù)。進(jìn)行幾次迭代后,貢獻(xiàn)更大的低層級(jí)膠囊和接收它的貢獻(xiàn)的高層級(jí)膠囊之間的連接就會(huì)占越來(lái)越重要的位置。
在論文作者們看來(lái),這種“一致性路由”(routing-by-agreement)的方法要比之前最大池化之類只保留了唯一一個(gè)最活躍的特征的路由方法有效得多。
網(wǎng)絡(luò)構(gòu)建
作者們構(gòu)建了一個(gè)簡(jiǎn)單的CapsNet。除最后一層外,網(wǎng)絡(luò)的各層都是卷積層,但它們現(xiàn)在都是“膠囊”的層,其中用向量輸出代替了CNN的標(biāo)量特征輸出、用一致性路由代替了最大池化。與CNN類似,更高層的網(wǎng)絡(luò)觀察了圖像中更大的范圍,不過(guò)由于不再是最大池化,所以位置信息一直都得到了保留。對(duì)于較低的層,空間位置的判斷也只需要看是哪些膠囊被激活了。
這個(gè)網(wǎng)絡(luò)中最底層的多維度膠囊結(jié)構(gòu)就展現(xiàn)出了不同的特性,它們起到的作用就像傳統(tǒng)計(jì)算機(jī)圖形渲染中的不同元素一樣,每一個(gè)膠囊關(guān)注自己的一部分特征。這和目前的計(jì)算機(jī)視覺(jué)任務(wù)中,把圖像中不同空間位置的元素組合起來(lái)形成整體理解(或者說(shuō)圖像中的每個(gè)區(qū)域都會(huì)首先激活整個(gè)網(wǎng)絡(luò)然后再進(jìn)行組合)具有截然不同的計(jì)算特性。在底層的膠囊之后連接了PrimaryCaps層和DigitCaps層。
實(shí)驗(yàn)結(jié)果
由于膠囊具有新的特性,所以文中的實(shí)驗(yàn)結(jié)果也并不只是跑跑Benchmark而已,還有很多對(duì)膠囊?guī)?lái)的新特性的分析。
數(shù)字識(shí)別
首先在MNIST數(shù)據(jù)集上,經(jīng)過(guò)三次路由迭代學(xué)習(xí)、層數(shù)也不算多的CapsNet就得到了優(yōu)秀的錯(cuò)誤率。
同時(shí),作者們依據(jù)CapsNet中的表征對(duì)“網(wǎng)絡(luò)認(rèn)為自己識(shí)別到”的圖像進(jìn)行重構(gòu),表明在正確識(shí)別的樣本中(豎線左側(cè)),CapsNet可以正確識(shí)別到圖像中的細(xì)節(jié),同時(shí)降低噪聲。
健壯性
由于網(wǎng)絡(luò)結(jié)構(gòu)中DigitCaps部分能夠分別學(xué)到書(shū)寫中旋轉(zhuǎn)、粗細(xì)、風(fēng)格等變化,所以對(duì)小變化的健壯性更好。在用一個(gè)隨機(jī)抹黑過(guò)數(shù)字的MNIST數(shù)據(jù)集訓(xùn)練CapsNet后,作者們用它來(lái)識(shí)別affNIST數(shù)據(jù)集。這個(gè)數(shù)據(jù)集中的樣本都是經(jīng)過(guò)小幅度變化后的MNIST樣本,變化后的樣本如下圖。這個(gè)CapsNet直接拿來(lái)識(shí)別affNIST的正確率有79%;同步訓(xùn)練的、參數(shù)數(shù)目類似的CNN只有66%。
分割高度重合的數(shù)字
作者們把MNIST數(shù)據(jù)集中的數(shù)字兩兩疊在一起建立了MultiMNIST數(shù)據(jù)集,兩個(gè)數(shù)字的邊框范圍平均有80%是重合的。CapsNet的識(shí)別結(jié)果高于CNN基準(zhǔn)自不必提,但作者們接下來(lái)做的圖形分析中清晰地展現(xiàn)出了膠囊的妙處。
如圖,作者們把兩個(gè)激活程度最高的膠囊對(duì)應(yīng)的數(shù)字作為識(shí)別結(jié)果,據(jù)此對(duì)識(shí)別到的圖像元素進(jìn)行了重構(gòu)。對(duì)于下圖中識(shí)別正確的樣本(L指真實(shí)標(biāo)簽,R指激活程度最高的兩個(gè)膠囊對(duì)應(yīng)的標(biāo)簽),可以看到由于不同的膠囊各自工作,在一個(gè)識(shí)別結(jié)果中用到的特征并不會(huì)影響到另一個(gè)識(shí)別結(jié)果,不受重疊的影響(或者說(shuō)重疊部分的特征可以復(fù)用)。
另一方面,每個(gè)膠囊還是需要足夠多的周邊信息支持,而不是一味地認(rèn)為重疊部分的特征就需要復(fù)用。下圖左圖是選了一個(gè)高激活程度的膠囊和一個(gè)低激活程度膠囊的結(jié)果(*R表示其中一個(gè)數(shù)字既不是真實(shí)標(biāo)簽也不是識(shí)別結(jié)果,L仍然為真實(shí)標(biāo)簽)??梢钥吹?,在(5,0)圖中,關(guān)注“7”的膠囊并沒(méi)有找到足夠多的“7”的特征,所以激活很弱;(1,8)圖中也是因?yàn)闆](méi)有“0”的支持特征,所以重疊的部分也沒(méi)有在“0”的膠囊中用第二次。
膠囊效果的討論
在論文最后,作者們對(duì)膠囊的表現(xiàn)進(jìn)行了討論。他們認(rèn)為,由于膠囊具有分別處理不同屬性的能力,相比于CNN可以提高對(duì)圖像變換的健壯性,在圖像分割中也會(huì)有出色的表現(xiàn)。膠囊基于的“圖像中同一位置至多只有某個(gè)類別的一個(gè)實(shí)體”的假設(shè)也使得膠囊得以使用活動(dòng)向量這樣的分離式表征方式來(lái)記錄某個(gè)類別實(shí)例的各方面屬性,還可以通過(guò)矩陣乘法建模的方式更好地利用空間信息。不過(guò)膠囊的研究也才剛剛開(kāi)始,他們覺(jué)得現(xiàn)在的膠囊至于圖像識(shí)別,就像二十一世紀(jì)初的RNN之于語(yǔ)音識(shí)別 —— 研究現(xiàn)在只是剛剛起步,日后定會(huì)大放異彩。
現(xiàn)在,對(duì) Capsule 理論的研究還處于比較早期的階段,這也就意味著其還有很多的問(wèn)題有待考察。不過(guò),現(xiàn)在已經(jīng)有越來(lái)越多的跡象表明 Capsule 可以解決一些問(wèn)題,相信它是一個(gè)值得進(jìn)一步挖掘的路徑,正如 Hinton 曾對(duì)《麻省理工科技評(píng)論》表示,“Capsule 理論一定是對(duì)的,不成功只是暫時(shí)的。”
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )