胶囊图神经网络
-
卷積神經(jīng)網(wǎng)絡(luò)首先學(xué)會識別邊界和顏色,然后將這些信息用于識別形狀和圖形等更復(fù)雜的實(shí)體。比如在人臉識別上,他們學(xué)會從眼睛和嘴巴開始識別最終到整個面孔,最后根據(jù)臉部形狀特征識別出是不是人的臉。
-
卷積網(wǎng)絡(luò)對不同人臉的識別
{% gp 1-3 %}
正在上傳…重新上傳取消
{% endgp %}
1|2深度卷積網(wǎng)絡(luò)的缺陷
- CNN 對物體之間的空間關(guān)系 (spatial relationship) 的識別能力不強(qiáng),比如上圖中的嘴巴和眼睛換位置了還被識別成人
- CNN 對物體旋轉(zhuǎn)之后的識別能力不強(qiáng) (微微旋轉(zhuǎn)還可以),比如卡戴珊倒過來就被識別成頭發(fā)了
基于以上缺陷,Hinton在神經(jīng)網(wǎng)絡(luò)中提出capsule的概念,個人認(rèn)為也可以叫做向量神經(jīng)元,capsule不同于傳統(tǒng)的標(biāo)量神經(jīng)元,而是向量神經(jīng)元,具有方向性。
參考文獻(xiàn):Sabour, S., et al. (2017). Dynamic routing between capsules. Advances in neural information processing systems.
1|3標(biāo)量神經(jīng)元與向量神經(jīng)元
標(biāo)量神經(jīng)元的計(jì)算:
- 將輸入標(biāo)量 x 乘上權(quán)重 w
- 對加權(quán)的輸入標(biāo)量求和成標(biāo)量 a
- 用非線性函數(shù)將標(biāo)量 a 轉(zhuǎn)化成標(biāo)量 h
向量神經(jīng)元的計(jì)算:
- 將輸入向量 u 用矩向量W 加工成新的輸入向量 U
- 將輸入向量 U 乘上耦合系數(shù) C
- 對加權(quán)的輸入向量求和成向量 s
- 用非線性函數(shù)將向量 s 轉(zhuǎn)化成向量 v
轉(zhuǎn)存失敗重新上傳取消]
1|4膠囊的內(nèi)部結(jié)構(gòu)
-
膠囊的輸入向量和輸出向量計(jì)算公式
正在上傳…重新上傳取消
其中,v代表膠囊j的輸出向量,s代表膠囊的輸入向量,這個轉(zhuǎn)化其實(shí)是將向量s進(jìn)行一個壓縮和單位化的操作。
-
壓縮:如果s很長,那么左邊項(xiàng)約等于1,如果s很短,那么左邊項(xiàng)約等于0
-
單位化:使輸出向量長度為0到1之間的向量,因此長度可以表示為特征概率值
1|5層級膠囊的動態(tài)路由
-
膠囊的映射方式
u是上一個膠囊層的輸出向量,w是連接兩個膠囊層的向量權(quán)重,uj|iuj|i?是上一層的神經(jīng)元經(jīng)過權(quán)重后的預(yù)測向量,cijcij是不同層向量元的耦合系數(shù),s為本層的膠囊向量的輸入,也是預(yù)測向量的加權(quán)和,只不過權(quán)重變成了耦合
系數(shù),并不是標(biāo)量元里面的權(quán)重值 -
動態(tài)路由系數(shù)計(jì)算
正在上傳…重新上傳取消
正在上傳…重新上傳取消
-
層級膠囊路由的偽代碼
1|6數(shù)字的邊際損失函數(shù)
利用向量的長度來表示capsule 實(shí)體存在的概率,因此,對于數(shù)字類別k,希望高層次的capsule 能夠有一個較長的輸出向量,對于每個digit capsule k:
1|7膠囊網(wǎng)絡(luò)的結(jié)構(gòu)
- 第一層卷積層:原始圖像輸入size為2828,采用大小為9的卷積核生成256個通道的特征圖,并且用relu作為激活函數(shù)輸出大小為25620*20的特征圖
- 第二層卷積層(PrimaryCaps):輸入的特征圖大小為2562020,每個PrimaryCaps通過8個99大小卷積核,strid為2獲得,一共輸出32個PrimaryCaps,即每個PrimaryCaps有66個維度8D的膠囊單元,不同的map代表不同的特征類型,
同一個map中的向量代表不同的位置 - 第三層DigitCaps對第二層所有的膠囊進(jìn)行動態(tài)路由連接到第三層,第二層一共3266個8D向量通過動態(tài)路由連接成10個16D的膠囊向量,相當(dāng)于采用不同參數(shù)對第二層所有向量進(jìn)行10次變維度映射。
1|8重構(gòu)
重構(gòu)的意思就是用預(yù)測的類別重新構(gòu)建出該類別代表的實(shí)際圖像。
Capsule的向量可以表征一個實(shí)例,將最后的那個正確預(yù)測類別的向量投入到后面的重構(gòu)網(wǎng)絡(luò)中,可以構(gòu)建一個完整的圖像,從而可以通過重建圖像與原圖像的歐式距離來評估此模型分類的效果,更能說明膠囊網(wǎng)絡(luò)中向量神經(jīng)元具有的優(yōu)
越性,圖中的784即為原始圖像的28*28大小。
1|9重建作為調(diào)整方法
- L代表標(biāo)簽,p代表預(yù)測值,r重構(gòu)出的圖片,左邊三列是正確的結(jié)果。
- 重構(gòu)出來的圖像形狀和位置和輸入極其類似,這是說明膠囊網(wǎng)絡(luò)起了作用,Capsule的確包含了物體的多個信息:特征、位置、大小等等。
- 后面兩列是預(yù)測失敗的,通過重構(gòu)出來的圖我們可以得到原因:3和5太像了,即使人也很難清楚的分辨出來。
1|10膠囊網(wǎng)絡(luò)的一些應(yīng)用
- 可以利用膠囊向量的方向性進(jìn)行物體角度估計(jì),從而可以 彌補(bǔ)卷積網(wǎng)絡(luò)在這方面的缺陷
- 可以對重疊圖像中的特征進(jìn)行有效識別
- 利用膠囊網(wǎng)絡(luò)進(jìn)行手語的識別,膠囊網(wǎng)絡(luò)善于提取不同物體的角度信息,從而可以分辨不同角度的手勢,為自動手語翻譯提供很好的幫助
1|11膠囊網(wǎng)絡(luò)推薦文章
- Sabour S, Frosst N, Hinton G E. Dynamic routing between capsules[C]//Advances in neural information processing systems. 2017: 3856-3866.
- Hinton G E, Krizhevsky A, Wang S D. Transforming auto-encoders[C]//International Conference on Artificial Neural Networks. Springer, Berlin, Heidelberg, 2011: 44-51.
- Hinton G. Taking inverse graphics seriously[J]. 2013.
2|0圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network)
2|1圖模型的相關(guān)概念
- 圖是一種非結(jié)構(gòu)化數(shù)據(jù),作為一種非歐幾里得形數(shù)據(jù),圖分析被應(yīng)用到節(jié)點(diǎn)分類、鏈路預(yù)測和聚類等方向。圖網(wǎng)絡(luò)是一種基于圖域分析的深度學(xué)習(xí)方法。
- 圖表示(graph embedding)是一種圖的知識表示方法,即如何將圖中的節(jié)點(diǎn)、邊和子圖以低維向量的形式表現(xiàn)出來。受啟發(fā)于表示學(xué)習(xí)(representation learning)和詞嵌入(word embedding),圖嵌入技術(shù)得到了長足的發(fā)展,例>如DeepWalk模型。
2|2圖神經(jīng)網(wǎng)絡(luò)的分類
不同的文獻(xiàn)對圖神經(jīng)網(wǎng)絡(luò)有不一樣的分類,不過基本都是根據(jù)各自的特性來進(jìn)行分類的
- 文獻(xiàn)1根據(jù)圖模型結(jié)構(gòu):
Directed Graphs、Heterogeneous Graphs、Graphs with Edge Information
Zhou J, Cui G, Zhang Z, et al. Graph neural networks: A review of methods and applications[J]. arXiv preprint arXiv:1812.08434, 2018. - 文獻(xiàn)2根據(jù)聚合函數(shù):
graph convolution networks、graph attention networks、graph auto-encoders、graph generative networks、graph spatial-temporal networks
Wu Z, Pan S, Chen F, et al. A comprehensive survey on graph neural networks[J]. arXiv preprint arXiv:1901.00596, 2019.
2|3圖模型結(jié)構(gòu)
- 在圖中,每個節(jié)點(diǎn)的定義是由該節(jié)點(diǎn)的特征和相關(guān)節(jié)點(diǎn)來共同表示的。GNN的目標(biāo)是訓(xùn)練出state embedding函數(shù)hv,該函數(shù)包含了每個節(jié)點(diǎn)的鄰域信息
hvhv是節(jié)點(diǎn)v的向量化表示,可以用來預(yù)測該節(jié)點(diǎn)的輸出ovov(例如節(jié)點(diǎn)的標(biāo)簽),xvxv是節(jié)點(diǎn)v的特征表示,x_c_0x_c_0是節(jié)點(diǎn)v相關(guān)的邊的特征表示,hnehne節(jié)點(diǎn)v相關(guān)的當(dāng)前狀態(tài),xnexne是節(jié)點(diǎn)v鄰接節(jié)點(diǎn)的特征表示,f是local transition function,被所有節(jié)點(diǎn)共享,根據(jù)領(lǐng)域信息更新當(dāng)前節(jié)點(diǎn)裝填 - g被稱作local output function,用來產(chǎn)生節(jié)點(diǎn)輸出,實(shí)現(xiàn)分類或者回歸任務(wù)
2|4圖模型損失函數(shù)
p代表圖中所有有監(jiān)督節(jié)點(diǎn)的數(shù)量。優(yōu)化是基于梯度下降算法的,并且被表示如下:
- H進(jìn)行迭代更新,直到T時間步
- 權(quán)重W的梯度通過loss計(jì)算得出
- 進(jìn)行梯度更新
2|5圖模型類型(Graph Types)
- 有向圖(Directed Graphs)
- 傳統(tǒng)的無向邊可以看作是兩個有向邊組成的,表明兩個節(jié)點(diǎn)之間存在著關(guān)系。然而,有向邊相對與無向邊來說能夠表達(dá)更為豐富的信息
- 異構(gòu)圖(Heterogeneous Graphs)
- 包含有不同類型的幾種節(jié)點(diǎn),表現(xiàn)不同類型節(jié)點(diǎn)最簡單的形式是,將類型用one-hot向量表示,然后與原始節(jié)點(diǎn)的特征向量進(jìn)行拼接
- Graph Inception模型將metapath的概念引入到了異構(gòu)圖的傳播中。我們可以對鄰近節(jié)點(diǎn)進(jìn)行分類,根據(jù)其節(jié)點(diǎn)的類型和其距離。對于每個鄰近節(jié)點(diǎn)群,Graph Inception將它作為一個同構(gòu)圖中的子圖,并將來自于不同同構(gòu)圖的傳>播結(jié)果連接起來視為一個集合節(jié)點(diǎn)來表示
- 帶有邊信息的圖(Graphs with Edge Information)
- 在圖中,邊也蘊(yùn)含著豐富的信息,例如權(quán)重和邊的類型等。有兩種表示圖的方式:
- 兩個節(jié)點(diǎn)之間的邊切割開成兩條邊,然后將邊也轉(zhuǎn)化成節(jié)點(diǎn)
- 在傳播過程中,不同的邊上有不同的權(quán)值矩陣
2|6傳播類型(Propagation Types)
- 在模型中,信息的傳播步驟和輸出步驟是獲得節(jié)點(diǎn)或者邊隱含狀態(tài)的關(guān)鍵步驟。不同變種的GNN的聚合函數(shù)(用來聚合圖中所有點(diǎn)的鄰域信息,產(chǎn)生一個全局性的輸出)和節(jié)點(diǎn)狀態(tài)更新函數(shù)如下圖所示,其中常見的就是卷積聚合函數(shù)和
注意力聚合函數(shù): - Attention:GAT是一種注意力圖網(wǎng)絡(luò),它將注意力機(jī)制融入到了圖傳播的步驟中。GAT計(jì)算每個節(jié)點(diǎn)的隱藏狀態(tài),通過將 “attention” 機(jī)制應(yīng)用到鄰近節(jié)點(diǎn)上,從而可以通過不同的關(guān)注力對鄰接節(jié)點(diǎn)信息進(jìn)行聚合
- 除此之外還有Gate和Skip connection傳播類型,各自有不同的功能
2|7訓(xùn)練方法(Training Methods)
論文中還介紹了幾種GNN的訓(xùn)練方法。比如Graph SAGE從節(jié)點(diǎn)的部分鄰域聚合信息。Fast GCN采用樣本采樣方法替代節(jié)點(diǎn)的所有鄰域信息。其宗旨都是為了改進(jìn)圖模型計(jì)算復(fù)雜這一缺點(diǎn),這些訓(xùn)練方法,都使得模型的訓(xùn)練效率更加的高效
,隨機(jī)丟棄一些鄰域點(diǎn)還能使圖模型的魯棒性增
2|8應(yīng)用(APPLICATIONS)
圖網(wǎng)絡(luò)被廣泛的應(yīng)用于包括監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)等方向。論文中從三個不同的場景來分別闡述圖網(wǎng)絡(luò)的應(yīng)用。
-
結(jié)構(gòu)化場景:數(shù)據(jù)包含有很明確的關(guān)系結(jié)構(gòu),如物理系統(tǒng)、分子結(jié)構(gòu)和知識圖譜。
-
非結(jié)構(gòu)化場景:數(shù)據(jù)不包含明確的關(guān)系結(jié)構(gòu),例如文本和圖像等領(lǐng)域。
-
其他應(yīng)用場景:例如生成式模型和組合優(yōu)化模型。
各個領(lǐng)域圖網(wǎng)絡(luò)的應(yīng)用細(xì)節(jié)如下圖所示:
?
2|9推薦文獻(xiàn)
- Kipf, T. N. and M. Welling (2016) Semi-Supervised Classification with Graph Convolutional Networks. ArXiv e-prints
- Scarselli, F., et al. (2009). "The Graph Neural Network Model." IEEE Transactions on Neural Networks 20(1): 61-80.
- Veli?kovi?, P., et al. (2017) Graph Attention Networks. ArXiv e-prints
- Ying, R., et al. (2018) Graph Convolutional Neural Networks for Web-Scale Recommender Systems. ArXiv e-prints
- Bruna, J., et al. (2013) Spectral Networks and Locally Connected Networks on Graphs. ArXiv e-prints
3|0膠囊圖神經(jīng)網(wǎng)絡(luò)(Capsule Graph Neural Network)
3|1圖卷積網(wǎng)絡(luò)(GRAPH CONVOLULTIONAL NETWORK)
T是信息變換矩陣,是通過鄰接矩陣變換得來,大小N*N,w是節(jié)點(diǎn)向量維度變換矩陣
3|2CapsGNN模型結(jié)構(gòu)
- Block1:基本節(jié)點(diǎn)膠囊提取模塊,利用GCN原理生成當(dāng)前時刻節(jié)點(diǎn)狀態(tài),作為膠囊向量,向量長度為N
- Block2:高級圖膠囊提取模塊,融合了注意力模塊和動態(tài)路由,以生成多個圖膠囊
- Block3:圖分類模塊,再次利用動態(tài)路由,生成用于圖分類的類膠囊
3|3基本節(jié)點(diǎn)膠囊提取模塊
3|4高級圖膠囊提取模塊
注意力機(jī)制的目的:讓模型更加注重圖中更重要相關(guān)的節(jié)點(diǎn)或者鄰域信息
將初始膠囊的每一個節(jié)點(diǎn)的所有通道的d維向量進(jìn)行concat,生成第二個圖的向量,利用注意力函數(shù)F計(jì)算出注意力值矩陣,然后對每一行進(jìn)行歸一化,得到每個通道不同節(jié)點(diǎn)的注意力值的歸一化值,然后與原來初始膠囊相乘,可以得到>帶有不同注意力的膠囊向量組
公式如下:
計(jì)算投票:對注意力機(jī)制生成的膠囊向量矩陣進(jìn)行投票計(jì)算,其實(shí)是用一個可訓(xùn)練的權(quán)重矩陣對整個膠囊向量進(jìn)行多次計(jì)算,最后生成P個圖膠囊,每一個圖膠囊都是對整個圖的不同角度的觀察,然后利用路由機(jī)制生成下一層的圖膠囊。
3|5圖分類模塊
運(yùn)用動態(tài)路由思想,繼續(xù)將P個圖膠囊路由成C個類別的分類膠囊
利用分類損失函數(shù)進(jìn)行梯度下降,訓(xùn)練整個模型
3|6重建
重建損失,將分類好的膠囊向量通過多層全連接可以重建原數(shù)據(jù),如果是圖像,那么可以重建圖像,并且根據(jù)重建損失來進(jìn)行全連接的訓(xùn)練,其目的在于可以對最終分類的效果進(jìn)行可視化,而不是簡單給出一個概率值,有利于模型的整>體評估。
3|7結(jié)果
- 提升了圖模型的分類正確率
- 提升了圖模型的效率,用更少的節(jié)點(diǎn)可以描繪更多的信息
- 能夠通過圖膠囊捕捉到更多圖模型的屬性信息
3|8參考文獻(xiàn)
- Zhang Xinyi, L. C. (2019). "Capsule Graph Neural Network."
3|9演講ppt下載
參考ppt下載:圖模型ppt
總結(jié)
- 上一篇: 2021MIT博士pluskid年终总结
- 下一篇: MySQL防止重复插入唯一限制的数据 4