用Hinton的膠囊神經網絡來識別空間關係 Part1: CNNs及其缺點

2021-01-10 雷鋒網

雷鋒網按:本文為雷鋒字幕組編譯的技術博客,原標題Capsule Neural Networks: The Next Neural Networks? Part 1: CNNs and their problems.,作者為Tomer Eldor。

翻譯 | 陳曉璇  劉寧 魏洪貴    整理 |  凡江

「普通的」卷積神經網絡是當前機器學習領域最熱的一個概念, 但是它也有一些問題,例如不能識別空間關係,比如說圖片或其他數據裡不同部分之間的相對位置關係。Hinton最近提出的膠囊神經網絡也許能幫助我們解決包括這一問題和其他問題。

這篇文章是膠囊神經網絡系列教程的一部分。作為第一篇文章,將介紹常規(卷積)神經網絡以及它的一些問題。

神經網絡可能是當下機器學習領域最熱的部分。 近幾年,神經網絡得到眾多開發者不斷的改善,也更方便使用。但是,這些改進通常都是一些簡單的修改, 例如增加一些層,或者簡單的改進激活函數,但是並沒有引進全新的架構或思路。Geoffery Hinton 是包括神經網絡在內的很多廣泛使用的深度學習算法的創始人之一,考慮到他有著神經科學和人工智慧的雙重背景,取得這些成就也就不會太讓人意外。

2017年10月底, Geoffrey Hinton, Sara Sabour, 和 Nicholas Frosst 在Google Brain發表了題為「Dynamic Routing Between Capsules(膠囊間的動態路由)」的論文,給神經網絡領域帶來了一些新的東西。這很令人興奮,因為這樣大的創新已經很久沒人做到了,圍繞它很可能有更多的研究點被激發出來。

基點:卷積神經網絡

卷積神經網絡 (CNNs) 是一種很靈活的機器學習模型,它的設計靈感來源於人腦的處理問題的方式。

神經網絡通過整合多層「神經元」來將原始數據處理成特定的模式或對象。

卷積神經網絡的一個主要構建塊是「卷積層」(名字的由來)。它有什麼作用? 它將前一層的原始數據作為輸入,找到其中蘊含的模式信息,傳到下一層來更好地理解更大的圖片。

如果你剛接觸神經網絡,想要理解它,我建議你:

1. 看看 3Blue1Brown 的視頻,很生動形象。

2. 有關文字和視頻方面更細節的教程,可以查看beginner’s blogpost

3. 如果你有能力處理更細節的數學問題,你可以看看斯坦福CS231的課程。

如果你以上幾點都沒有做到,可以通過讀下面的簡介後再繼續。

CNNs的靈感來源

我們從頭說起。 神經網絡將原始數據作為輸入。假設有一隻手繪的小狗,你第一眼看到它時,大腦會自動將它識別為一隻狗。但是對計算機來說,這張圖片僅僅是一個關於有很多數字的數組。數組中的數值代表不同顏色通道的像素強度。如果是只有黑白的圖片,我們只需要用一個表示像素灰度值的數組來表示圖片即可。

用於網絡識別的示例。來源: The Sun, image: lovable dog rescue

我們的目標是什麼? 是讓網絡在視覺層面搞清圖片裡有什麼(這個數字序列代表著什麼)。一種方式是自下而上的方式: 讓網絡從聚焦一小部分像素開始,理解它們代表什麼(例如一些線段和曲線:像這張圖片中狗的耳朵的曲線,瞳孔的圓弧), 然後將這些線組合起來,來描述更大的對象(例如耳朵,鼻子,嘴,眼睛),同樣的去學習這些部分組成的更大的對象 (例如,臉,腿,尾巴),最終使網絡對狗做出整體的理解。

網絡是通過層之間數據的從頭到尾的傳遞實現這一功能的。

如果你不了解這個過程,可以看看我的關於CNNs結構的總結: 理解卷積神經網絡

萬一你沒讀過,而且不了解這些,下面是從我那些總結裡提煉出來更簡短的總結。

關於卷積神經網絡的理解

卷積層;第一層卷積層將圖片映射到較低緯度的空間— 歸納出一組像素點(例如5×5的像素塊)的信息—它是垂直的還是水平的線?是什麼形狀的曲線? 這個過程首先是對應元素相乘,然後將這些乘積相加為一個數,即得到filter輸出。

這就引出了神經元或者說卷積核的概念。每個卷積核都會對特定的模式(豎直線?水平線?等等)做出反應。 從第一層的像素傳到神經元時,會激活和它的結構相匹配的神經元,依據就是這個像素塊和卷積核的相似程度。

激活函數(通常用 「ReLU」)層— 每個卷積層後,都要添加一個非線性層 (又叫激活函數層), 從而給系統引入非線性,使得系統能學習到數據間的非線性關係。ReLU 是一個很簡單的激活函數:它把負輸入置零0,正輸入保持原值。

池化層;這層被用來減少冗餘信息, 總結我們關於一個區域已知的信息,並進一步精煉這些信息。例如,「MaxPooling」方法就是選取一組數的最大值 — —例如,電腦會認為 「在這個5×5的像素塊中, 影響最大的是255這個像素點. 」儘管不能確定這個值是哪個像素點,但是確切位置並沒有那麼重要,知道它大概位置就好了。 ( 注意:這個方法並不好。會造成信息的丟失。膠囊網絡就沒採用這個操作,這是一個重要的進步。)

Dropout 層;這一層通過隨機的將一些激活了的神經元置零來實現「dropout」。這麼做會使網絡更加健壯(有點類似於你吃了不乾淨的東西,卻幫助強化了你的免疫系統 這麼做之後網絡對一些小的改變也能免疫了) 還會減小過擬合。 只有訓練時會使用Dropout。

最後的全連接層;對於分類問題,我們希望最後一層不同的神經元代表不同類別。這一層關注前一層的輸出,(即高階特徵的激活圖)並確定出哪些特徵與某個類相關。

SoftMax 層;有時加上這一層來表示每一類的輸出,並把這個輸出傳遞給損失函數。 Softmax 代表了不同類輸出的概率分布。

通常,有更多的提供非線性和保留維度(就像在邊緣周圍填充0)的網絡層,它們能夠幫助改善神經網絡的魯棒性以及防止過度擬合。但是接下來有一些基本概念你需要理解。

現在,重要的一點是,這些層只能是有序列的聯結在一起。這和膠囊神經網絡的結構相反。

神經網絡結構,來自谷歌的文章,是Szegedy,Toshev&Erhan提出的神經網絡

卷積神經網絡有什麼問題?

如果您對此感興趣,請觀看Hinton的課,裡面講解的就是這個問題。下面是膠囊神經網絡能夠改善這些問題的幾個要點:

Hinton說,膠囊神經網絡擁有很少層級的分支結構(網絡由以神經元組成的層組成,就是這樣),並且這使我們需要將每一層的神經元分組到「膠囊」裡面,這種「膠囊」就像小模塊,在小模塊裡面會進行大量的計算,然後輸出一個匯總結果。

問題一:「池化」使信息丟失

CNN運用「池化」或與之等效的方法來「總結」小區域中發生的情況,並理解圖像中越來越大的塊。這是一個讓CNN網絡運作良好的解決方案之一,但與此同時它會丟失寶貴的信息。

膠囊神經網絡會計算一個小特徵和大特徵的姿態關係(跨越邊界和旋轉)。

這些信息的丟失會造成空間信息的丟失。

問題2:CNN沒有考慮圖像的每一部分之間的空間關係。也就是說,它們也對於物體的方向過於敏感了

二次抽樣(和池化)使圖片失去了精確的空間關係,例如鼻子和嘴巴。身份特性的識別需要精確的空間關係。——Hinton,2012,在演講中

CNN不會考慮底層對象之間的空間關係。通過這些平層中的神經元將它們看到的物體照亮,它們識別到了那個物體呈現出的形態。但是它們會傳遞到其他激活和合併圖層,並傳遞到下一層神經元(過濾器),而不會意識到我們在該單層中識別的這些對象之間的關係。

他們只是說明他們的存在。

所以一個(簡單的)神經網絡能夠將巴勃羅和畢卡索歸類為小狗,「小狗 - 鬥牛梗混合」也能同樣的被很好的識別。

普通的(卷積)神經網絡能夠將這兩隻可愛的狗視為同類型的狗臉,因為它並不介關心組成狗臉的元素在空間中相對於彼此的位置。畢卡索(左邊的狗)將幸運的不會被模型分錯,但我們真的想要有一個模型可以認識到,這不是一個常見的柯基犬 - 鬥牛犬混合狗的例子。圖片來源:愛犬救援

神經網絡會將這兩隻小狗是被為典型「小狗 - 鬥牛梗混合」,因為他們的圖像特徵都符合面部卷積層的情況,例如:

if: (2 eyes & pitbullmix_snout 
    + pitbullmix_wet_nose & mouth)
then: pitbullmix_face

不正確地激活pitbullmix_face的神經元,而不是像下面這樣的東西:

if: 2 eyes
& BELOW: pitbullmix_snout
    & pitbullmix_wet_nose
& BELOW: mouth
then: pitbullmix_face

相反地,膠囊神經網絡反映方向信息和內容,並連接神經元與膠囊以推斷空間關係並保留姿勢信息。

缺少將膠囊分組的呈現、姿態計算和膠囊之間的重疊檢查,會導致下一個問題。

問題3:CNN不能將對幾何關係的理解傳遞到新的視點上

為了正確給圖像分類,這使他們對原始圖像更加敏感。

CNN擅長解決那些與他們訓練的模型相似的問題,它可以把圖像或者目標物體分類的非常好。

但當物件有一些旋轉角度時,尤其是3D的情況,CNN則識別不出來。

一種解決方案是人為地創建傾斜展示的圖像或圖像組,並將它們添加到「訓練」集中。 但是,這樣仍然缺乏一個更為穩健的結構。

對不變視點的空間關係姿態進行編碼

所以,我們應該怎樣編碼3D物體之間的空間關係呢?

Hinton從一個已經被解決的問題領域——3D 計算機圖形學中取得靈感。

在3D圖形中,姿態矩陣是表示對象之間關係的特殊技術。 姿勢本質上是代表平移加旋轉的矩陣。 現在我們得到了它。 我們可以使用子對象之間的姿態關係保留空間關係信息;  測量物體之間的相對旋轉和平移作為4D姿態矩陣。

這對於理解膠囊之間的動態路徑選擇很重要。

現在我們知道了神經網絡的基礎以及空間識別的問題,我們可以繼續了解最近發展出的解決方式:膠囊神經網絡。這將是我們下一篇的主題。請繼續收看!

博客原址 https://towardsdatascience.com/capsule-neural-networks-are-here-to-finally-recognize-spatial-relationships-693b7c99b12

更多文章,關注雷鋒網 雷鋒網(公眾號:雷鋒網)雷鋒網

添加雷鋒字幕組微信號(leiphonefansub)為好友

備註「我要加入」,To be an  AI  Volunteer !



雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • Hinton一作新論文:如何在神經網絡中表示「部分-整體層次結構」?
    比如,膠囊網絡通過局部到整體的動態路徑選擇一致性來學習識別,近期Hinton還將其擴展到了無監督學習,並應用了Transformer架構;對比學習則學習一種表示,使得同一幅圖像的的各個局部具有相似的表示;認知神經科學出身的Hinton還一直堅持探索著大腦的學習機制,比如back relaxation試圖在自頂向下表示和自底向上表示之間產生一致性,而這又和對比學習有聯繫。
  • 深度卷積神經網絡CNNs的多GPU並行框架 及其在圖像識別的應用
    將深度卷積神經網絡(Convolutional Neural Networks, 簡稱CNNs)用於圖像識別在研究領域吸引著越來越多目光。由於卷積神經網絡結構非常適合模型並行的訓練,因此以模型並行+數據並行的方式來加速Deep CNNs訓練,可預期取得較大收穫。
  • 膠囊神經網絡研究現狀與未來的淺析
    介紹了卷積神經網絡的經典模型和深度學習中新型神經網絡模型——膠囊網絡以及其動態路由算法,並對比了二者的優劣性。對膠囊網絡的應用給予綜述,以圖像和文本兩方面來闡述膠囊網絡的應用領域和優勢所在。最後進行概括總結,並展望了膠囊網絡可能的改進方向。
  • Hinton AAAI2020現場演講:這次終於把膠囊網絡做對了
    所以,訓練 CNN 的時候要使用各種不同的視角,來讓模型學習如何泛化到不同的視角上;這種做法很低效。理想的神經網絡應當不需要花什麼額外的功夫,可以自然而然地泛化到新的視角上 —— 學會識別某種物體以後,可以把它放大十倍,再旋轉 60 度,仍然能夠識別,這樣才是合適的。我們知道計算機圖形學就是這樣的,我們也希望能設計出更接近這樣的神經網絡。
  • 膠囊網絡,是什麼?
    什麼是膠囊網絡?膠囊網絡是 Geoffrey Hinton 提出的一種新型神經網絡結構,為了解決卷積神經網絡(ConvNets)的一些缺點,提出了膠囊網絡。話不多說,來看看這個聽起來就像「一顆一顆藥擺在你面前」的網絡是怎麼樣的。卷積網絡有平移不變性平移不變性是什麼呢?
  • 從原理到代碼,Hinton的膠囊網絡實用指南(附視頻+代碼)
    在第一次AI寒冬中(80年代),其他人不相信神經網絡能夠奏效,而Hinton卻堅信神經網絡的觀點,這正是他如此偉大的原因。Siraj會重點介紹卷積神經網絡的飛速發展史以及膠囊網絡的工作原理、TensorFlow代碼。
  • Hinton膠囊網絡代碼正式開源,你也能為GitHub1.4萬fork的庫貢獻
    用「Capsule」作為下一代CNN的理由 在深度學習中,神經元的激活水平通常被解釋為檢測特定特徵的可能性。但是,CNN善於檢測特徵,卻在探索特徵(視角,大小,方位)之間的空間關係方面效果較差。例如,下面這張圖片可能會騙過一個簡單的CNN模型,讓CNN模型相信這是一張真實的人臉。
  • Nat Mach Int | 可解釋的膠囊網絡深度學習架構識別細胞亞型
    通過競爭性單細胞類型識別,scCapsNet模型能夠進行特徵選擇來識別編碼不同亞細胞類型的基因組,使亞細胞型識別成為可能的RNA表達特徵被有效地集成到scCapsNet的參數矩陣中。這一特性使基因調控模塊的發現成為可能。
  • 深度學習教父Geoffrey Hinton的「膠囊」論文公開,帶你讀懂它
    值得一提的是,同在谷歌大腦(但不在同一個辦公室)的Jeff Dean也認為稀疏激活的神經網絡是未來的重要發展方向,不知道他能不能也提出一些不同的實現方法來。  Capsule這樣的網絡結構在符合人們「一次認知多個屬性」的直觀感受的同時,也會帶來另一個直觀的問題,那就是不同的膠囊應該如何訓練、又如何讓網絡自己決定膠囊間的激活關係。
  • Hinton的Capsule論文全公開!首發《膠囊間的動態路由》原文精譯
    作者們把兩個最活躍的數字膠囊看作膠囊網絡產生的分類結果。在重建過程中,作者們每次選擇一個數字,用它對應的數字膠囊的激活向量來重建這個數字的圖像(已經知道這個圖像是什麼,因為作者們預先用它來生成合成的圖像)。與上文MNIST測試中模型的唯一不同在於,現在把將學習率的衰減步數提高到了原來的10倍,這是因為訓練數據集更大。
  • 神經網絡之父Geoffrey Hinton傑弗裡·欣頓 跨過人工智慧寒冬談深度學習
    2009年HintonHinton以及他兩個研究生D.Mohamed等,用神經網絡應用於語音的聲學建模,在小詞彙量連續語音識別資料庫TIMIT上,獲得了語音識別競賽勝利,隨後這項基於神經網絡的方法被應用於谷歌安卓手機上。
  • Geoffrey Hinton專訪:如何解釋神經網絡的變遷
    大約在2007年,做神經網絡的人們開始使用GPU。我有一個非常優秀的學生,也開始使用GPU來尋找航拍圖像中的道路。他寫了一些代碼,然後被其他學生用來使用GPU去識別語音中的音素,當時他們正在使用預訓練的想法。在他們完成所有這些預訓練之後,只要把標籤貼在上面然後使用反向傳播,你就可以有一個經過預訓練的非常深的網。然後你可以繼續使用反向傳播,它確實有效。它在某種程度上超過了語音識別的基準。
  • Geoffrey Hinton:從神經網絡的黑暗時代堅守至今日黎明
    出生於英國,現今 69 歲的他是人工智慧領域眾所周知的「神經網絡教父」,神經網絡是一種模仿人腦構建的計算機系統,並可自我學習。正如一些專家說的,如同 20 世紀的電力一樣,神經網絡將——事實上已經——徹底變革人類生活方式。數年來,Hinton 教授的工作不僅相對來說令人費解,而且在一場長達 10 年的計算機科學學術之爭中處於失利的一方。
  • Hinton等人新研究:如何更好地測量神經網絡表示相似性
    近期很多研究試圖通過對比神經網絡表示來理解神經網絡的行為。谷歌大腦 Simon Kornblith、Geoffrey Hinton 等人的一項新研究引入了 centered kernel alignment (CKA) 作為相似性指數,並分析 CKA、線性回歸、典型相關分析(CCA)等相關方法之間的關係,證明 CKA 優於其他相似性指數。
  • 人物 | Geoffrey Hinton的成功之路:從神經網絡黑暗時代的堅守到今天的勝利
    出生於英國,現今 69 歲的他是人工智慧領域眾所周知的「神經網絡教父」,神經網絡是一種模仿人腦構建的計算機系統,並可自我學習。正如一些專家說的,如同 20 世紀的電力一樣,神經網絡將——事實上已經——徹底變革人類生活方式。數年來,Hinton 教授的工作不僅相對來說令人費解,而且在一場長達 10 年的計算機科學學術之爭中處於失利的一方。
  • 調理神經衰弱 用棗仁安神膠囊
    神經衰弱,是一種病  雖然神經衰弱困擾著很多人,但由於生活節奏的加快,往往被人們所忽略,甚至還有些人並不覺得神經衰弱是一種病。實際上,神經衰弱是一種功能性疾病,是指大腦由於長期的情緒緊張和精神壓力引起腦功能活動過度緊張,從而產生精神活動能力的減弱。  怎樣識別神經衰弱呢?
  • 用於英文字母識別的三種人工神經網絡的設計
    3 識別字符的網絡設計及其實驗分析3.1單層感知器的設計及其識別效果選取網絡35個輸人節點和26個輸出節點,設置目標誤差為0.0001,最大訓練次數為40。設計出的網絡使輸出矢量在正確的位置上輸出為1,在其他位置上輸出為O。
  • 膠囊網絡:一種全新的富有吸引力的AI架構
    例如,如果你把一張臉顛倒過來,網絡將不再能夠識別眼睛、鼻子、嘴巴以及它們之間的空間關係。類似地,如果改變面部的特定區域(即切換眼睛和鼻子的位置),網絡也可以識別臉部,但是它已經不是真正的臉部了。CNN只學習到了圖像中的統計信息,但是他們沒有學習基本的思維,即到究竟什麼樣子才會被稱作是臉。
  • 基於英文字母識別的三種人工神經網絡的設計方案
    典型的前向網絡有單層感知器、BP網絡等,反饋網絡有霍普菲爾德網絡等[1]。 人工神經網絡已經被廣泛應用於模式識別、信號處理、專家系統、優化組合、智能控制等各個方面,其中採用人工神經網絡進行模式識別具有一些傳統技術所沒有的優點:良好的容錯能力[2j、分類能力、並行處理能力和自學習能力,並且其運行速度快,自適應性能好,具有較高的解析度。
  • 人工神經網絡算法介紹及其參數講解
    目前,已有近40種神經網絡模型,其中有反傳網絡、感知器、自組織映射、Hopfield網絡、波耳茲曼機、適應諧振理論等。根據連接的拓撲結構,神經網絡模型可以分為:前向網絡、反饋網絡。前向網絡:網絡中各個神經元接受前一級的輸入,並輸出到下一級,網絡中沒有反饋,可以用一個有向無環路圖表示。這種網絡實現信號從輸入空間到輸出空間的變換,它的信息處理能力來自於簡單非線性函數的多次複合。