機器之心分析師網絡
作者:周宇
編輯:H4O
本文對多個版本的膠囊網絡進行了詳細的介紹。
本文以綜述的形式,儘可能詳細的向讀者介紹膠囊網絡的誕生,發展過程與應用前景。本文的內容以 Hinton 的標誌性文章為基礎,結合近年來發表在頂會頂刊的文章為補充,力圖詳細的讓讀者們瞭解膠囊網絡的各種版本,熟悉它在不同領域的革命性突破,以及它在目前所存在的不足。
深度學習和人工神經網絡已經被證明在計算機視覺和自然語言處理等領域有很優異的表現,不過隨着越來越多相關任務的提出,例如圖像識別,物體檢測,物體分割和語言翻譯等,研究者們仍然需要更多有效的方法來解決其計算量和精度的問題。在已有的深度學習方法中,卷積神經網絡 (Convolutional Neural Networks) 是應用最為廣泛的一種模型。卷積神經網絡通常簡稱為 CNN,一般的 CNN 模型由卷積層 (convolutional layer), 池化層(pooling layer) 和全連接層 (fully-connected layer) 疊加構成。
在卷積的過程中,卷積層中的卷積核依次與輸入圖像的像素做卷積運算來自動提取圖像中的特徵。卷積核的尺寸一般小於圖像並且以一定的步長 (stride) 在圖像上移動着得到特徵圖。步長設置的越大,特徵圖的尺寸就越小,但是過大的步長會損失部分圖像中的特徵。此外,池化層也通常被作用於產生的特徵圖上,它能保證 CNN 模型在不同形式的圖像中能識別出相同的物體,同時也減少了模型對圖像的內存需求,它最大的特點是為 CNN 模型引入了空間不變性(spatial invariance)。
雖然 CNN 模型的提出取得了顯著的成果並解決了許多問題,但是它在某些方面還是存在許多缺陷。CNN 最大的缺陷就是它不能從整幅圖像和部分圖像識別出姿勢,紋理和變化。具體來説,由於 CNN 中的池化操作使得模型具有了空間不變性,因此模型就不具備等變(equivariant). 如下圖所示,CNN 會把第一和第二幅圖都識別為人臉,而把第三幅方向翻轉的圖識別為不是人臉。另外,池化操作使得特徵圖丟失了很多信息,它們因此需要更多訓練數據來補償這些損失。就特點上而言,CNN 模型更適合那些像素擾動極大的圖像分類,但是對某些不同視角的圖像識別能力相對較差。
圖 1. 識別示意圖。圖源:https://www.spiria.com/en/blog/artificial-intelligence/deep-learning-capsule-network-revolution/
因此,在 2011 年,Hinton 和他的同事們提出了膠囊網絡 (CapsNet) 作為 CNN 模型的替代。膠囊具有等變性並且輸入輸出都是向量形式的神經元而不是 CNN 模型中的標量值 [1]。膠囊的這種特徵表示形式可以允許它識別變化和不同視角。在膠囊網絡中,每一個膠囊都由若干神經元組成,而這每個神經元的輸出又代表着同一物體的不同屬性。這就為識別物體提供了一個巨大的優勢,即能通過識別一個物體的部分屬性來識別整體。
膠囊的輸出通常為某個特徵的概率及特性,這個概率和特性通常被叫做實例化參數。而實例化參數代表着網絡的等變性,它使得網絡能夠有效的識別姿勢,紋理和變化。比如,如果用 CNN 模型去識別一張臉,模型會將一張眼睛和鼻子位置顛倒的圖片識別為人臉,但是,膠囊網絡的等變性會保證特徵圖中位置的信息,因此,具有等變性的膠囊網絡會在識別人臉時不僅考慮眼睛鼻子的存在,還會考慮它們的位置。Hinton 首先提出了膠囊網絡的基礎概念, 然後其餘的作者又在此基礎上做了其他的改進和應用。接下來的章節,我會對多個版本的膠囊網絡進行詳細的介紹。
一:膠囊網絡的基礎概念
(1) Transforming Auto-encoders
第一個被髮表的膠囊網絡即為 Transforming Auto-encoders [2]。它的提出是為了增加網絡識別姿態的能力,其主要目標不是在圖像中做物體識別,而是從輸入圖像中提取姿態然後以原始姿態輸出變換後的圖像。在這篇文章中,向量形式的膠囊首次被提出,其輸出的向量既代表特徵存在的概率又含有實例化參數。
同時,膠囊也可分為不同的層級:低層 l 的可以叫做初級膠囊,高層 l+1 的可以叫做高層膠囊。低層膠囊從像素中提取姿態參數並且創建一個部分 - 整體的層次結構。這種部分 - 整體的層次結構是膠囊網絡的一個優點,通過對其部分的識別,可以得到對整體的識別。要做到這一點,低級別膠囊所代表的特徵必須具有正確的空間關係,才能在 l +1 層激活高級別膠囊。例如,讓眼睛和嘴巴用較低水平的膠囊表示,如果他們的預測一致的話,一個膠囊代表人臉的高水平膠囊的會被激活,從而模型能做出正確的判斷。Hinton 在 2011 年的論文中介紹了這種方法的一個簡單例子,如圖 2 所示。
圖 2. Auto-encoder Capsule structure (Hinton et al., 2011).
作者用一個使用二維圖像和輸出僅為 x 和 y 膠囊的簡單例子來解釋這個網絡的工作流程。網絡一旦確定並且完成學習過程,網絡將同時獲取一幅圖像和所需的位移 Dx 和 Dy,之後網絡就可以輸出具有指定位移的目標圖像。該網絡由許多獨立的膠囊組成,它們會在最後一層相互融合生成有位移的圖像。每個膠囊都有自己的邏輯 “識別單元”(圖 2 中的紅色部件),作為計算三個數字 x, y, 和 p 的隱藏層,這些被稱為“識別單元” 的初級膠囊會將信息送到更高層次膠囊中。
其中輸出 p 表示特徵在膠囊中的概率。膠囊也有自己的 “生成單元”(圖 2 中的綠色) 用於計算該膠囊對變換圖像的貢獻。如圖所示,“生成單元”的輸入為 x+Dx 和 y+Dy,“生成單元”對輸出圖像的貢獻乘以 p,而那些不活動的膠囊則對輸出圖像沒有影響。auto-encoder 之所以能產生正確的輸出圖像,關鍵在於每個活動膠囊所計算的 x 和 y 值都對應着實體本身實際的 x 和 y 的位置,因此,我們就大可不必事先非得知道這個實體本身的座標原點。
為了演示這個方法的有效性,作者訓練了一個有 30 個膠囊的網絡,每個膠囊都有 10 個識別單元和 20 個生成單元。每個膠囊都能看到 MNIST 數字集的整體。輸入和輸出圖像都分別在 x 和 y 方向上隨機位移 - 2,-1,0,1,2,並且網絡還將 Dx,Dy 作為了附加輸入。
圖 3. 上圖:最上一行是輸入圖片;中間一行是輸出圖片;最下一行是變換正確的圖片。下圖:前 7 個膠囊的前 20 個生成單元的輸出權值 (Hinton et al., 2011)。
此外,如果每個膠囊有 9 個實數輸出,那這些輸出可以被看做 3*3 的矩陣,那麼網絡就可以用來完成二維仿射變換(平移,旋轉,縮放和剪切)。使用矩陣乘法的另外一個優勢是,它會使得處理 3D 圖像變得更加容易。於是作者做了初步試驗來衍生至計算機圖形學,實驗也取得了不錯的效果,如下圖所示。
圖 4. 左:訓練數據的輸入,輸出和目標立體;右:訓練數據中無樣本車型的輸入,輸出和目標立體 (Hinton et al., 2011)。
(2) Dynamic routing between capsules
2017 年,下一個版本的膠囊網絡被提出,它定義了一個膠囊為一組具有實例參數的神經元,這些神經元代表着活躍的向量,向量的長度表示特徵存在的概率 [3]。在一個活躍的膠囊內的神經元的活動代表了存在於圖像中一個特徵的實體。這些屬性可以包括許多不同類型的實例化參數如姿態 (位置,大小,方向),變形,速度,反照率,色調,紋理等。向量輸出的長度通過施加一個矢量運算使得它的膠囊的方向保持不變,但是長度為單位長度,目的是為了縮小了它的規模。因為一個膠囊的輸出是一個矢量,這讓使用強大的動態路由使得信息在膠囊間傳輸變得可能。
在路由過程中,輸出矢量被路由到所有可能的父節點,並且這些矢量通過乘以總和為 1 耦合係數縮小了尺度。對於每一個可能的父結點,膠囊通過自己的輸出和一個權值矩陣相乘計算出一個“預測向量”。如果該預測向量與父結點的輸出有較大的標量積,那麼自頂向下的反饋結構就會增加了父節點的耦合係數而減少其他父節點的壓力。這樣的反饋機制進一步增加了膠囊的預測向量和父節點輸出的標量積,從而增加了膠囊的貢獻。這種“routing-by-agreement” 的方式應該比最原始的最大池化實現路由的形式要有效得多。
這個版本的膠囊網絡相比上一個最大的改進是不再需要姿態數據作為輸入,它主要由卷積層 (Convolutional layer),初級膠囊層 (Primary capsule layer) 和分類膠囊層 (Class capsule layer) 組成。卷積層使用特徵學習檢測器的版本,這在圖像解釋中被證明是十分有用的。初級膠囊層是第一層膠囊層,分類膠囊層為最後一個膠囊層。輸入圖像的特徵提取是由卷積層來完成,隨後提取的特徵被送入初級膠囊層。
雖然我們用矢量輸出膠囊和“routing-by-agreement” 取代 CNNs 的標量輸出和 max-pooling,我們仍然希望在不同空間中提取我們所學到的知識。對於初級膠囊,有關位置信息的 “位置編碼” 膠囊是活躍的。隨着膠囊等級的上升,越來越多的位置信息被 “速率編碼” 包含在膠囊輸出向量的實值分量中。這種從 “位置編碼” 到“速率編碼”的轉變,還有高級膠囊包含更復雜的實體和擁有更多的自由度共同表明了膠囊的維度應該隨着深度逐漸增加。
這個版本最重要的就是動態路由的提出。首先,我們想要一個膠囊的輸出向量的長度來表示這個實體在膠囊中存在的概率。因此我們使用非線性的 “squashing” 函數,以確保向量歸一化到 0 和 1 之間。
具體來説,每個在初級膠囊層 l 的膠囊為 ui, 它將空間信息編碼到實例化的參數中,ui 的輸出被送入下一層 l+1, 下一層有 j 個膠囊。由 ui 變換到 uj 根據了相對應的權值矩陣 Wij. sj 是所有初級膠囊輸出 j 的權值總和,vj 是壓縮 (squashing) 後的值,這個壓縮函數確保輸出的長度在 0 和 1 之間。cij 是耦合係數,它保證了來自 l 層的 i 個膠囊連接到 l+1 層的 j 個膠囊。在每次迭代中,cij 會不斷被 bij 更新。其過程和偽代碼如下圖:
圖 5. Dynamic routing between capsules (Sabour et al., 2017)
在高級膠囊中,當該數字出現在圖像裏,類數字 k 就會有有一個很長的實例化向量。在文章裏,一個邊緣損失函數被提出,其表達式如下
這裏 Tk=1, m+=0.9 並且 m-=0.1,係數為 0.5,總損失就是所有數字膠囊損失函數的總和。
在以上條件下,作者設計了 CapsNet 的初步框架,如圖 6 所示。
圖 6. 3 層結構的 CapsNet. 由卷積層和 ReLU 層構成的淺層網絡,由卷積層和變換層構成的初級膠囊層和數字膠囊層共同組成 CapsNet(Sabour et al., 2017)。
除此之外,作者還設計了一個譯碼器來重構輸入的數字,這個重構的過程也可以作為模型訓練過程中的約束項。其結構如圖 7 所示。
圖 7. 從數字膠囊層重構圖像(Sabour et al., 2017)。
當然,CapsNet 也取得了相當不錯的效果。在文章中,作者展示了重構的圖像和在 MNIST 數據集上的識別結果可達到 99.23%。我們挑選了部分直觀的結果進行展示。
圖 8. 輸入圖像與重構圖像(Sabour et al., 2017)。
(3) Matrix capsules with EM routing
與使用向量輸出不同,Hinton 等人在 2018 年提出用矩陣表示膠囊的輸入和輸出 [4]。這一想法對減小膠囊之間的變換矩陣大小十分必要。因為使用向量作為輸出時可能需要 n*2 個元素,但是用矩陣則只需要 n。這個版本採用期望最大化算法 (Expectation Maximization algorithm) 代替動態路由。
具體來説,膠囊中特徵實體存在的概率用參數 a 來替代上一個版本中向量的長度,這有助於避免壓縮函數被認為是“不客觀或不明智的”。每個膠囊 M 都有一個 4x4 姿態矩陣和激活概率 a, 在 L 層的膠囊 i 和 L+1 層的膠囊 j 之間,膠囊通過一個 4x4 的變換矩陣 Wij 相互連接,變換矩陣只存儲參數和進行學習。膠囊 i 的姿態矩陣與變化矩陣點積後得到膠囊 j 的姿態矩陣,可以表示為 Vij=MiWij。在 L+1 層中所有膠囊的姿態和激活概率都通過非線性路由的方法來連接,並更新 Vij 和 ai。這個非線性路由的方法就是文中介紹的 Expectation Maximization algorithm, 它動態的迭代的更新了 L+1 的參數。
下面我們來介紹一下 EM 算法的具體過程,假設我們已經確定了某一層中所有膠囊的姿態矩陣和激活概率 a,現在要決定哪個膠囊激活和連接高一層的膠囊,並且分配每個活動的低級膠囊到一個活動的高級膠囊。每一個高級層中的膠囊對應於高斯分佈和低級層中每個活動膠囊 (轉換為向量) 對應於一個數據點。在作者運用最小長度原則來描述時,作者做出了一個選擇,即在激活某個高級別的膠囊時,使用了一個固定的代價函數用來編碼其均值和方差。於是,為了確定 L+1 層中膠囊的姿態矩陣和激活概率,作者在知道 L 層姿態矩陣和激活概率後使用了 3 次迭代的 EM 算法,其偽代碼如下圖所示。
圖 9. EM 算法步驟[4]。
在制定了基本方法之後,作者提出了網絡的整體框架。模型起始於一個 5x5 且有 32 個通道步長為 2 的卷積層,後面跟着 ReLU 的非線性層。所有的其他層都是初始膠囊層。每個 B=32 姿態矩陣為 4x4 的初級膠囊會從更低的膠囊中學習線性變換。初級膠囊的激活函數是通過應用 sigmoid 函數產生的。在初級膠囊之後是兩個 3x3 的卷積膠囊層(K=3),每層 32 膠囊類型(C=D=32),步長分別為 2 和 1。卷積的最後一層膠囊連接到最後的分類膠囊層,每個類別有一個膠囊。
圖 10. 網絡的結構圖[4]。
路由算法在每一對相鄰的膠囊層之間使用,對於卷積膠囊層,L + 1 層的每個膠囊只向 L 層內其感受域內的膠囊發送反饋。因此,L 層中每個膠囊的卷積實例最多接收到來自 L + 1 層中每個膠囊的卷積核大小的反饋。L 層的邊界附近的實例圖像接收到的反饋較少,角落的每個膠囊類型只接收到一個反饋。
為了降低訓練對模型初始化和超參數的敏感性,網絡使用 “擴散損失函數” 來直接最大化目標類(at)和其他類激活之間的差距,這裏設置 m=1,其計算方法如下。
作者用了一個數據集 smallNORB 對網絡的性能進行了驗證,其結果相比 CNN 模型有明顯的提高。
二:其他作者對膠囊網絡的改進
以上的三個版本的膠囊網絡均是 Hinton 和他的團隊發表的成果。這一章我們介會紹其他幾個對於膠囊網絡所做的改進。他們分別是:(1) Stacked Capsule Autoencoders; (2) DeepCaps; (3) Visual-textual Capsule Routing。它們分別是發表在 2019 年的 NeurIPS, CVPR 和 2020 年的 CVPR。
(1) Stacked Capsule Autoencoders
這篇文章的思想是,物體是由一系列幾何部分組成,因此,可以用一個無監督的膠囊自動編碼器來明確各個部分之間的幾何關係,進而推理出對象 [5]。因為這些關係不依賴於視角,所以這個模型對於任意視角的圖片都具有很強的魯棒性。總體而言 unsupervised capsule autoencoder(SCAE)的實行主要分為兩個階段。
第一階段, 該模型使用 PCAE 直接從圖像中預測部分模版存在的概率和姿態,並試圖通過重新排列部分模板重建原始圖像。第二階段,SCAE 使用 OCAE 預測一些物體膠囊的參數,並試圖組織和發現部分和姿勢為一組更小的對象,這對於重建圖像十分重要。在這個模型中,由現成的神經編碼器來實現推理過程,這點與以前的膠囊網絡都不相同。其具體的原理如圖 11 所示。
圖 11. Stacked Capsule Autoencoders:(a) 部分膠囊將分割輸入為部分和姿態,這些姿勢隨後被放射變換的模板用來重建輸入圖像;(b) 對象膠囊試圖把推理出的姿態對應到物體,因此找出潛在的結構信息。
具體來説,將一幅圖像分割成多個部分並不是件容易的事,所以作者從抽象像素和部分發現階段開始,提出 CCAE(Constellation Capsule Autoencoder),它使用二維點作為部分,給出它們的座標作為系統的輸入。CCAE 學習將點集進行建模成為熟悉星座,每一個點都是由獨立的相似變換來變形。CCAE 能在事先不知道星座的數量和形狀的情況下學會給每個點分配對應的星座。之後作者還提出了 PCAE( Part Capsule Autoencoder ),它學着從圖像中推理出它的部分和姿勢。最後,疊加 OCAE( Object Capsule Autoencoder),OCAE 與 CCAE 高度相似。
在 CCAE 中,一組二維輸入點如圖 12 所示,首先對其進行編碼到 K 個對象膠囊中,一個對象膠囊 k 包含着一個膠囊特徵向量 ck,它的存在概率 ak 在 0 到 1 之間,然後還存在在一個 3x3 的對象 - 觀察者關係矩陣,矩陣代表着對象和觀察者之間的仿射矩陣。
圖 12. 超過三個點的在不同位置,不同尺度和方向的無監督分割。
在 PCAE( Part Capsule Autoencoder )中,與 CCAE 只有二維點(XY 軸)輸入不同,每個部分膠囊 m 都包含有一個 6 維姿態(2 個旋轉,2 個翻譯,尺度和裁剪),一個存在概率變量 dm 和一個獨特的個體。作者將部分發現問題改變為了自動編碼,編碼器學習和推斷不同部分膠囊的姿態和存在,而解碼器學習圖像每個部分的模板 Tm。如果一個部分存在,對應的模板將被仿射轉換成推測姿勢。最後,轉換後的模板被安排到圖像中,緊接着在後面的 OCAE 中進行處理。
在 OCAE( Object Capsule Autoencoder)中,在確定了部分及其參數之後,我們希望發現其中可以組合的對象。為此,使用連接姿勢 xm、特殊特徵 zm 和扁平模板 Tm(它傳達部分膠囊的實體)作為 OCAE 的輸入。首先,將部分膠囊存在概率 dm 輸入到 OCAE 中,其次,dm 也被用來衡量部分膠囊的似然對數。因此, 每一個部分 - 姿勢被解釋為一個從物體 - 膠囊中得到的獨立的混合預測。
整個部分組合的網絡框架如圖 13 所示。
圖 13. 網絡結構圖
最後,作者一樣做了對該方法的評估,我們選擇其在 MNIST, CIFAR10,SVHN 三個數據集中的實驗結果來説明,在第 1,3 個數據集中,效果明顯較好,但在第二個數據集中,識別率還是不高。
(2) DeepCaps
顧名思義,這個版本膠囊網絡使得能使結構變得更深,進而能夠處理更為複雜的數據 [6]。此外,在這篇文章中還有一個 3D-convolution-inspired routing 算法被提出,用於減少參數。該網絡的主要特點就是在結構上的改變,引入了專門針對膠囊的 3D 卷積,並且使用了殘差網絡的結構。
當前,動態路由的主要缺點之一是目前形式只能在膠囊間實現完全連接的方式而它不能以卷積的方式連接兩個膠囊。因此需要有一種新的針對 3D 卷積的動態路由方式被提出。在 V 中,每個元素能被以 3D 卷積的方式得到,其計算過程如下。
如果使用以前的路由方式,卷積運算得到的特徵圖只具有局部特徵,因此,相鄰的膠囊共享相似的信息。作者提出可以從第 l 層到第 l + 1 層的膠囊間通過排列一個膠囊塊而不是分別路由第 l 層的每個膠囊就路由來消除這種冗餘。這一修改結果大大減少了參數的數量。類似地,使用 3D 卷積核變換,一個子集的膠囊在一個區塊進行一次投票,可以實現了局部投票。例如,3×3×8 的核會把相鄰的 9 個結果變成 1 票。換句話説,在第 l 層中,低層實體可以用一個膠囊或者幾個相鄰的膠囊表示,因此,不是分別路由它們到一個更高級別的膠囊,而是把它們組合在一起來路由。下圖為 3D 卷積中的路由方式。
圖 14. 在 3D 卷積間路由。
以下為對應的動態路由的偽代碼,使得膠囊網絡能夠減少參數,並且能夠在兩個卷積層之間進行參數的更新。
此外,整個網絡的結構還參考了殘差網絡,其的部分典型結構如圖 15 所示。
圖 15. DeepCap 網絡的部分結構圖
同樣的,該網絡也添加了一個解碼器。解碼器網絡由反捲積層組成,它利用從 DeepCaps 模型中提取的實例化參數來重新構造輸入數據。與全連通層解碼器相比,這個解碼器捕獲了更多的空間關係,而重建這些圖像,該解碼器,也能用於正則化膠囊網絡。此外,使用二元交叉熵作為損失函數也能提高網絡的性能。
圖 16. 該網絡帶有的解碼器。
最後,在實驗結果上,作者使用了 CIFAR10, SVHN 和 Fashion-MNIST 數據集作為驗證,並展示瞭解碼器重新顯示的圖像結果。其結果如下。
圖 17. 解碼器顯示的結果。左邊為其他文章中用的全連接解碼器,右邊為該網絡實現的解碼器。
(3) Visual-textual Capsule Routing
該文提出了一種使用膠囊網絡通過自然語言問題探測視頻中演員和動作的方法,具體為在視頻和句子輸入中存在共同的實體,使用動態路由可以找到這些實體之間的相似性,網絡模型學習了這些相似性並生成一個統一的視覺 - 文本的膠囊表示 [7]。首先,文章展示了整個處理方法的步驟如下。
圖 18. 提出的方法。
對於一個給定的視頻,我們想要定位一個輸入文本所查詢中演員和動作,從視頻和文本查詢中提取初級膠囊,然後聯合一個 EM 路由算法創建高級膠囊,進一步用於定位選擇的演員和行動。膠囊代表着實體和路由採用的高維濾波學習這些實體之間的部分到整體的關係。
在這篇文章中,作者提出的方法是在視頻和句子中存在相同的實體,輸入和路由可以找到這些實體之間的相似性。本文的方法允許網絡學習一套同時包含視覺輸入和句子輸入的實體(膠囊),通過這些實體,膠囊路由發現視頻和句子輸入對象之間的相似性,生成一個統一的視覺 - 文本的膠囊表示。
該文最大的特點就是提出了視頻 - 文本的膠囊路由方法如下:
圖 19. 視頻 - 文本的膠囊路由,輸入到路由過程的是視頻膠囊的姿態矩陣和激活,其中利用了 EM Routing 進行了參數的更新。
接下來展示的是該網絡結構,如下圖。
圖 20. Visual-textual Capsule Routing 網絡結構。
膠囊中包含視頻幀中的空間時間特徵,並且膠囊也包含着自然語言中的文本。這些膠囊被路由到一起以創建膠囊來表示圖像中演員的形象,視覺 - 文本的膠囊通過掩模版和上採樣網絡共同來創建一個能夠用文本指定演員的二值化分割圖像。
接下來,作者也做了相關實驗進行了對該網絡效果的驗證。以下是 A2D 數據集和 JHMDB 數據集的評估結果。
文章中作者也給出了直觀的定性結果供讀者參考
圖 21. 定性的結果。句子查詢顏色與切分顏色對應,第一行包含只使用像素級的註釋的分段,第二行包含從網絡訓練使用所有幀上的邊框標註的分段。
三:膠囊網絡在多個領域的應用
膠囊網絡的出現打開了多個領域研究者的新思路,它可以被用來解決天文學,自動駕駛,機器翻譯,手寫字符和文本識別,目標檢測,情緒檢測等等任務 [1]。具體來説,以圖像表示的交通數據適合用 CapsNets 來預測交通流量和異常駕駛等。
隨着社交媒體的廣泛使用,用户的圖片和視頻可能被偽造,現有的檢測方法無法在視頻和圖像中檢測多種形式的偽造,但是使用 CapNets 能夠有效的減少過擬合和提高檢測的精度。
對於自然語言處理的任務,CapsNet 也被證明能夠比傳統 CNN 更有效地處理主謂賓之間的關係。在健康醫療等方向上,CapsNet 也能有效提取健康系統中實體之間語義關係,並能很好的處理數量量小,數據不平衡等問題。自動駕駛汽車將大大受益於 CapsNets,傳感器數據將收集需要處理的閃光和速度,以便允許汽車在一瞬間做出決定。得益於 GPU, TPU 等硬件的快速發展,相信膠囊網絡在其他不同領域的應用會越來越多。
四:討論與小結
膠囊是深度學習的新概念,與 CNN 和傳統的網絡神經網絡相比,它產生了不錯的效果。CNN 分類器在對抗干擾數據時並不健壯,然而,CapsNets 被證明對不良數據的適應力更強,而且還能適應輸入數據的仿射變換。
同時,膠囊網絡也已經被證明能夠減少訓練時間,和最小化參數。儘管膠囊網絡的表現在某些方面優於 CNN,但也有他們的運作不是很理想的領域(例如大數據集和背景複雜的輸入圖像)。這些灰色區域需要得到了研究人員的進一步關注和改進。本文的目的是綜述膠囊網絡的現狀,揭示許多的架構和實現方法。雖然目前關於膠囊網絡的論文很多,但是膠囊網絡本身還是有更多地方需要被研究和挖掘。
參考文獻:
1. Patrick, Mensah Kwabena , et al. "Capsule Networks – A survey." (2019).
2. Hinton, Geoffrey E. , A. Krizhevsky , and S. D. Wang . "Transforming Auto-encoders." Artificial Neural Networks & Machine Learning-icann -international Conference on Artificial Neural Networks Springer, Berlin, Heidelberg, 2011.
3. Sabour, Sara , N. Frosst , and G. E. Hinton . "Dynamic Routing Between Capsules." (NIPS 2017).
4. Hinton, Geoffrey E., Sara Sabour, and Nicholas Frosst. "Matrix capsules with EM routing." international conference on learning representations (2018).
5. Kosiorek A R , Sabour S , Teh Y W , et al. Stacked Capsule Autoencoders[J]. NIPS 2019.
6. Rajasegaran, J. , Jayasundara, V. , Jayasekara, S. , Jayasekara, H. , Seneviratne, S. , & Rodrigo, R. . (CVPR 2019). Deepcaps: going deeper with capsule networks.
7. Bruce McIntosh, Kevin Duarte, Yogesh S Rawat, Mubarak Shah. (CVPR 2020). Visual-Textual Capsule Routing for Text-Based Video Segmentation.
分析師介紹:
本文作者為周宇,目前在華中科技大學攻讀計算機博士學位。主要研究方向是深度學習下的表情識別。希望能和研究方向相似的研究者們一起交流,共同進步。
關於機器之心全球分析師網絡 Synced Global Analyst Network
機器之心全球分析師網絡是由機器之心發起的全球性人工智能專業知識共享網絡。在過去的四年裏,已有數百名來自全球各地的 AI 領域專業學生學者、工程專家、業務專家,利用自己的學業工作之餘的閒暇時間,通過線上分享、專欄解讀、知識庫構建、報告發布、評測及項目諮詢等形式與全球 AI 社區共享自己的研究思路、工程經驗及行業洞察等專業知識,並從中獲得了自身的能力成長、經驗積累及職業發展。
感興趣加入機器之心全球分析師網絡?點擊閲讀原文,提交申請。