膠囊網(wǎng)絡(luò)升級(jí)新版本,推特2000+贊,圖靈獎(jiǎng)得主Hinton都說(shuō)好
膠囊網(wǎng)絡(luò)新進(jìn)展
魚(yú)羊 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號(hào) QbitAI
膠囊網(wǎng)絡(luò)曾被認(rèn)為是下一代深度學(xué)習(xí)的基石。
圖靈獎(jiǎng)得主Geoffrey Hinton在2017年提出了這種全新的深度學(xué)習(xí)方法,以期挑戰(zhàn)CNN“天命之子”的地位。
卷積神經(jīng)網(wǎng)絡(luò)CNN固然好用,可是在池化層中會(huì)損失空間信息,所以面對(duì)下面這種有些錯(cuò)位的人臉,CNN就會(huì)陷入迷茫。
膠囊網(wǎng)絡(luò)就不同了,它計(jì)算物體的存在概率,并用向量的模來(lái)表征,向量方向則表示了特征姿態(tài)信息。因?yàn)槟z囊的輸出是一個(gè)向量,詳細(xì)的姿態(tài)信息會(huì)被整個(gè)網(wǎng)絡(luò)保存下來(lái)。
這樣一來(lái),無(wú)需復(fù)雜的數(shù)據(jù)擴(kuò)增,膠囊網(wǎng)絡(luò)也能實(shí)現(xiàn)上看下看左看右看不同方位識(shí)別。
但兩年過(guò)去之后,對(duì)于這個(gè)方法的研究似乎仍處于起步階段,CNN依然笑傲深度學(xué)習(xí)。
這是不是有點(diǎn)雷聲大雨點(diǎn)小了?
反正創(chuàng)始人本身應(yīng)該是有信心的。最近,Hinton親自指導(dǎo)了一項(xiàng)研究,擔(dān)任論文的通訊作者,還下場(chǎng)點(diǎn)贊,稱(chēng)其為“更好的膠囊版本”。
連創(chuàng)始人都點(diǎn)贊的膠囊網(wǎng)絡(luò)
在對(duì)象檢測(cè)這個(gè)任務(wù)上,當(dāng)前的AI已經(jīng)展現(xiàn)出了超強(qiáng)的性能,但有個(gè)問(wèn)題,想要訓(xùn)練出一個(gè)靠譜的AI,先得投喂它大量的數(shù)據(jù)。
這跟幼童的學(xué)習(xí)過(guò)程形成了鮮明的對(duì)比,不需要太多指導(dǎo),孩子們也能學(xué)會(huì)識(shí)別和定位物體。
研究人員認(rèn)為,自我監(jiān)督和歸納偏差在更高效的學(xué)習(xí)中扮演了重要的角色。
于是,無(wú)監(jiān)督膠囊網(wǎng)絡(luò)誕生了。
不同于單個(gè)神經(jīng)元,膠囊是一組打包好的人造神經(jīng)元,能夠跟蹤對(duì)象各個(gè)部分之間的關(guān)系。
這個(gè)名為SCAE(Stacked Capsule Autoencoder)的網(wǎng)絡(luò)主要由三個(gè)部分組成:集群膠囊自動(dòng)編碼器(CCAE),零件膠囊自動(dòng)編碼器(PCAE)和對(duì)象膠囊自動(dòng)編碼器(OCAE)。
集群膠囊用二維點(diǎn)表示零件,并且把它們的坐標(biāo)作為系統(tǒng)的輸入。
零件膠囊(PCAE)先將輸入對(duì)象整體劃分成一個(gè)個(gè)零件及其姿勢(shì);然后,通過(guò)仿射變換學(xué)習(xí)模板,使用姿勢(shì)來(lái)構(gòu)建新的輸入。
接著,對(duì)象膠囊(OCAE)會(huì)試著由姿勢(shì)推斷出物體,從而發(fā)現(xiàn)潛在的結(jié)構(gòu)。
膠囊網(wǎng)絡(luò)的窘境
像CNN這樣的神經(jīng)網(wǎng)絡(luò)需要依靠龐大的數(shù)據(jù)庫(kù)學(xué)習(xí),并且需要很長(zhǎng)時(shí)間才能認(rèn)識(shí)到不同角度看到的對(duì)象,其實(shí)是同一個(gè)物體。
而膠囊網(wǎng)絡(luò)的思路是,場(chǎng)景通常包含許多復(fù)雜的對(duì)象,這些對(duì)象又由更簡(jiǎn)單的部分組成,所以其實(shí)無(wú)需構(gòu)建全局等同于仿射變換的模型。
根據(jù)定義,部件的外觀和形狀比完整物體的變化更小,因此,它們應(yīng)該更容易被學(xué)習(xí)。只要了解零件是如何組合在一起形成不同物體的,就可以從零件及其姿勢(shì)中識(shí)別出對(duì)象本身。
由于物體的姿勢(shì)會(huì)隨著觀察者位置(坐標(biāo)系)的改變而改變,因此能夠正確識(shí)別零件姿勢(shì)的檢測(cè)器會(huì)產(chǎn)生注視點(diǎn)等效的零件表示。對(duì)象 – 零件的關(guān)系不依賴(lài)于特定的位置,因此它們又是注視點(diǎn)不變的。這兩個(gè)屬性結(jié)合在一起,就產(chǎn)生了注視點(diǎn)等效的對(duì)象表示。
之前版本的膠囊網(wǎng)絡(luò)通過(guò)迭代地改進(jìn)對(duì)象的零件分配(也稱(chēng)為路由)來(lái)解決這個(gè)問(wèn)題。但問(wèn)題是這樣做在計(jì)算和存儲(chǔ)方面效率很低,并且無(wú)法擴(kuò)展到更大的圖像。這也就造成了膠囊網(wǎng)絡(luò)訓(xùn)練速度比CNN慢得多,在CIFAR-10、ImageNet等數(shù)據(jù)集上準(zhǔn)確率也不如CNN。
那么這個(gè)更好的膠囊網(wǎng)絡(luò),有什么突破嗎?
SCAE
根據(jù)膠囊網(wǎng)絡(luò)的原理,為了實(shí)現(xiàn)分類(lèi),需要構(gòu)建生成模型(解碼器)和相應(yīng)的推理網(wǎng)絡(luò)(編碼器)。
生成比較簡(jiǎn)單,因?yàn)槿我鈱?duì)象都可以產(chǎn)生任意多個(gè)部分。因?yàn)榻獯a器在設(shè)計(jì)中是注視點(diǎn)等變的,所以編碼器必須至少能近似地學(xué)習(xí)注視點(diǎn)等變的表示。
SCAE定義了一種新的表示學(xué)習(xí)方法,其中任意編碼器都能通過(guò)推理局部零件和它們的姿勢(shì)來(lái)學(xué)習(xí)注視點(diǎn)等變表示,并識(shí)別出這些零件屬于哪一種物體。
膠囊的定義:描述抽象實(shí)體的模型的特殊部分。
在這個(gè)新版本的無(wú)監(jiān)督膠囊網(wǎng)絡(luò)中,有四個(gè)重要的組成部分:
- PCAE編碼器:自下而上注意力機(jī)制的CNN
- OCAE編碼器:Set Transformer
- PCAE解碼器
- OCAE解碼器
推斷零件及姿勢(shì)
對(duì)于M個(gè)零件,PCAE需要 M ×(6 + 1 )個(gè)預(yù)測(cè)參數(shù)。也就是說(shuō),對(duì)于每一個(gè)零件,都需要6個(gè)仿射變換參數(shù),以及該零件存在的概率。
用 1 × 1 的卷積將CNN的輸出投影到 M ×(6 + 1 + 1)個(gè)特征圖上——這里額外的特征圖將作為注意力Mask,通過(guò)softmax(歸一化指數(shù)函數(shù))在空間上對(duì)其進(jìn)行標(biāo)準(zhǔn)化,與其余7個(gè)特征圖相乘,并在空間位置上獨(dú)立地對(duì)每個(gè)維度求和。這類(lèi)似于全局平均池化,但允許模型專(zhuān)注于特定位置,稱(chēng)作基于注意力的池化。
PCAE編碼器將學(xué)習(xí)推斷不同零件膠囊的姿勢(shì)和存在,而解碼器會(huì)為每個(gè)零件繪制圖像模板,像是這樣:
對(duì)應(yīng)于當(dāng)前零件的模板,使用該零件的姿勢(shì)進(jìn)行仿射變換,并且變換模板的像素會(huì)被用來(lái)創(chuàng)建每一個(gè)圖像像素的單獨(dú)混合模型。
由零件,及整體
實(shí)現(xiàn)判斷的是OCAE。
此前的膠囊網(wǎng)絡(luò)采用基于EM算法(Hinton提出)的推理程序來(lái)投票,判斷零件歸屬于哪個(gè)對(duì)象。這樣,每個(gè)零件最開(kāi)始會(huì)被投給不同的對(duì)象,但最終,投票會(huì)收斂到少數(shù)幾個(gè)對(duì)象身上。
SCAE嘗試直接根據(jù)零件的姿勢(shì)和存在概率預(yù)測(cè)對(duì)象膠囊的activations。
使用帶有K個(gè)輸出的Set Transformer編碼零件的activations。零件膠囊的activations描述零件本身而非像素,其在圖像中可以處于任意位置,并且沒(méi)有順序意義。因此,集輸入神經(jīng)網(wǎng)絡(luò)比起MLPs(多層感知機(jī))來(lái)就成了更好的選擇。
Set Transformer的每個(gè)輸出都被喂給一個(gè)單獨(dú)的MLP,MLP會(huì)輸出對(duì)應(yīng)對(duì)象膠囊的所有activations。
此外,研究人員還采用了一些應(yīng)用于對(duì)象存在概率的稀疏損失。根據(jù)消融實(shí)驗(yàn)的結(jié)果,這一點(diǎn)是很有必要的:
投喂給OCAE進(jìn)行訓(xùn)練的,是來(lái)自對(duì)象膠囊的高斯混合預(yù)測(cè)下的零件膠囊activations最大化后的可能性,受到稀疏性約束。
成績(jī)
光說(shuō)不練假把式,研究團(tuán)隊(duì)用未標(biāo)記數(shù)據(jù)進(jìn)行了訓(xùn)練,在無(wú)監(jiān)督分類(lèi)SVHN上收獲了state-of-the-art的成績(jī),55%;在MNIST上則收獲了接近于state-of-the-art的成績(jī),98.5%。
SCAE用對(duì)象來(lái)預(yù)測(cè)部件,因此在推理時(shí)省略了迭代路由。并且,SCAE是唯一一種在無(wú)監(jiān)督對(duì)象分類(lèi)中取得了具有競(jìng)爭(zhēng)力的結(jié)果,而不依賴(lài)于互信息(MI)的方法。也就是說(shuō),它不再需要復(fù)雜的數(shù)據(jù)擴(kuò)增。
不過(guò),在目前的版本中,圖像中還不允許多次出現(xiàn)相同類(lèi)型的部件。并且在大型數(shù)據(jù)集CIFAR-10上的表現(xiàn)還是不給力。
作者自己也承認(rèn),這個(gè)膠囊網(wǎng)絡(luò)還不足以模擬復(fù)雜的現(xiàn)實(shí)世界圖像。
但正如Hinton本人所說(shuō),他只擔(dān)心為基礎(chǔ)理論挑毛病的人不夠多。只要有誕生更好的方法的可能性,就應(yīng)該遵循直覺(jué)繼續(xù)研究。
論文團(tuán)隊(duì)
論文一作是來(lái)自牛津大學(xué)的博士生Adam Kosiorek,現(xiàn)在在DeepMind實(shí)習(xí)。
這篇論文是小哥在谷歌大腦實(shí)習(xí)期間完成的,合作單位包括谷歌大腦和DeepMind。
傳送門(mén)
論文地址:https://arxiv.org/abs/1906.06818
解讀博客:http://akosiorek.github.io/ml/2019/06/23/stacked_capsule_autoencoders.html
—?完?—
- 馬斯克收購(gòu)OpenAI新計(jì)劃實(shí)錘了:找小扎籌千億美元,果然敵人的敵人就是朋友…2025-08-23
- 標(biāo)準(zhǔn)化3D生成質(zhì)量榜單來(lái)了!首創(chuàng)層次化評(píng)價(jià)體系,告別“誰(shuí)的demo更吸睛”主觀評(píng)估2025-08-16
- 阿里閃電入局Agent Infra!智能體新基建亮相WAIC,“超級(jí)大腦”開(kāi)箱即用2025-07-31
- 世紀(jì)華通謝斐:在“三大平衡”中領(lǐng)跑,實(shí)現(xiàn)游戲行業(yè)更高質(zhì)量的發(fā)展2025-08-01