1 圖神經網絡(原始版本)
圖神經網絡現在的威力和用途也再慢慢加強 我從我看過的最原始和現在慢慢最新的論文不斷寫上我的看法和見解 本人出身數學 所以更喜歡數學推導 第一篇就介紹圖神經網絡想法的開端 之后的圖神經網絡模型 都是基于此慢慢改進。
2 能處理的領域
針對常見的旅行者問題 社交網絡 分子結構 等等常見的非結構化數據皆能進行處理 不同點在于你g(x) 即輸出函數如何設計司澎,圖神經模型的貢獻在于如何去學習一個非結構數據并將其表征
3 模型
3.1 簡介
首先 針對圖而言 信息有兩大類 一個為圖節(jié)點信息 一個為圖邊的信息 圖的節(jié)點包含了一個節(jié)點的“狀態(tài)”,我們用x(i)來表示i節(jié)點的“狀態(tài)” 這是模型經過學習之后 學到的關于圖信息的表征 我們可以很直觀的假設 一個點的“狀態(tài)”與周圍節(jié)點的狀態(tài) 周圍節(jié)點與本節(jié)點的邊(可以認為是二者的距離) 周圍節(jié)點的標簽 然后我們用一個函數f 去學習 于是我們可以得到以下的
我們要做的工作就是去學習到整個圖 每個節(jié)點的“狀態(tài)” ,但是我們會發(fā)現一個問題 那就是 i節(jié)點的“狀態(tài)‘’ x(i)依賴于j節(jié)點的狀態(tài)x(j) 同理j點也是 二者不斷地相互依賴 形成一個循環(huán)斟或。模型的假設就是我們可以通過循環(huán)迭代 去求解全圖的“狀態(tài)”
3.2
我們引入我們的輸出函數g(x鸠删,l)即一個節(jié)點的輸出會與此點的“狀態(tài)”以及相連的邊有關
由此我們得到了我們整體模型的兩個函數 一個去求解圖的狀態(tài) 一個去輸出(根據實際任務)
我們要解決的關鍵是f函數 如何去求解整個圖的狀態(tài) 數學上存在一個理論 即f對x的導數小于1時,我們可以保證 收斂
迭代過程簡單而言就是 用t輪的狀態(tài) 去更新t+1輪的狀態(tài) 狗热,最終得到全圖收斂的狀態(tài)驰怎。
3.3
3.4
前面介紹了圖神經模型的大體思路 接下來 我將介紹梯度下降及求導過程 因為圖神經網絡在求解過程中 需要保證狀態(tài)收斂 才可以進行下一步 所以求導迭代過程有所不同
首先我們介紹一下一個隱函數的存在性
此函數反映了我們真實需要的狀態(tài)x與我們現在所求t輪的x(t)之間的距離 理論上可以證明 存在能讓我們求解到完美x的參數w阐滩,繼而將參數w與x聯(lián)系起來。
3.5
然后在引入我們的損失函數e 此函數如何定義損失與你的輸出函數g有密切相關 需要你自己設計 再次不在累述县忌。根據模型展開結構 掂榔,我們得到了如下的求導公式這個為通過時間的求導法則 很接近傳統(tǒng)rnn 我也不再累述。 根據我們的假設 當迭代一定次數后 z(t)等于z(t+1)
根據(8)得到(9) 我們再根據我們之前證明存在的隱函數芹枷,以及根據隱函數求導法則得到(10)衅疙, (11)為另一個方向求解導數 不根據我們模型的展開,直接根據偏導定義直接求得結果 將(9)(10)(11)帶入得到了以下的求導法則
至此我們得到了我們全部的求導法則
3.6 模型算法
在求導過程中 我們是假設收斂到一個值時 我們才能采用我們推導的公式進行求導 因此 算法方面我們需要增加兩個步驟 去驗證收斂 然后才能繼續(xù)求導 整體算法框圖如下
4 總結
整體模型的貢獻就是解決了如何去學一個非結構數據的特征鸳慈,采用迭代到收斂值的方法去學習饱溢,可能大家也發(fā)現了 針對兩個點之間的聯(lián)系 邊 此模型并沒有怎么重點關注 現在的圖神經思想類似 不過加入了邊的學習。
5 問題與自己想法
首先1) 此模型在計算過程中 要保證f對x的導數小于1 這點會讓模型無法加深 層數一高 必然出現梯度消失之類問題
2) 沒有有效去學習邊的信息
論文引介 |Learning Convolutional Neural Networks for Graphs
原創(chuàng): 涂存超 [智能立方](javascript:void(0);) 2016-06-10
文章原名:Learning Convolutional Neural Networks for Graphs
作者:Mathias Niepert, Mohamed Ahmed, Konstantion Kutzkov
單位:NEC Labs Europe, Heidelberg, Germany
譯者:涂存超
鏈接:http://arxiv.org/abs/1605.05273
【導讀】
這篇文章提出了對任意的圖(網絡)學習卷積神經網絡的框架走芋。這些圖可以是有向的或者無向的绩郎,節(jié)點和邊的屬性也可以是離散的或者連續(xù)的。對于圖像來說翁逞,卷積神經網絡對輸入圖像的局部關聯(lián)的區(qū)域進行操作肋杖,和此類似,本文提出了一種通用的方法挖函,也抽取圖中局部關聯(lián)的區(qū)域進行相應的操作状植。在標準數據集上的實驗結果顯示,本文提出的方法學習到的特征表示和目前最先進的graph kernel的方法可比怨喘,并且計算效率非常高津畸。
【模型】
為了能夠對任意結構的圖進行卷積操作,這篇文章提出了PATCHY-SAN (Select-Assemble-Normalize)的方法必怜,通過三個步驟構建卷積分片:1. 從圖中選擇一個固定長度的節(jié)點序列肉拓;2. 對序列中的每個節(jié)點,收集固定大小的鄰居集合梳庆;3. 對由當前節(jié)點及其對應的鄰居構成的子圖進行規(guī)范化暖途,作為卷積結構的輸入。通過上述三個步驟構建出所有的卷積片之后膏执,利用卷積結構分別對每個分片進行操作驻售。具體示意圖如下圖所示。
下面具體介紹一下構建卷積分片的步驟以及最后的卷積結構更米。
節(jié)點序列選擇:為了對圖中所有的節(jié)點進行標號排序芋浮,本文引入了圖標號函數,將圖中的節(jié)點集合根據向心性(節(jié)點的度壳快、中心度等)映射為有序的節(jié)點序列纸巷。從該序列中根據一定的間隔s隔段選取w個節(jié)點構成最終的節(jié)點序列。
鄰居節(jié)點收集:對于上一步獲得的節(jié)點序列中的每一個節(jié)點眶痰,利用廣度優(yōu)化搜索擴展鄰居節(jié)點瘤旨,和源節(jié)點一起構成一個k大小的鄰域集合。
子圖規(guī)范化:對于一個鄰域集合的規(guī)劃化過程如下圖所示竖伯。對鄰域集合中的個節(jié)點按照標號函數k進行排序存哲,得到接受域。那么七婴,對于節(jié)點的屬性祟偷,k個節(jié)點屬性值構成了一個輸入通道,對于邊的屬性打厘,k2個屬性值也構成了一個輸入通道修肠。我們可以分別用一維的卷積層來處理這兩種輸入通道(對于節(jié)點屬性卷積層長度為k,對于邊屬性卷積層長度為k2)户盯。
【貢獻】
這篇文章提出了一種通用高效的對任意的圖進行表示學習的框架嵌施。同圖像中的卷積神經網絡類似,本文也是通過構建圖中局部相連的鄰域莽鸭,然后對這些鄰域進行卷積等操作。
其主要貢獻在于,首先塘砸,將圖像領域的卷積神經網絡的概念擴展到網絡圖上尝胆。其次,本文提出的PATCHY-SAN模型與現有的方法相比十分高效礁阁,而且適用于大規(guī)模網絡圖巧号。同時,PATCHY-SAN也支持對于學習到的圖的特征的可視化氮兵,能夠對圖的結構屬性有更深層的了解裂逐。下圖就是對四種不同類型的圖的特征可視化及抽取的鄰域的可視化。
在實驗部分泣栈,如下圖所示卜高,本文還證明了提出的針對圖的CNN與目前最先進的graph kernel方法相比是有效的。
在理論上南片,這篇工作的主要貢獻還包括:1. 定義了的圖及其復雜度的規(guī)范化問題掺涛;2. 推導并提出了一種比較圖集合中不同標號函數的對比方法。
智能立方 論文引介 |Learning Convolutional Neural Networks for Graphs
https://mp.weixin.qq.com/s?__biz=MzIxNzE2MTM4OA==&mid=2665642794&idx=1&sn=b11ec8699218d43bb7b404a4980bf82e&scene=25