1. 程式人生 > >圖神經網絡 The Graph neural network model

圖神經網絡 The Graph neural network model

結果 最新 mode 相關 論文 總結 關註 del 展開

1 圖神經網絡(原始版本)

圖神經網絡現在的威力和用途也再慢慢加強 我從我看過的最原始和現在慢慢最新的論文不斷寫上我的看法和見解 本人出身數學 所以更喜歡數學推導 第一篇就介紹圖神經網絡想法的開端 之後的圖神經網絡模型 都是基於此慢慢改進。

2 能處理的領域

技術分享圖片

針對常見的旅行者問題 社交網絡 分子結構 等等常見的非結構化數據皆能進行處理 不同點在於你g(x) 即輸出函數如何設計,圖神經模型的貢獻在於如何去學習一個非結構數據並將其表征

3 模型

3.1 簡介

首先 針對圖而言 信息有兩大類 一個為圖節點信息 一個為圖邊的信息 圖的節點包含了一個節點的“狀態”,我們用x(i)來表示i節點的“狀態” 這是模型經過學習之後 學到的關於圖信息的表征 我們可以很直觀的假設 一個點的“狀態”與周圍節點的狀態 周圍節點與本節點的邊(可以認為是二者的距離) 周圍節點的標簽 然後我們用一個函數f 去學習 於是我們可以得到以下的

技術分享圖片

我們要做的工作就是去學習到整個圖 每個節點的“狀態” ,但是我們會發現一個問題 那就是 i節點的“狀態‘’ x(i)依賴於j節點的狀態x(j) 同理j點也是 二者不斷地相互依賴 形成一個循環。模型的假設就是我們可以通過循環叠代 去求解全圖的“狀態”

3.2

我們引入我們的輸出函數g(x,l)即一個節點的輸出會與此點的“狀態”以及相連的邊有關

技術分享圖片

由此我們得到了我們整體模型的兩個函數 一個去求解圖的狀態 一個去輸出(根據實際任務)

我們要解決的關鍵是f函數 如何去求解整個圖的狀態 數學上存在一個理論 即f對x的導數小於1時,我們可以保證 收斂 技術分享圖片

叠代過程簡單而言就是 用t輪的狀態 去更新t+1輪的狀態 ,最終得到全圖收斂的狀態。

3.3

技術分享圖片

因此 現在我們可以將求解過程按輪次展開 其中的g與f都為神經網絡 結構 你可以自己設計 我們將整個求解過程展開成如下形式 其中前面都是不斷叠代求解圖的狀態過程 技術分享圖片

3.4

前面介紹了圖神經模型的大體思路 接下來 我將介紹梯度下降及求導過程 因為圖神經網絡在求解過程中 需要保證狀態收斂 才可以進行下一步 所以求導叠代過程有所不同

首先我們介紹一下一個隱函數的存在性

技術分享圖片

此函數反映了我們真實需要的狀態x與我們現在所求t輪的x(t)之間的距離 理論上可以證明 存在能讓我們求解到完美x的參數w,繼而將參數w與x聯系起來。

3.5

然後在引入我們的損失函數e 此函數如何定義損失與你的輸出函數g有密切相關 需要你自己設計 再次不在累述。根據模型展開結構 ,我們得到了如下的求導公式 技術分享圖片

這個為通過時間的求導法則 很接近傳統rnn 我也不再累述。 根據我們的假設 當叠代一定次數後 z(t)等於z(t+1) 技術分享圖片

根據(8)得到(9) 我們再根據我們之前證明存在的隱函數,以及根據隱函數求導法則得到(10), (11)為另一個方向求解導數 不根據我們模型的展開,直接根據偏導定義直接求得結果 將(9)(10)(11)帶入得到了以下的求導法則 技術分享圖片

再次求導公式中 全部轉化為對參數w的求導 接下來為z(T)的一個叠代過程 類似於一個數列的求和 技術分享圖片

至此我們得到了我們全部的求導法則

技術分享圖片

3.6 模型算法

在求導過程中 我們是假設收斂到一個值時 我們才能采用我們推導的公式進行求導 因此 算法方面我們需要增加兩個步驟 去驗證收斂 然後才能繼續求導 整體算法框圖如下 技術分享圖片

4 總結

整體模型的貢獻就是解決了如何去學一個非結構數據的特征,采用叠代到收斂值的方法去學習,可能大家也發現了 針對兩個點之間的聯系 邊 此模型並沒有怎麽重點關註 現在的圖神經思想類似 不過加入了邊的學習。

5 問題與自己想法

首先1) 此模型在計算過程中 要保證f對x的導數小於1 這點會讓模型無法加深 層數一高 必然出現梯度消失之類問題

2) 沒有有效去學習邊的信息

圖神經網絡 The Graph neural network model