前不久,圖靈獎得主Geoffrey Hinton的第一篇論文被扒了出來,在推特上引發了不少關注。當然,讓大家激動的並不是源自對「大神」科學研究處女作的好奇,也不是提出的演算法有多麼顛覆,而是Hinton 這位AI界的人形自走教科書,早在40年前這篇論文中,就提出了「讓AI具備空間感」的鬆弛演算法,解題思考方向與2017年其提出的「膠囊網路」(Capsule networks, CapsNets)不謀而合。
Geoff Hinton’s first paper pic.twitter.com/sRCqww11ZL
— Kosta Derpanis (@CSProfKGD) 2019年5月15日
「膠囊網路」早已是公認將成為下一代深度學習基石CNN「接班人」的神經網路。
經歷了長達四十年的思考,「膠囊網路」將會怎樣大顯神威,技術背後代表的未來能量才是讓網友們讚歎的地方啊~
如果你還不太瞭解「膠囊網路」,或是對其最新進展不甚了解,那麼,不妨跟隨這篇文章,來系統性地瞭解一下這個人工智慧未來的「種子選手」。
神經網路「宮心計」:膠囊是如何「爭寵」的?
對AI發展略有瞭解的同學們可能都知道,Hinton被人所熟知,並獲得圖靈獎,主要歸功於其在深度神經網路上的貢獻。
1986年,Hinton發表了《Learning representations by back-propagation errors》(透過誤差反向傳播來學習表徵),作為這位圖靈獎得主的代表作之一,象徵著反向傳播演算法正式被引進深度學習,這對人工智慧的應用有著重大的意義。
反向傳播出現之前,多層神經網路的訓練主要是透過前向傳遞來輸入訊號,直至產生誤差,再進行最佳化。以梯度下降(Gradient Descent)為例,輸入數據每向前走一步,都沿著最陡峭的地方下腳,就這樣一步步走到山底(梯度的反方向)。因此,該演算法可以直接將每層的誤差反饋給系統,並進行參數最佳化。
但這種方式在應對具有多個隱層的神經網路時,就有些力不從心了。在下降時隱層中的誤差無法被直接反饋出來,因此其權重參數也就不能直接被最佳化,這就給神經網路的性能表現帶來了極大的不穩定性。
怎樣才能將隱層的誤差表示出來呢?誤差反向傳播演算法的出現是一場「及時雨」。
它的原理簡單來說,就是一旦下降時(即前向傳播)輸出層沒有得到適當而明確的誤差參數,那麼反向傳播就會借助轉置權重矩陣,讓誤差可以被隱藏層感知到,進而產生「間接誤差」。而隱藏層的權重矩陣就可以借助間接誤差進行更新。這樣反覆迭代,就能將包含隱藏層的多層神經網路誤差降到最小。
正是在此基礎上,卷積神經網路展現出了前所未有的性能。
輸入數據的特徵經過歸一化處理後,就會進入隱含層中,完成卷積計算、池化、調整參數等一系列模擬神經元的操作,再輸出成不同的辨識效果。
這種分層認知特徵的學習能力,和人類大腦的思維方式高度相似。這也是為什麼,卷積神經網路在機器視覺及很多問題上都取得了當時最好的性能,成為應用最廣泛的深度神經網路結構。
但是,受限於反向傳播的天然缺陷,卷積神經網路並不完美,黑箱性、高消耗、遷移能力差等諸多問題,一直為學界和產業界所詬病。這也是為什麼,Hinton一直在尋找著CNN的替代者。
2011年,Hinton認為目前的圖像辨識方法在智力上表現不夠好,提出了「膠囊」的概念。數年之後,2017年10月,則在機器學習的頂級會議「神經訊息處理系統大會(NIPS)」上發表了題為《膠囊之間的動態路由》的論文,提出了全新的深度學習方法——膠囊網路(CapsNet)。
「膠囊」代表圖像中特定實體的各種特徵,例如位置、大小、方向、速度、色調、紋理等等,作為一個單獨的邏輯單元存在。然後,使用一個協議路由演算法,當膠囊將自己學習並預測到的數據傳遞給更高層次的膠囊時,如果預測一致,更高層級的膠囊變得活躍,這個過程就被稱作動態路由。
隨著路由機制的不斷迭代,就能夠將各種膠囊訓練成學習不同思維的單元。例如,讓神經網路辨識臉部,就將面孔的不同部分分別「路由」到能夠理解眼睛、鼻子、嘴、耳朵的膠囊裡去。
換句話說,神經膠囊就是一組被打包好的神經元,它們在內部進行大量運算,然後僅向上輸出一個結果——高維向量。
那麼,膠囊網路比目前的卷積神經網路好在什麼地方?大約可以總結為三點:
首先,卷積神經網路的輸出結果是純量,而膠囊網路是帶有方向的向量。而向量存在的意義是,膠囊網路不僅可以根據統計訊息進行特徵檢測,例如根據眼睛鼻子嘴等五官辨識出一張「臉」,還可以對特徵進行理解,如果五官不在其特定的區域了,例如嘴長到了額頭、眼睛長到了耳朵上,膠囊網路不會像CNN一樣含糊放過。因為它能夠檢測不同方向的同一個物體類別(例如,順時針旋轉),進而學習到基本的思維,知道到底什麼樣子的五官才能被稱作是「臉」。
第二,卷積神經網路的每一層都需要做同樣的卷積運算,因此需要相當多的網路數據才能學習,否則就無法精準地調整參數,非常耗時、低效且昂貴。例如讓它學會認臉技能,需要投餵大量不同的變體,MNIST資料集就包含55,000個訓練數據,即每個數位單元都有5,500個樣本。
膠囊網路則要求模型在膠囊中學習特徵變量,最大化保留那些有價值的訊息,因此它可以使用更少的訓練數據就推斷出可能的變量,達到CNN的預期效果。這就使得它在人臉辨識、圖像辨識、字符辨識等領域的落地更受歡迎了。
第三,卷積神經網路不能很好地處理模糊性,因為不斷池化會丟失許多重要的特徵訊息,因此對微小的變化不甚敏感,在完成語義分割等複雜任務時,需要構建複雜的體系結構來解決訊息丟失問題。也難怪Hinton會說出「CNN分類正確率很高,看似一個大好局面,實則是一場災難」的話了。
但膠囊網路不同,由於每個膠囊都攜帶了大量的訊息,目標位置、旋轉、厚度、傾斜、大小等詳細訊息都被保存並平移給了上層膠囊,自然也就可以用簡單一致的架構應對不同的視覺任務。
聽起來是不是還不錯的,除此之外,膠囊網路還有一個比較「形而上」的優勢,那就是它的傳輸和運算邏輯更符合人腦神經元的工作方式,不同的膠囊可以攜帶不同屬性,就像人腦的不同區域負責不同的工作。因此,其智慧化表現上更加優秀,能夠舉一反三。
例如下面這些自由女神像,各種角度都能認出來,對膠囊網路來說非常簡單。而CNN在模擬人類神經元這件事上,卻只能「有多少人工(資料)就有多少智能」,真是高下立見啊。
膠囊神經網路想要更上層樓,差在哪些地方?
被AI教父親口斷定沒有前途,一場神經網路界庶長子與嫡次子的奪位之戰即將拉開序幕……
顯然,又聰明又能幹又會過日子的「膠囊網路」才是民心所向,2018年2月該論文第一作者剛剛在GitHub開源了膠囊網路的程式碼,就吸引來了數萬人fork(複製源程式碼在其上開發)。
按理說,以AI演算法的迭代速度,一年多時間怎麼都夠孵化出N個新模型了,例如AlphaGo開源並隱退後,很快又出現了強化版「師弟」AlphaGo Master,擊敗了世界排名第一的人類選手柯潔。五個月之後,更強的AlphaGo zero從零自學了40天,又打敗了AlphaGo Master版本。
既然如此,怎麼膠囊網路就是「雷聲大雨點小」呢?
顯然,不是「嫡次子」能力不行,也不是智囊團不夠力,而是想要真的把「ANN長子」拉下馬,勢必會遭遇若干阻礙,例如說:
1.模型訓練的週期侷限。由於需要在每個膠囊單元中完成運算(協議路由演算法),導致其訓練模型的時間更慢。在不同硬體和雲端伺服器上的50迭代訓練時間說明,與CNN相比,膠囊網路模型需要更大的耐心。
2.學術起步階段的研究侷限。目前針對膠囊網路的研究大多集中在零樣本和少樣本任務中,而且,膠囊網路在CIFAR10資料集、ImageNet等大圖像上的準確性並沒有CNN的高。產業端自然不會在缺乏足夠實驗例證、投資回報不明晰的前提下,貿貿然就選擇跟進了。
3.膠囊網路自身的性能侷限。與CNN一樣,膠囊網路也有其不完美之處,例如膠囊擁擠,即如果一個膠囊網路彼此之間太接近,就沒有辦法區分出同一類型的兩個對象。因此在模型中,給定的位置上只能有一個給定類型的膠囊,這就大大侷限了其現實中應用的條件。
某種程度上來說,膠囊網路還是一個剛剛墜地的孩童,距離拿下CNN的位置還是非常遙遠的。
但是也別急著失望,讓CNN在現階段發光發熱,同時繼續培養未來堪當大任的接班人,這樣生生不息的AI未來也蠻值得期待的,「養成」也是一種樂趣嘛~
學而時習之:膠囊網路的新發現
雖然現在的膠囊網路還很弱小,但並不妨礙無數「最強大腦」拚命教它本領。那麼近兩年來,膠囊網路有哪些新的發現呢?
1.透過膠囊網路抵禦對抗性攻擊
還是熟悉的配方,還是熟悉的味道。在膠囊網路模型提出的一年之後,原作者團隊(Sabour、Frosst 以及 Hinton)在2018年的機器學習安全研討會中展示了自己的新成果——膠囊網路在抵禦對抗性攻擊上的能力。
對抗性攻擊會對傳統的CNN產生較大影響,例如不同方向的圖片,CNN很容易辨認不清,如果一些特徵被放置在了錯誤的地方,CNN也會被圖片所欺騙。這會引發一系列安全問題,例如自動駕駛汽車搞混了真的人臉與列印的人臉。
對此,原團隊提出了一種與攻擊獨立的檢測技術——DARCCC,它能夠辨識出真實圖像和GAN產生的圖像在距離上的分佈誤差,進而有效檢測出「對抗」圖像,防止系統被假圖片欺騙而導致錯誤的分類。
2. 膠囊網路+圖卷積GCN的圖分類能力
圖分類是一個應用非常廣泛的技術,在分子表示、社會網路分析、金融等領域,都需要從圖形中提取特徵訊息,並對其進行結構化的數據表示和分類。但是,已有的CNN分類演算法在運行過程中,往往需要固定大小的矩陣,但圖形節點和邊的數量卻可能存在很大的變化,給任務帶來很大的困難。
而判斷特徵之間的相似性,正是膠囊網路所擅長的。因此,有研究團隊將膠囊網路與圖卷積GCN相結合,開發出了新的圖分類模型。靠膠囊網路記住圖結構中的豐富訊息,以及圖的節點和邊等實體特徵,將其轉化成向量。再將CNN和膠囊層結合在一起,進而提高分類性能。
實驗結果表明,在所有7個基準資料集上,膠囊網路的加入確實效果優於CNN分類器。不過,執行速度也比CNN慢上八倍,同志仍需努力呀。
3.膠囊網路+注意力機制=零樣本意圖辨識
在少量樣本或無樣本情況下,對新的類別進行理解,是困擾學界和產業界的老大難問題。例如在智慧問答和對話系統中,如何快速辨識明明確新使用者的對話和意圖,對其進行正確分類和處理,就是提升智慧對話、降低無效溝通的重要課題。
就在前不久,ACL 2018中就出現了相關研究,研究人員首先透過與訓練方式提取文本訊息,對其層次特徵進行向量化處理。然後利用膠囊動態路由演算法,將新的使用者意圖與已有使用者意圖之間的相似度進行對比,再將已有使用者意圖上的訊息遷移至新的使用者意圖分類上,進而實現對新意圖的預測。
在SNIPS-NLU和CVA兩個語音助手資料集上,膠囊網路的加入都讓語義理解能力有了一定的提升。
關於膠囊網路的相關學術論文還有不少,例如基於膠囊網路的手勢辨識,正確率達到94.2%,能夠幫助聽障人群進行更有效地溝通;以及在ICLR 2019上發表的圖片分類新框架膠囊圖神經網路(CapsGNN),也是將膠囊網路與圖神經網路(GNN)結合的新模型。
如果說以卷積神經網路為尊,是現階段AI產業的「原教旨主義」,膠囊網路顯然正在讓這一信仰土崩瓦解。不過,從實驗室到真實的應用體系中,想要真正取代CNN,還有千千萬萬特殊問題亟待處理。但如果把它當做一個思考方向,與現有的深度學習模型相結合,那麼現在,膠囊網路就可以給予我們不少意外和驚喜。
這當然僅僅是個開始,正如不斷手撕CNN的Hinton所總結的——科學是踩著葬禮前行的。站在前人的肩膀上前行,才能讓人工智慧始終作為一種「殺手鐗」式技術,成為我們博弈未來的武器。
- 本文授權轉載自腦極體
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!