膠囊網路:將CNN推下神壇的“天命之子”

naojiti發表於2019-05-24

前不久,圖靈獎得主Geoffrey Hinton的第一篇論文被扒了出來,在推特上引發了不少關注。

當然,讓大家激動的並不是源自對“大神”科研處女作的好奇,也不是提出的演算法有多麼顛覆,而是Hinton 這位AI界的人形自走教科書,早在40年前這篇論文中,就提出了“讓AI具備空間感”的鬆弛演算法,解題思路與2017年其提出的“膠囊網路”不謀而合。

膠囊網路:將CNN推下神壇的“天命之子”

要知道,“膠囊網路”早已是公認將成為下一代深度學習基石、CNN“接班人”的神經網路。

經歷了長達四十年的思考,“膠囊網路”將會怎樣大顯神威,技術背後代表的未來能量才是讓網友們“鵝妹子嚶”的地方啊~

膠囊網路:將CNN推下神壇的“天命之子”

如果你還不太瞭解“膠囊網路”,或是對其最新進展不甚了了,那麼,不妨跟隨這篇文章,來系統性地瞭解一下這個人工智慧未來的“種子選手”。

神經網路“宮心計”:膠囊是如何“爭寵”的?

對AI發展略有了解的同學們可能都知道,Hinton被人所熟知,並獲得圖靈獎,主要歸功於其在深度神經網路上的貢獻。

1986年,Hinton發表了《Learning representations by back-propagation errors》(透過反向傳播誤差來學習表徵),作為這點陣圖靈獎得主的代表作之一,標誌著反向傳播演算法正式被引進深度學習,這對人工智慧的應用有著重大的意義。

膠囊網路:將CNN推下神壇的“天命之子”

反向傳播出現之前,多層神經網路的訓練主要是透過前向傳遞來輸入訊號,直至產生誤差,再進行最佳化。以梯度下降(Gradient Descent)為例,輸入資料每向前走一步,都沿著最陡峭的地方下腳,就這樣一步步走到山底(梯度的反方向)。因此,該演算法可以直接將每層的誤差反饋給系統,並進行引數最佳化。

但這種方式在應對具有多個隱層的神經網路時,就有些力不從心了。在下降時隱層中的誤差無法被直接反饋出來,因此其權重引數也就不能直接被最佳化,這就給神經網路的效能表現帶來了極大的不穩定性。

怎樣才能將隱層的誤差表示出來呢?反向傳播演算法的出現是一場“及時雨”。

它的原理簡單來說,就是一旦下降時(即前向傳播)輸出層沒有得到適當而明確的誤差引數,那麼反向傳播就會藉助轉置權重矩陣,讓誤差可以被隱藏層感知到,進而產生“間接誤差”。而隱藏層的權重矩陣就可以藉助間接誤差進行更新。這樣反覆迭代,就能將包含隱藏層的多層神經網路誤差降到最小。

正是在此基礎上,卷積神經網路展現出了前所未有的效能。

輸入資料的特徵經過歸一化處理後,就會進入隱含層中,完成卷積計算、池化、調參等一系列模擬神經元的操作,再輸出成不同的識別效果。

膠囊網路:將CNN推下神壇的“天命之子”

這種分層認知特徵的學習能力,和人類大腦的思維方式高度相似。這也是為什麼,卷積神經網路在機器視覺及很多問題上都取得了當時最好的效能,成為應用最廣泛的深度神經網路結構。

但是,受限於反向傳播的天然缺陷,卷積神經網路並不完美,黑箱性、高消耗、遷移能力差等諸多問題,一直為學界和產業界所詬病。這也是為什麼,Hinton一直在尋找著CNN的替代者。

2011年,Hinton認為目前的影像識別方法在智力上表現不夠好,提出了“膠囊”的概念。數年之後,2017年10月,則在機器學習的頂級會議“神經資訊處理系統大會(NIPS)”上發表了題為《膠囊之間的動態路由》的論文,提出了全新的深度學習方法——膠囊網路(CapsNet)。

膠囊網路:將CNN推下神壇的“天命之子”

“膠囊”代表影像中特定實體的各種特徵,比如位置、大小、方向、速度、色調、紋理等等,作為一個單獨的邏輯單元存在。然後,使用一個協議路由演算法,當膠囊將自己學習並預測到的資料傳遞給更高層次的膠囊時,如果預測一致,更高階別的膠囊變得活躍,這個過程就被稱作動態路由。

隨著路由機制的不斷迭代,就能夠將各種膠囊訓練成學習不同思維的單元。例如,讓神經網路識別面部,就將面孔的不同部分分別“路由”到能夠理解眼睛、鼻子、嘴、耳朵的膠囊裡去。

換句話說,神經膠囊就是一組被打包好的神經元,它們在內部進行大量運算,然後僅向上輸出一個結果——高維向量。

膠囊網路:將CNN推下神壇的“天命之子”

(膠囊網路流程)

那麼,膠囊網路,比常規的卷積神經網路好在什麼地方?大約可以總結為三點:

首先,卷積神經網路的輸出結果是標量,而膠囊網路是帶有方向的向量。而向量存在的意義是,膠囊網路不僅可以根據統計資訊進行特徵檢測,比如根據眼睛鼻子嘴等五官識別出一張“臉”,還可以對特徵進行理解,如果五官不在其特定的區域了,比如嘴長到了額頭、眼睛長到了耳朵上,膠囊網路卻不會像CNN一樣含糊放過。因為它能夠檢測不同方向的同一個物體類別(例如,順時針旋轉),從而學習到基本的思維,知道到底什麼樣子的五官才能被稱作是“臉”。

膠囊網路:將CNN推下神壇的“天命之子”

第二,卷積神經網路的每一層都需要做同樣的卷積運算,因此需要相當多的網路資料才能學習,否則就無法精準地調參,非常耗時、低效且昂貴。比如讓它學會認臉技能,需要投餵大量不同的變體,MNIST資料集就包含55,000個訓練資料,即每個數字單元都有5,500個樣本。

膠囊網路則要求模型在膠囊中學習特徵變數,最大化保留那些有價值的資訊,因此它可以使用更少的訓練資料就推斷出可能的變數,達到CNN的預期效果。這就使得它在人臉識別、影像識別、字元識別等領域的落地更受歡迎了。

膠囊網路:將CNN推下神壇的“天命之子”

(MultiMNIST資料集中,膠囊網路輸出效能遠超CNN)

第三,卷積神經網路不能很好地處理模糊性,因為不斷池化會丟失許多重要的特徵資訊,因此對微小的變化不甚敏感,在完成語義分割等複雜任務時,需要構建複雜的體系結構來解決資訊丟失問題。也難怪Hinton會說出“CNN分類正確率很高,看似一個大好局面,實則是一場災難”的話了。

但膠囊網路不同,由於每個膠囊都攜帶了大量的資訊,目標位置、旋轉、厚度、傾斜、大小等詳細資訊都被儲存並平移給了上層膠囊,自然也就可以用簡單一致的架構應對不同的視覺任務。

聽起來是不是還蠻不錯的,別激動,除此之外,膠囊網路還有一個比較“形而上”的優勢,那就是它的傳輸和運算邏輯更符合人腦神經元的工作方式,不同的膠囊可以攜帶不同屬性,就像人腦的不同區域負責不同的工作。因此,其智慧化表現上更加優秀,能夠舉一反三。

比如下面這些自由女神像,各種角度都能認出來,對膠囊網羅來說非常簡單。而CNN在模擬人類神經元這件事上,卻只能“有多少人工(資料)就有多少智慧”,真是高下立見啊。

膠囊網路:將CNN推下神壇的“天命之子”

膠囊神經網路想要上位,差在哪些地方?

被AI教父親口斷定沒有前途,一場神經網路界庶長子與嫡次子的奪位之戰即將拉開序幕……

顯然,又聰明又能幹又會過日子的“膠囊網路”才是民心所向,2018年2月該論文第一作者剛剛在GitHub開源了膠囊網路的程式碼,就吸引來了數萬人fork(複製原始碼在其上開發)。

按理說,以AI演算法的迭代速度,一年多時間怎麼都夠孵化出N個新模型了,比如AlphaGo開源並隱退後,很快又出現了強化版“師弟”AlphaGo Master,擊敗了世界排名第一的人類選手柯潔。五個月之後,更強的AlphaGo zero從零自學了40天,又打敗了AlphaGo Master版本。

既然如此,怎麼膠囊網路就是“雷聲大雨點小”呢?

顯然,不是“嫡次子”能力不行,也不是智囊團不給力,而是想要真的把“ANN長子”拉下馬,勢必會遭遇若干阻礙,比如說:

1.模型訓練的週期侷限。由於需要在每個膠囊單元中完成計算(協議路由演算法),導致其訓練模型的時間更慢。在不同硬體和雲伺服器上的50迭代訓練時間說明,與CNN相比,膠囊網路模型需要更大的耐心。

膠囊網路:將CNN推下神壇的“天命之子”

2.學術起步階段的研究侷限。目前針對膠囊網路的研究大多集中在零樣本和少樣本任務中,而且,膠囊網路在CIFAR10資料集、ImageNet等大影像上的準確性並沒有CNN的高。產業端自然不會在缺乏足夠實驗例證、投資回報不明晰的前提下,貿貿然就選擇跟進了。

3.膠囊網路自身的效能侷限。與CNN一樣,膠囊網路也有其不完美之處,比如膠囊擁擠,即如果一個膠囊網路彼此之間太接近,就沒有辦法區分出同一型別的兩個物件。因此在模型中,給定的位置上只能有一個給定型別的膠囊,這就大大侷限了其現實中應用的條件。

膠囊網路:將CNN推下神壇的“天命之子”

從某種程度上來說,膠囊網路還是一個剛剛墜地的孩童,距離拿下CNN的位置還是非常遙遠的。

但是也別急著失望,讓CNN在現階段發光發熱,同時繼續培養未來堪當大任的接班人,這樣生生不息的AI未來也蠻值得期待的,“養成”也是一種樂趣嘛~

學而時習之:膠囊網路的新發現

雖然現在的膠囊網路還很弱小,但並不妨礙無數“最強大腦”拼命教它本領。那麼近兩年來,膠囊網路有哪些新的發現可以給大家彙報一下呢?

有幾個重要的成就值得說說:

1.透過膠囊網路抵禦對抗性攻擊

還是熟悉的味道。在膠囊網路模型提出的一年之後,原作者團隊(Sabour、Frosst 以及 Hinton)在2018年的機器學習安全研討會中展示了自己的新成果——膠囊網路在抵禦對抗性攻擊上的能力。

對抗性攻擊會對傳統的CNN產生較大影響,比如不同方向的圖片,CNN很容易辨認不清,如果一些特徵被放置在了錯誤的地方,CNN也會被圖片所欺騙。這會引發一系列安全問題,比如自動駕駛汽車搞混了真的人臉與列印的人臉。

對此,原團隊提出了一種與攻擊獨立的檢測技術——DARCCC,它能夠識別出真實影像和GAN生成的影像在距離上的分佈誤差,從而有效檢測出“對抗”影像,防止系統被假圖片欺騙而導致錯誤的分類。

膠囊網路:將CNN推下神壇的“天命之子”

(用真實資料和對抗樣本分別訓練出的膠囊網路,後者重構出的影像更像“1”)

2. 膠囊網路+圖卷積GCN的圖分類能力

圖分類是一個應用非常廣泛的技術,在分子表示、社會網路分析、金融等領域,都需要從圖形中提取特徵資訊,並對其進行結構化的資料表示和分類。但是,已有的CNN分類演算法在執行過程中,往往需要固定大小的矩陣,但圖形節點和邊的數量卻可能存在很大的變化,給任務帶來很大的困難。

而判斷特徵之間的相似性,正是膠囊網路所擅長的。因此,有研究團隊將膠囊網路與圖卷積GCN相結合,開發出了新的圖分類模型。靠膠囊網路記住圖結構中的豐富資訊,以及圖的節點和邊等實體特徵,將其轉化成向量。再將CNN和膠囊層結合在一起,從而提高分類效能。

實驗結果表明,在所有7個基準資料集上,膠囊網路的加入確實效果優於CNN分類器。不過,執行速度也比CNN慢上八倍,同志仍需努力呀。

膠囊網路:將CNN推下神壇的“天命之子”

3.膠囊網路+注意力機制=零樣本意圖識別

在少量樣本或無樣本情況下,對新的類別進行理解,是困擾學界和產業界的老大難問題。比如在智慧問答和對話系統中,如何快速識別明明確新使用者的對話和意圖,對其進行正確分類和處理,就是提升智慧對話、降低無效溝通的重要課題。

就在前不久,ACL 2018中就出現了相關研究,研究人員首先透過與訓練方式提取文字資訊,對其層次特徵進行向量化處理。然後利用膠囊動態路由演算法,將新的使用者意圖與已有使用者意圖之間的相似度進行對比,再將已有使用者意圖上的資訊遷移至新的使用者意圖分類上,從而實現對新意圖的預測。

在SNIPS-NLU和CVA兩個語音助手資料集上,膠囊網路的加入都讓語義理解能力有了一定的提升。

膠囊網路:將CNN推下神壇的“天命之子”

關於膠囊網路的相關學術論文還有不少,比如基於膠囊網路的手勢識別,正確率達到94.2%,能夠幫助聽障人群進行更有效地溝通;以及在ICLR 2019上發表的圖片分類新框架膠囊圖神經網路(CapsGNN),也是將膠囊網路與圖神經網路(GNN)結合的新模型。

如果說以卷積神經網路為尊,是現階段AI產業的“原教旨主義”,膠囊網路顯然正在讓這一信仰土崩瓦解。不過,從實驗室到真實的應用體系中,想要真正取代CNN,還有千千萬萬特殊問題亟待處理。但如果把它當做一個思路,與現有的深度學習模型相結合,那麼現在,膠囊網路就可以給予我們不少意外和驚喜。

這當然僅僅是個開始,正如不斷手撕CNN的Hinton所總結的——科學是踩著葬禮前行的。站在前人的肩膀上前行,才能讓人工智慧始終作為一種“殺手鐧”式技術,成為我們博弈未來的武器。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561483/viewspace-2645478/,如需轉載,請註明出處,否則將追究法律責任。

相關文章