丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給AI研習(xí)社-譯站
發(fā)送

0

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

本文作者: AI研習(xí)社-譯站 2019-01-17 10:16
導(dǎo)語(yǔ):“在卷積神經(jīng)網(wǎng)絡(luò)中使用的池化操作是一個(gè)大錯(cuò)誤,它工作得如此好就是一個(gè)災(zāi)難!”
膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

本文為 AI 研習(xí)社編譯的技術(shù)博客,原標(biāo)題 :

Capsule Networks: A new and attractive AI architecture

作者 | Ayyüce K?zrak

翻譯 | 安石徒、Disillusion、AdaAlvin、friedhelm739

校對(duì) | 醬番梨        整理 | 菠蘿妹

原文鏈接:

https://heartbeat.fritz.ai/capsule-networks-a-new-and-attractive-ai-architecture-bd1198cc8ad4


膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

罌粟花膠囊

本文已被翻譯為英文并首次發(fā)表在《Deep Learning Turkey》。

卷積神經(jīng)網(wǎng)絡(luò)(CNN)因其在目標(biāo)識(shí)別和分類任務(wù)中的成功應(yīng)用而被計(jì)算機(jī)視覺(jué)應(yīng)用界所青睞。CNN是由堆疊在一起的多個(gè)神經(jīng)元組成的。在神經(jīng)元之間計(jì)算卷積需要大量的計(jì)算,因此通常使用池化來(lái)減小網(wǎng)絡(luò)層的大小。卷積方法可以通過(guò)簡(jiǎn)單的計(jì)算來(lái)學(xué)習(xí)數(shù)據(jù)的許多復(fù)雜特征。通過(guò)對(duì)輸入進(jìn)行矩陣乘法和求和,我們可以得出問(wèn)題的答案。

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

基本的卷積神經(jīng)網(wǎng)絡(luò)

我總是聽(tīng)到CNN到底有多優(yōu)秀。但是他們什么時(shí)候會(huì)失敗呢?

CNN在解決物體識(shí)別和分類問(wèn)題方面確實(shí)取得了巨大的成功。然而,它們并不完美。如果輸入CNN的對(duì)象處于一個(gè)CNN不熟悉的方向,或是出現(xiàn)在CNN從未見(jiàn)過(guò)的地方,那么它的預(yù)測(cè)任務(wù)很可能失敗。

例如,如果你把一張臉顛倒過(guò)來(lái),網(wǎng)絡(luò)將不再能夠識(shí)別眼睛、鼻子、嘴巴以及它們之間的空間關(guān)系。類似地,如果改變面部的特定區(qū)域(即切換眼睛和鼻子的位置),網(wǎng)絡(luò)也可以識(shí)別臉部,但是它已經(jīng)不是真正的臉部了。CNN只學(xué)習(xí)到了圖像中的統(tǒng)計(jì)信息,但是他們沒(méi)有學(xué)習(xí)基本的思維,即到究竟什么樣子才會(huì)被稱作是臉。

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

Geoffrey Hinton 和 Sara Sabour

關(guān)于CNN為何不能學(xué)習(xí)思維的理論,人工智能之父杰弗里·辛頓(Geoffrey Hinton)針對(duì)于用于縮小網(wǎng)絡(luò)規(guī)模和計(jì)算需求的池化操作哀嘆道:

“在卷積神經(jīng)網(wǎng)絡(luò)中使用的池化操作是一個(gè)大錯(cuò)誤,它工作得如此好就是一個(gè)災(zāi)難!”

池化層破壞信息,使得網(wǎng)絡(luò)無(wú)法學(xué)習(xí)更高級(jí)的思維。因此,他著手開(kāi)發(fā)一種新的體系結(jié)構(gòu),這種體系結(jié)構(gòu)并不很依賴于這種池化操作。

由此引出:膠囊網(wǎng)絡(luò)


  什么是膠囊網(wǎng)絡(luò)?

Hinton 和 Sabour 從神經(jīng)科學(xué)中借用了一些想法,即認(rèn)為大腦被組織成了叫做膠囊 的模塊。這些膠囊特別擅長(zhǎng)處理物體的姿態(tài)(位置、大小、方向)、變形、速度、反照率、色調(diào)、紋理等特征。

他們推測(cè),大腦肯定有一種機(jī)制,將低層次的視覺(jué)信息傳遞到它認(rèn)為能最好的處理這些信息的膠囊。針對(duì)卷積神經(jīng)網(wǎng)絡(luò)模型性能不足的領(lǐng)域問(wèn)題,人們提出了膠囊網(wǎng)絡(luò)和動(dòng)態(tài)路由算法。

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

畢加索和他的女神們

膠囊表示圖像中特定實(shí)體的各種特征。一種非常特殊的特征是圖像中實(shí)例化實(shí)體的存在。實(shí)例化實(shí)體是諸如位置、大小、方向、變形、速度、反照率、色調(diào)、紋理等參數(shù)。表示其存在的一個(gè)簡(jiǎn)單方法是使用單獨(dú)的邏輯單元,其輸出是實(shí)體存在的概率[1]。為了得到比CNN更好的結(jié)果,我們應(yīng)該使用一個(gè)迭代的協(xié)議路由機(jī)制。這些特性稱為實(shí)例化參數(shù)。在經(jīng)典的CNN模型中是沒(méi)有得到圖像中目標(biāo)的這些屬性的。平均/最大池層減少了一組信息的大小,同時(shí)減少了其尺寸大小。

圖中有些地方有嘴唇、鼻子和眼睛,但是卷積神經(jīng)網(wǎng)絡(luò)不知道它們?cè)谀暮蛻?yīng)該在哪里。對(duì)于傳統(tǒng)網(wǎng)絡(luò),這些錯(cuò)放的特性不會(huì)影響到它!


  擠壓函數(shù)  

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

擠壓函數(shù)

在深度神經(jīng)網(wǎng)絡(luò)中,激活函數(shù)是應(yīng)用于層輸出的簡(jiǎn)單數(shù)學(xué)運(yùn)算。它們用于近似數(shù)據(jù)中存在的非線性關(guān)系。激活層通常對(duì)標(biāo)量值起作用,例如,對(duì)向量中的每個(gè)元素進(jìn)行規(guī)范化,使其介于0和1之間。

在膠囊網(wǎng)絡(luò)中,一種稱為擠壓函數(shù)的特殊類型的激活函數(shù)被用來(lái)歸一化矢量的大小,而不是標(biāo)量元素本身。

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

協(xié)議路由算法

這些擠壓函數(shù)的輸出告訴我們?nèi)绾瓮ㄟ^(guò)訓(xùn)練成學(xué)習(xí)不同思維的各種膠囊來(lái)路由數(shù)據(jù)。圖像中每個(gè)對(duì)象的屬性都用路由它們的向量來(lái)表示。例如,面部的激活可以將圖像的不同部分路由到能夠理解眼睛、鼻子、嘴和耳朵的膠囊。


  針對(duì)MNIST數(shù)據(jù)集的膠囊網(wǎng)絡(luò)應(yīng)用

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

膠囊網(wǎng)絡(luò)的角度估計(jì)

下一步至關(guān)重要:

就像深層CNN的不同層數(shù)學(xué)習(xí)圖像的不同語(yǔ)義屬性(內(nèi)容、紋理、樣式等)一樣,膠囊也可以被組織成不同的層次。同一層的膠囊進(jìn)行預(yù)測(cè),學(xué)習(xí)對(duì)象的形狀,并將其傳遞給學(xué)習(xí)方向的更高層次的膠囊。當(dāng)多個(gè)預(yù)測(cè)一致時(shí),更高級(jí)別的膠囊變得活躍。這個(gè)過(guò)程被描述為動(dòng)態(tài)路由,現(xiàn)在我將更詳細(xì)地討論它。

那么我們先創(chuàng)建一個(gè)用于對(duì)MNIST數(shù)據(jù)集進(jìn)行分類的分步膠囊體系結(jié)構(gòu):

第一層為典型的卷積層。在第二層中,在稱為初級(jí)膠囊 的層中執(zhí)行卷積過(guò)程,其中應(yīng)用了擠壓函數(shù)。每個(gè)主膠囊接收?qǐng)D像的一個(gè)小區(qū)域作為輸入(稱為感受野),它用來(lái)檢測(cè)特定圖案(如圓圈)的存在和姿態(tài)。

較高層的膠囊(稱為路由膠囊)檢測(cè)更大和更復(fù)雜的物體,如由兩個(gè)圓組成都的數(shù)字8。然后他們使用一個(gè)新的擠壓函數(shù)來(lái)保證這些向量的長(zhǎng)度在0-1之間。

在初級(jí)膠囊層之前應(yīng)用標(biāo)準(zhǔn)卷積層,并且得到9x9x256的輸出。在初級(jí)膠囊層中采用32通道、步長(zhǎng)為2的卷積核。然而,這個(gè)區(qū)別于其他卷積核的特征就是擠壓函數(shù)。最后就得到了初級(jí)膠囊的輸出。

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

初級(jí)膠囊的卷積過(guò)程

此時(shí)可以得到6x6的輸出。因?yàn)樵趹?yīng)用了動(dòng)態(tài)路由算法的膠囊層中,其具有第三層動(dòng)態(tài)路由的結(jié)果(根據(jù)協(xié)議路由算法),即獲得這些8-長(zhǎng)度輸出DigitCaps矢量的32個(gè)輸出。協(xié)議路由算法包括一些協(xié)議(檢測(cè)和路由)更新的迭代。

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

膠囊層

def CapsNet(input_shape, n_class, num_routing):    
   """    
   MNIST Dataset for Capsule Networks.    
      : "input_shape" parameter: vdata shape, 3d, [w,h,c]    
      : "n_class" parameter: number of classes    
      : "num_routing" parameter: dynamic routing number of iteration    
      : Function output: two Keras model, first for training, second for evalaution.    
           `eval_model` used for traning at the same time.    
   """
   
   x = layers.Input(shape=input_shape )  
 
   # LAYER 1: Convolution Layer (Conv2D)    
   conv1 = layers.Conv2D(filters=256, kernel_size=9, strides=1, padding='valid', activation='relu', name='conv1')(x)
 
   # LAYER 2: Conv2D squash activation, [None, num_capsule, dim_capsule] fro reshaping.    
   primarycaps = PrimaryCap(conv1, dim_capsule=8, n_channels=32, kernel_size=9, strides=2, padding='valid')  
 
   # LAYER 3: Capsule Layers. Run: Dynamic routing algorithm.    
   digitcaps = CapsuleLayer(num_capsule=n_class, dim_capsule=16, num_routing=num_routing,    
                            name='digitcaps')(primarycaps)
 
   # LAYER 4:    
   # If you use Tensorflow you can skip this session :)  
 
   out_caps = Length(name='capsnet')(digitcaps)

capsulelayers.py中的動(dòng)態(tài)路由類CapsuleLayer (layers.Layer)函數(shù)定義。由于這個(gè)計(jì)算步驟,在圖像中不存在對(duì)象的區(qū)域中向量值很小,而檢測(cè)區(qū)域中向量的維度根據(jù)屬性而變化。

class CapsuleLayer(layers.Layer):    
   """    
   The capsule layer. It is similar to Dense layer. Dense layer has `in_num` inputs, each is a scalar, the output of the    
   neuron from the former layer, and it has `out_num` output neurons. CapsuleLayer just expand the output of the neuron    
   from scalar to vector. So its input shape = [None, input_num_capsule, input_dim_capsule] and output shape = \    
   [None, num_capsule, dim_capsule]. For Dense Layer, input_dim_capsule = dim_capsule = 1.
     
   :param num_capsule: number of capsules in this layer    
   :param dim_capsule: dimension of the output vectors of the capsules in this layer    
   :param routings: number of iterations for the routing algorithm    
   "
""    
   def __init__(self, num_capsule, dim_capsule, routings=3,    
                kernel_initializer='glorot_uniform',    
                **kwargs)
:    
       super(CapsuleLayer, self).__init__(**kwargs)    
       self.num_capsule = num_capsule    
       self.dim_capsule = dim_capsule    
       self.routings = routings    
       self.kernel_initializer = initializers.get(kernel_initializer)    

   def build(self, input_shape):    
       assert len(input_shape) >= 3, "The input Tensor should have shape=[None, input_num_capsule, input_dim_capsule]"    
       self.input_num_capsule = input_shape[1]    
       self.input_dim_capsule = input_shape[2]    

       # Transform matrix    
       self.W = self.add_weight(shape=[self.num_capsule, self.input_num_capsule,    
                                       self.dim_capsule, self.input_dim_capsule],    
                                initializer=self.kernel_initializer,    
                                name='W')

你也可在此查看全部代碼。


性能測(cè)試 ?

在對(duì)10000幅圖像的測(cè)試數(shù)據(jù)集進(jìn)行測(cè)試時(shí),我們對(duì)MNIST數(shù)據(jù)集的準(zhǔn)確率達(dá)到99.61%,對(duì)FASHION MNIST數(shù)據(jù)集的準(zhǔn)確率達(dá)到92.22%。棒吧??!?

對(duì)于80%重疊手寫(xiě)數(shù)字的MultiMNIST數(shù)據(jù)集,當(dāng)數(shù)據(jù)重疊時(shí)膠囊網(wǎng)絡(luò)的性能顯得非常好,特別是與CNN模型相比。

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

MultiMNIST 數(shù)據(jù)集的膠囊網(wǎng)絡(luò)輸出


MNIST的50次迭代用時(shí) ?

與CNN相比,由于計(jì)算的復(fù)雜性,膠囊網(wǎng)絡(luò)的訓(xùn)練時(shí)間較慢。以下是在各種硬件和云服務(wù)器上的50迭代訓(xùn)練時(shí)間:  

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

肯定 :)

要使用谷歌Colab支持,最吸引人的選項(xiàng),請(qǐng)閱讀谷歌Colab的免費(fèi)GPU教程!


  膠囊網(wǎng)絡(luò)的??優(yōu)點(diǎn)和?缺點(diǎn)

??相比其他先進(jìn)的技術(shù),對(duì)MNIST數(shù)據(jù)集用膠囊網(wǎng)絡(luò)有著最高的成功率。 

??使用較小的數(shù)據(jù)集將更加成功。(通過(guò)迫使模型在膠囊中學(xué)習(xí)特征變量,它可以更有效地用更少的訓(xùn)練數(shù)據(jù)推斷出可能的變量。) 

??routing-by-agreement算法使我們能夠區(qū)分有重疊圖像的對(duì)象。 

??更容易用激活向量理解圖像。 

??膠囊網(wǎng)絡(luò)能夠保留諸如同變性、色調(diào)、姿勢(shì)、反照率、質(zhì)地、變形、速度和對(duì)象位置等信息。 

?和一些出色的模型相比,CIFAR10 在數(shù)據(jù)集的表現(xiàn)上并不成功

?沒(méi)有在大規(guī)模的數(shù)據(jù)集上測(cè)試

?由于采用協(xié)議路由算法,訓(xùn)練模型需要更多的時(shí)間。

不同路由算法的膠囊網(wǎng)絡(luò)模型的應(yīng)用表明,它是一個(gè)需要更多實(shí)驗(yàn)和正在發(fā)展的課題。

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

如上面的圖例所示,當(dāng)僅僅改變Kim Kardashian的圖片方向,預(yù)測(cè)的準(zhǔn)確度就會(huì)大幅下降。右邊的圖片,我們能很容易地看出來(lái)一只眼睛和她的嘴巴都放在錯(cuò)誤的位置,這不是一個(gè)人該有的模樣。然而,我們卻看到這張圖是被預(yù)測(cè)為是人的可能性是0.9。

一個(gè)被訓(xùn)練地很好的CNN模型在這個(gè)方法上會(huì)有一些問(wèn)題。除了很容易地被特征被放置在錯(cuò)誤位置的圖片欺騙,對(duì)于不同方向的圖片,CNN模型也很容易辨認(rèn)不明。

毫無(wú)疑問(wèn),CNN會(huì)受到對(duì)抗性攻擊的影響。這是一個(gè)會(huì)引起安全問(wèn)題的重要約束,尤其當(dāng)我們將一個(gè)隱形樣式嵌入到對(duì)象中使其看起來(lái)像其它東西時(shí)。但是,正如我們已知,我們可以通過(guò)膠囊網(wǎng)絡(luò)來(lái)解決這個(gè)問(wèn)題!


  我們?cè)谀z囊網(wǎng)絡(luò)中的學(xué)術(shù)論文

基于膠囊網(wǎng)絡(luò)的手勢(shì)識(shí)別(Recognition of Sign Language Using Capsule Networks)

視力和聽(tīng)力受損的人們可以在唇語(yǔ)或手和面部表情(如符號(hào)語(yǔ)言)的幫助下仍能交流。膠囊網(wǎng)絡(luò)能幫助確保殘疾人能不僅無(wú)障礙地生活而且可以通過(guò)健康有效的跟其他人溝通來(lái)提高生活質(zhì)量。

在這項(xiàng)工作中,膠囊網(wǎng)絡(luò)的手勢(shì)數(shù)字識(shí)別正確率能達(dá)到94.2%:

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

手勢(shì)數(shù)據(jù)集(Sign Language Digits Dataset, Arda Mavi ve Zeynep Dikle)

參考文獻(xiàn):

[1] Sabour, S., Frosst, N. ve Hinton, G.E., “Dynamic Routing Between Capsules’’, arXiv preprint arXiv:1710.09829, 2017.

[2]Hinton, G. E., Krizhevsky A. ve Wang, S. D. “Transforming Auto-encoders.” International Conference on Artificial Neural Networks. Springer, Berlin, Heidelberg, 2011.

[3] CSC2535: 2013 Advanced Machine Learning Taking Inverse Graphics Seriously, Geoffrey Hinton Department of Computer Science University of Toronto, 2013.

[4] Capsule Network Implementation of MNIST dataset (in Turkish explanation, Deep Learning Türkiye, kapsul-agi-capsule-network.

[5] Recognition of Sign Language Using Capsule Networks, Fuat Be?er, Merve Ayyüce KIZRAK, Bülent BOLAT, Tülay YILDIRIM, https://github.com/ayyucekizrak/Kapsul-Aglari-ile-Isaret-Dili-Tanima


想要繼續(xù)查看該篇文章相關(guān)鏈接和參考文獻(xiàn)?

長(zhǎng)按鏈接點(diǎn)擊打開(kāi)或點(diǎn)擊底部【膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)】:

https://ai.yanxishe.com/page/TextTranslation/1364


AI研習(xí)社每日更新精彩內(nèi)容,觀看更多精彩內(nèi)容:雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

7分鐘了解Tensorflow.js

在Keras中理解和編程ResNet

初學(xué)者怎樣使用Keras進(jìn)行遷移學(xué)習(xí)

如果你想學(xué)數(shù)據(jù)科學(xué),這 7 類資源千萬(wàn)不能錯(cuò)過(guò)

等你來(lái)譯:

深度學(xué)習(xí)目標(biāo)檢測(cè)算法綜述

一文教你如何用PyTorch構(gòu)建 Faster RCNN

高級(jí)DQNs:利用深度強(qiáng)化學(xué)習(xí)玩吃豆人游戲

用于深度強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)化控制網(wǎng)絡(luò) (ICML 論文講解)


雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。

膠囊網(wǎng)絡(luò):一種全新的富有吸引力的AI架構(gòu)

分享:
相關(guān)文章

知情人士

AI研習(xí)社(yanxishe.com)譯站頻道,傳播前沿人工智能知識(shí),讓語(yǔ)言不再成為學(xué)習(xí)知識(shí)的門(mén)檻。(原雷鋒字幕組)
當(dāng)月熱門(mén)文章
最新文章
請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說(shuō)