0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CapsNet再升級!堆棧式膠囊自編碼器面世

深度學(xué)習(xí)自然語言處理 ? 來源:YXQ ? 2019-06-24 15:43 ? 次閱讀

2017 年,Geoffrey Hinton 在論文《Dynamic Routing Between Capsules》中提出 CapsNet 引起了極大的關(guān)注,同時(shí)也提供了一個(gè)全新的研究的方向。今日,CapsNet 的作者 Sara Sabour、Hinton 老爺子聯(lián)合牛津大學(xué)的研究者提出了膠囊網(wǎng)絡(luò)的改進(jìn)版本——堆棧式膠囊自編碼器。這種膠囊自編碼器可以無監(jiān)督地學(xué)習(xí)圖像中的特征,并在無監(jiān)督分類任務(wù)取得最佳或接近最佳的表現(xiàn)。這也是膠囊網(wǎng)絡(luò)第一次在無監(jiān)督領(lǐng)域取得新的突破。

綜述

一個(gè)目標(biāo)可以被看做是一組相互關(guān)聯(lián)的部件按照幾何學(xué)形式組合的結(jié)果。利用這種幾何關(guān)系去重建目標(biāo)的系統(tǒng)應(yīng)當(dāng)對視點(diǎn)的變化具有魯棒性,因?yàn)槠浔举|(zhì)的幾何關(guān)系不應(yīng)隨著觀察視角的變化而發(fā)生改變。

本文中,研究人員描述了一種無監(jiān)督的膠囊網(wǎng)絡(luò)。其中,觀察組成目標(biāo)所有部件的神經(jīng)編碼器被用來推斷目標(biāo)膠囊的存在和姿態(tài)。編碼器通過解碼器的反向傳播方法訓(xùn)練。

訓(xùn)練中,解碼器使用姿態(tài)預(yù)測來預(yù)測每個(gè)已發(fā)現(xiàn)部件的姿態(tài)。這些部件是直接從圖像中被發(fā)現(xiàn)的,同樣也是使用神經(jīng)編碼器,該編碼器推斷這些部件及它們的仿射變換。

而對應(yīng)的解碼器將每個(gè)圖像像素建模為由仿射變換部件做出的預(yù)測混合。研究人員從目標(biāo)和目標(biāo)部件的膠囊中學(xué)習(xí)無標(biāo)簽數(shù)據(jù),然后將這些目標(biāo)膠囊的存在向量進(jìn)行聚類。

得知這些聚類的名稱時(shí),研究人員在 SVHN 和 MNIST 數(shù)據(jù)集上獲得了當(dāng)前最佳的無監(jiān)督分類結(jié)果,準(zhǔn)確率分別為 55% 和 98.5%。

本文提出了堆棧式膠囊自編碼器(SCAE),該編碼器包含兩個(gè)階段。在第一階段,部件膠囊自編碼器(PCAE)將圖像分割為組成部分,推斷其姿態(tài),并將每個(gè)圖像像素重建為變換組件模板的像素混合。

在第二階段,目標(biāo)膠囊自編碼器(OCAE)嘗試將發(fā)現(xiàn)的部件及其姿態(tài)安排在一個(gè)更小的目標(biāo)集合中。這個(gè)目標(biāo)集合對每個(gè)部件進(jìn)行預(yù)測,從而解釋每個(gè)部件的姿態(tài)。通過將它們的姿態(tài)——目標(biāo)-觀察者關(guān)系(OV)和相關(guān)的目標(biāo)-部件關(guān)系(OP)相乘,每個(gè)目標(biāo)膠囊都會貢獻(xiàn)這些混合的一部分。

堆棧式膠囊自編碼器的工作原理

堆棧式膠囊自編碼器在使用未標(biāo)注數(shù)據(jù)訓(xùn)練時(shí)捕捉所有目標(biāo)和它們部件之間的空間關(guān)系。目標(biāo)膠囊存在概率的向量傾向于組成緊密的聚類。

當(dāng)給每個(gè)聚類一個(gè)分類時(shí),其可以在無監(jiān)督分類任務(wù)上達(dá)到當(dāng)前最佳效果,如 SVHN 數(shù)據(jù)集上的 55% 和 MNIST 數(shù)據(jù)集上的 98.5%。以上結(jié)果還可以分別提升到 67% 和 99%,而且只需學(xué)習(xí)不到 300 個(gè)參數(shù)。

模型架構(gòu)

堆棧式膠囊自編碼器的結(jié)構(gòu)

堆棧式膠囊自編碼器的兩個(gè)組成部分為:部件膠囊自編碼器(PCAE)和目標(biāo)膠囊自編碼器(OCAE)。在下文中,論文首先介紹了集群自編碼器(CCAE),通過一系列數(shù)學(xué)公式說明自編碼器如何分解圖像中的部件的過程,然后由此引出堆棧式膠囊自編碼器的兩個(gè)組成部分。

集群自編碼器

圖 2:使用集群自編碼器對不同形狀的點(diǎn)進(jìn)行聚類的示意圖。

論文首先介紹了集群自編碼器,通過這種結(jié)構(gòu)的數(shù)學(xué)原理,引出堆棧式膠囊自編碼器的結(jié)構(gòu)。令 {x_m | m = 1, . . . , M } 為一組二維的輸入點(diǎn),每個(gè)點(diǎn)屬于一個(gè)集群(見圖2)。首先使用Set Transformer將所有的輸入點(diǎn)(相當(dāng)于部件膠囊)編碼進(jìn)k個(gè)目標(biāo)膠囊中,Set Transformer是一種基于注意力機(jī)制的、有置換不變性的編碼器h^cap (Lee et al., 2019) 。

一個(gè)目標(biāo)膠囊 k 包括一個(gè)膠囊特征向量 c_k(其存在概率 a_k ∈ [0, 1])和一個(gè) 3 × 3 的目標(biāo)-觀察者(OV)關(guān)系矩陣。關(guān)系矩陣代表著目標(biāo)(集群)和觀察者之間關(guān)系的仿射變換。

需要注意的是,每個(gè)目標(biāo)膠囊每次只能代表一個(gè)目標(biāo)。每個(gè)目標(biāo)膠囊都使用一個(gè)獨(dú)立的多層感知機(jī) h_k^part 從膠囊特征向量 c_k 中預(yù)測 N ≤ M 個(gè)候選部件。

每個(gè)候選由條件概率 a_k,n ∈ [0, 1] (當(dāng)其存在),一個(gè)關(guān)聯(lián)標(biāo)量的標(biāo)準(zhǔn)差λ_k,n,以及一個(gè) 3 × 3 的目標(biāo)-部件(OP)關(guān)系矩陣組成。這些代表著目標(biāo)膠囊和候選部件的仿射變換。

候選預(yù)測 μ_k,n 根據(jù)目標(biāo)膠囊 OV 和候選 OP 矩陣相乘得來。然后,研究人員將每個(gè)輸入部件建模為高斯混合模型,其中μ_k,n 和 λ_k,n 是各向同性組件的中心和標(biāo)準(zhǔn)差。其標(biāo)準(zhǔn)公式如下:

集群膠囊編碼器的公式。論文通過舉出集群膠囊編碼器的例子,用于說明目標(biāo)膠囊編碼器和它的區(qū)別。

部件膠囊自編碼器

如果要將圖像分解為組成部件的集合關(guān)系,就需要首先推斷圖像是由哪些部件組成的,同時(shí)也需要了解觀察者和這些部件之間的關(guān)系(稱之為他們的姿態(tài))。

在本研究中,每個(gè)部件膠囊都有六個(gè)維度的自由姿態(tài),一個(gè)存在變量,和一個(gè)獨(dú)特的特征。研究人員把部件發(fā)現(xiàn)問題視為自編碼:編碼器學(xué)習(xí)去推斷不同部件膠囊的姿態(tài)和存在,而解碼器學(xué)習(xí)每個(gè)部件的圖像模板。

模板對應(yīng)的部件是使用其姿態(tài)的仿射變換,而這些變換過的模板的像素點(diǎn)被用來為每個(gè)圖像像素創(chuàng)建單獨(dú)的混合模型。在部件膠囊自編碼器后是目標(biāo)膠囊自編碼器。

令 y ∈ [0, 1]^h×w×c 為圖像。研究人員將部件膠囊的數(shù)量限定在 M 之內(nèi)。對于每個(gè)部件膠囊,他們使用一個(gè)編碼器去推斷姿態(tài) x_m ∈ R^6,存在概率 d_m ∈ [0, 1],以及特殊特征 z_m ∈ R^c_z。

雖然后者不會直接參與圖像重建,但是會將對應(yīng)部件的特殊信息提供給目標(biāo)膠囊自編碼器。他們會通過目標(biāo)膠囊自編碼器使用反向傳播微分的方式訓(xùn)練。

當(dāng)前條件下,不允許圖像中同一種類型的部件多次出現(xiàn),從而導(dǎo)致部件膠囊不會在空間中被復(fù)制(盡管它們可能會)。然而,確實(shí)需要分辨出所有出現(xiàn)在圖像中的部件,因此編碼器會采用帶有從下到上(bottom-up)注意力機(jī)制的卷積神經(jīng)網(wǎng)絡(luò)

對于每個(gè)膠囊 k,其預(yù)測一個(gè)特征矩陣 e^k,特征矩陣是 6(姿態(tài))+1(存在)+c_z(特殊特征)的膠囊參數(shù),其空間維度是 h_e × w_e,以及一個(gè)單通道注意力層 a_k。

最終,該膠囊的參數(shù)計(jì)算公式是。softmax 是對空間維度上的計(jì)算。這種計(jì)算有點(diǎn)類似于全局平均池化,但是允許一些空間點(diǎn)比其他點(diǎn)對最終結(jié)果的權(quán)重影響更大。研究人員將其稱為注意力池化(attention-based pooling)。

圖像的像素點(diǎn)被建模為獨(dú)立的高斯混合模型。對于每個(gè)像素點(diǎn),研究人員采用其對應(yīng)的變換模板,并將其視為有著恒定方差的各向同性高斯組件的中心點(diǎn)。其混合概率對部件膠囊的存在概率和在該位置的色值函數(shù)(c 指的是圖像的通道數(shù))都是成比例的。

部件膠囊自編碼器的公式推導(dǎo)過程

目標(biāo)膠囊自編碼器(OCAE)

下一步是從已經(jīng)發(fā)現(xiàn)的部件中尋找目標(biāo)。因此,需要使用相連的姿態(tài) x_m,特殊特征 z_m,以及平滑化的模板 T_m(通過將部件膠囊的特征進(jìn)行轉(zhuǎn)化)。這些將會成為目標(biāo)膠囊自編碼器的輸入,這里和集群自編碼器有一些不同。

首先,研究人員將部件膠囊的存在概率 d_m 輸入目標(biāo)膠囊自編碼器——由于平衡注意力機(jī)制,避免將缺失點(diǎn)考慮在內(nèi)。

其次,d_m 同時(shí)用于衡量部件膠囊的對數(shù)似然 cf。另外,除了特殊特征外,不對其他目標(biāo)膠囊自編碼器的輸入計(jì)算梯度,以便提升訓(xùn)練的穩(wěn)定性,并避免隱變量崩潰。

最后,通過部件膠囊自編碼器發(fā)現(xiàn)的部件有著獨(dú)立的特征(模板和特殊特征)。因此,每個(gè)部件姿態(tài)都可以被解釋為是目標(biāo)膠囊預(yù)測的獨(dú)立混合——即每個(gè)目標(biāo)膠囊都做出 M 個(gè)候選預(yù)測 V_k,1:M,或者對每個(gè)部件做出一個(gè)候選預(yù)測。

最終,部件膠囊的似然公式是:

圖 3:從MNIST(左)和SVHN(中)和CIFAR 10(右)學(xué)習(xí)到的模板。

圖 4:展示了膠囊自編碼器對MNIST數(shù)據(jù)集的重建過程。a)MNIST圖像;b)紅色的部件膠囊和綠色的目標(biāo)膠囊在重建中的組合;c)實(shí)際參與重建的被激活膠囊;d)根據(jù)圖像捕捉到的信息;e)部件的仿射變換,用于展示其重建圖像的過程。

模型性能評估

堆棧式膠囊自編碼器使用仿射變換,這樣可以使編碼器的輸入由一組較小的變換目標(biāo)或部件解釋。

無監(jiān)督分類評價(jià)

研究人員在 MNIST、SVHN 和 CIFAR 10 數(shù)據(jù)集上進(jìn)行了測試,并將目標(biāo)膠囊的存在打上類別標(biāo)簽。他們使用了多種評價(jià)方法。

在部件膠囊編碼器上,研究人員在 MNIST 數(shù)據(jù)集上使用了 24 個(gè)單通道,11 × 11 的模板,在 SVHN 和 CIFAR 10 上則分別使用了 32 個(gè) 3 通道,14 × 14 的模板。

對于后兩個(gè)數(shù)據(jù)集的圖像,研究人員進(jìn)行了 Sobel 過濾,作為重建的目標(biāo)。對于目標(biāo)膠囊編碼器,研究則分別使用了 24、32 和 64 個(gè)目標(biāo)膠囊。

表 1:運(yùn)行五次后取平均的無監(jiān)督分類結(jié)果和標(biāo)準(zhǔn)差。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:Hinton老爺子CapsNet再升級,結(jié)合無監(jiān)督,接近當(dāng)前最佳效果

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    增量編碼器單圈和多圈怎么知道,如何分辯?

    增量編碼器單圈和多圈怎么知道,如何分辯? 單圈編碼器特點(diǎn): ? 單圈編碼器只能測量一圈內(nèi)的旋轉(zhuǎn)角度或位移。一旦旋轉(zhuǎn)超過一圈,數(shù)據(jù)就會重新開始計(jì)算。 ? 主要特點(diǎn)包括測量范圍相對較
    的頭像 發(fā)表于 10-21 09:42 ?251次閱讀
    增量<b class='flag-5'>式</b><b class='flag-5'>編碼器</b>單圈和多圈怎么知道,如何分辯?

    磁電編碼器好還是光電編碼器

    磁電編碼器和光電編碼器各有其獨(dú)特的優(yōu)點(diǎn)和適用場景,無法一概而論哪種更好,而是需要根據(jù)具體的應(yīng)用需求來選擇。 光電
    的頭像 發(fā)表于 10-12 10:01 ?250次閱讀

    磁電編碼器磁鐵怎么固定的

    磁電編碼器是一種將機(jī)械位置或角度轉(zhuǎn)換為電信號的傳感,廣泛應(yīng)用于工業(yè)自動化、機(jī)器人技術(shù)、航空航天等領(lǐng)域。磁鐵作為編碼器中的關(guān)鍵部件,其固定方式對
    的頭像 發(fā)表于 10-12 09:59 ?220次閱讀

    磁電編碼器和光電編碼器的區(qū)別

    磁電編碼器和光電編碼器是兩種不同類型的編碼器,它們在原理、結(jié)構(gòu)、性能和應(yīng)用領(lǐng)域上都有所不同。 磁電編碼器和光電編碼器的區(qū)別 1. 引言
    的頭像 發(fā)表于 10-12 09:54 ?492次閱讀

    模塊編碼器原理 精度與分辨率

    模塊編碼器原理 精度與分辨率:編碼器是一種將旋轉(zhuǎn)位移或直線位移轉(zhuǎn)換成電信號的裝置。它通過測量機(jī)械部件的運(yùn)動,并將其轉(zhuǎn)化為數(shù)字脈沖或模擬信號輸出,從而實(shí)現(xiàn)對位置、速度和方向等參數(shù)的精確監(jiān)測
    的頭像 發(fā)表于 08-12 11:13 ?257次閱讀
    模塊<b class='flag-5'>式</b><b class='flag-5'>編碼器</b>原理 精度與分辨率

    自編碼器的原理和類型

    自編碼器(Autoencoder, AE)是一種無監(jiān)督學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型,它通過編碼器和解碼的組合,實(shí)現(xiàn)了對輸入數(shù)據(jù)的壓縮和重構(gòu)。自編碼器由兩部分組成:
    的頭像 發(fā)表于 07-09 11:25 ?889次閱讀

    伺服電機(jī)編碼器的型號怎么看

    伺服電機(jī)編碼器是伺服電機(jī)的重要組成部分,它能夠?qū)㈦姍C(jī)的旋轉(zhuǎn)角度、速度等信息轉(zhuǎn)換為電信號,為控制系統(tǒng)提供精確的位置和速度反饋。 一、伺服電機(jī)編碼器的分類 1.1 增量編碼器 增量
    的頭像 發(fā)表于 06-17 11:07 ?1718次閱讀

    光纖絕對和光纖增量編碼器的區(qū)別

    絕對編碼器和增量編碼器二者有什么區(qū)別呢?分別有什么特征,適合什么樣的應(yīng)用呢?歡迎閱讀文章了解~
    的頭像 發(fā)表于 05-15 10:43 ?387次閱讀
    光纖絕對<b class='flag-5'>式</b>和光纖增量<b class='flag-5'>式</b><b class='flag-5'>編碼器</b>的區(qū)別

    絕對編碼器的工作原理

    絕對編碼器的工作原理:絕對編碼器是一種能夠輸出特定編碼來表示機(jī)械位置的傳感。它通過檢測旋轉(zhuǎn)
    的頭像 發(fā)表于 04-01 15:10 ?1125次閱讀
    絕對<b class='flag-5'>式</b><b class='flag-5'>編碼器</b>的工作原理

    編碼器工作原理圖

    按照工作原理編碼器可分為增量和絕對兩類 增量編碼器 1、增量
    發(fā)表于 03-19 11:25 ?1130次閱讀
    <b class='flag-5'>編碼器</b>工作原理圖

    編碼器好壞怎么判斷,編碼器原理

    編碼器(Encoder)是將輸入數(shù)據(jù)轉(zhuǎn)化為特定編碼表示的一種技術(shù)。對于不同類型的編碼器,評判其好壞可以從多個(gè)方面進(jìn)行考量,包括編碼質(zhì)量、速度、模型結(jié)構(gòu)等。
    的頭像 發(fā)表于 01-23 10:58 ?1770次閱讀

    磁性編碼器和光電編碼器的比較

    伺服電機(jī)編碼器是一種關(guān)鍵的反饋裝置,用于測量和控制電機(jī)的轉(zhuǎn)速和位置。在選擇伺服電機(jī)編碼器時(shí),常常面臨一個(gè)選擇:使用磁電編碼器還是光電編碼器。接下來將從幾個(gè)關(guān)鍵方面比較這兩種類型的
    的頭像 發(fā)表于 01-18 10:29 ?2881次閱讀

    如何獲取編碼器的脈沖信號? | 編碼器互補(bǔ)輸出和推挽輸出的區(qū)別?

    如何獲取編碼器的脈沖信號 ? ? ? 編碼器是一種用于精確測量物理位置和速度的機(jī)械設(shè)備,它可以將機(jī)械運(yùn)動轉(zhuǎn)換為電信號。在工業(yè)生產(chǎn)自動化領(lǐng)域中,編碼器被廣泛應(yīng)用于各種機(jī)械設(shè)備的控制系統(tǒng)中。下面我們
    的頭像 發(fā)表于 12-19 08:36 ?1581次閱讀
    如何獲取<b class='flag-5'>編碼器</b>的脈沖信號? | <b class='flag-5'>編碼器</b>互補(bǔ)輸出和推挽<b class='flag-5'>式</b>輸出的區(qū)別?

    解決編碼器受干擾的方法

    接觸和非接觸兩種;按照工作原理編碼器可分為增量和絕對兩類。。增量
    的頭像 發(fā)表于 12-13 08:40 ?1610次閱讀

    編碼器:互補(bǔ)輸出和推挽輸出的區(qū)別

    編碼器:互補(bǔ)輸出和推挽輸出的區(qū)別:編碼器是很常見的一種電子元器件,能將旋轉(zhuǎn)位置或線性位置轉(zhuǎn)換成數(shù)字信號輸出。在編碼器輸出的信號中,互補(bǔ)輸出和推挽
    的頭像 發(fā)表于 11-23 13:53 ?3930次閱讀
    <b class='flag-5'>編碼器</b>:互補(bǔ)輸出和推挽<b class='flag-5'>式</b>輸出的區(qū)別