深度學習之上,圖神經網絡(GNN )崛起

由於深度學習在可推理和可解釋性方面存在比較大的侷限性,結合了圖計算和深度學習的圖神經網絡(GNNs)成爲近期學術界和工業界研究熱度頗高的新方向之一。業界普遍認爲,GNN 恰好可以彌補前面提到的深度學習無法解決的兩個缺陷。近一年 GNN 在越來越多應用場景上取得了成功,但它也仍面臨着許多挑戰。

螞蟻金服在今年的數據挖掘研究領域頂級年會 KDD 2019 上召開了以“圖神經網絡研究及實際應用”爲主題的研討會。InfoQ記者有幸採訪到了螞蟻金服人工智能部研究員宋樂,聊聊深度學習和 GNN 在大型工業級場景的應用和實踐、目前面臨的難點挑戰,以及未來技術前進的可能方向。
深度學習之上,圖神經網絡(GNN )崛起

宋樂老師在 KDD 2019

GNN已成“AI新貴”
除了傳統的深度學習方法,圖神經網絡(GNN)在近兩年也是公認的“AI 新貴”。由於圖結構的強大表現力,用機器學習 / 深度學習方法分析圖的研究越來越受重視。而圖神經網絡(GNN)由於較好的性能和可解釋性,已經成爲一種廣泛應用的圖分析方法,更有不少人將它看作“深度學習的新一代技術”。近一年來,學界和工業界陸續推出了 GNN 的相關框架和工具,進一步促進了這一領域的蓬勃發展。

GNN 提供了圖表徵學習(Graph representation learning)或圖嵌入技術(Graph embedding)的框架,可以用於各種圖數據上的監督,半監督及強化學習。GNN將圖上的元素,如節點,連接或者子圖表達成爲一個向量,而不同元素所對應的向量之間的距離保存了它們在原圖上的相似關係。這樣將拓撲關係表達爲特徵空間中的向量的做法,本質上是一種基於拓撲信息的特徵提取過程,其結果是溝通了傳統的圖分析和各種傳統機器學習或數據挖掘方法,在推薦系統、知識圖譜構建及推理等領域都有許多應用。比如說,可以通過引入了圖卷積操作構造了一個適用於圖數據的半監督學習框架,用於提取更精確的特徵表達或直接進行分類操作,並可以結合圖像分割、視頻理解、交通預測等許多領域開始探索其應用價值。無論對於圖分析還是深度學習,GNN 都是一個極有價值的的演化。

GNN 的出現解決了傳統深度學習方法難以應用到非規則形態數據上的痛點,大大擴展了神經網絡的應用空間,並在一些問題上改進了模型的可解釋性。對於許多建立在非規則形態數據基礎之上的業務場景,諸如推薦、消歧、反欺詐等,GNN 都有極大的應用潛力。以螞蟻金服爲例,GNN 已經廣泛部署於普惠金融業務的推薦和風控中。

宋樂還列舉了兩個比較有趣的新應用:

一個是 GNN 在知識圖譜上推理的應用。知識圖譜是螞蟻金服非常重要的研發方向之一,藉助知識圖譜可以把中國所有註冊企業都聯繫起來,圖譜裏每個節點可能就是一個註冊的商家,這個節點數量可能會達到幾千萬。這些商家之間可能有一些是供應商關係,有一些是同行競爭對手的關係,有一些可能是存在法律訴訟的關係。如果想根據這個圖來做一些預測和推測,用於普惠金融業務的推薦和風控,就可以藉助 GNN。

另一個是動態圖的應用。本質上,所有金融交易問題都是動態的,誰在什麼時間買了什麼東西,都是有一個對應的時間戳的,隨着新的交易發生、新的賬號產生,整個圖應該是在不斷變化的。如何把時間和圖的結構一起考慮進去做表徵,這個也是比較有挑戰性的前沿問題。目前螞蟻金服正在貸款准入模型中嘗試應用動態圖。

除此之外,據宋樂保守估計,GNN 目前至少已在阿里巴巴數十個業務場景落地。不過這只是 GNN 發展樂觀的一面。

從業界整體落地情況來看,GNN 仍然處於發展初期。從 2018 年 10 月,由 DeepMind、谷歌大腦、麻省理工等近 30 名學者聯名在 ArXiv 上傳的論文《Relational inductive biases, deep learning, and graph networks》將 GNN 相關工作推到一個新的高度以來,GNN 火熱發展還未到一年,很多本質問題尚未突破。與工業級深度學習應用面臨的問題類似,GNN 要真正做到在工業界大規模落地,在底層系統架構方面仍需要做大量工作。

如何大規模落地 GNN 仍面臨挑戰
在宋樂看來,目前 GNN 在工業界大規模落地面臨的挑戰主要在於大規模圖網絡的訓練和線上更新預測兩方面。未來互聯網公司只要涉及 GNN 相關應用工作,幾乎都逃不開大規模圖網絡。

首先,工業級業務場景,尤其是互聯網公司的業務場景,圖網絡規模通常都很大,至少包含億級,甚至是十億級、百億級的圖節點和邊。要計算這麼大規模的圖神經網絡,通常一臺機器是無法達到想要的效果的,這時就需要一個專門的分佈式圖計算平臺。如果沒有一個平臺能夠支撐 GNN 所需的海量計算,就很難把 GNN 做好。但目前就業界來說,GNN 平臺的進展仍然比較慢。還沒有哪個企業能夠推出一個足夠好的開源 GNN 平臺,並且能自信地表示可以很好地支持億級節點的圖網絡。

在對GNN 模型進行訓練時,算法需要與分佈式圖存儲平臺進行高效交互,這也是非常有挑戰性的一項工作。在模型訓練時,算法需要不斷隨機查詢節點、節點的鄰居和鄰居的鄰居,取出數據放到內存中做深度學習模型的前向 Inference 和後向的回傳,這在大規模圖上其實是很難做好的。對於 GNN 平臺來說,做深度學習以及和數據庫打交道這兩個環節常常是導致速度慢最大的瓶頸。在過去兩年,螞蟻金服在分佈式圖存儲這個方向上做了很多努力,目前已經開發出了一個高效的分佈式圖存儲平臺,以及可以跟這個圖存儲平臺比較高效地交互的圖訓練平臺。從數據上看,原來需要幾天時間的億級圖網絡訓練已經可以縮短到一個小時以內。

大規模圖神經網絡在線上的預測也是難點之一。GNN 的 Embedding 並非實時的,以金融交易場景爲例,每次出現一筆新的交易,圖網絡就會多一條邊,圖就會發生變化,如果想做好實時預測,就需要用最新的邊根據這個 GNN 的參數,算出它的表徵來進行預測。但是通常在線上環境中,要在非常短的響應時間內構一個圖,把 GNN 計算好非常困難,特別是在交易量很大的情況下,通常都存在一定的滯後。如何讓GNN 能夠在線上高效地直接做這個運算,這個挑戰還沒有完全解決,需要和底層的系統架構做一些合作。

宋樂坦言,即使沒有 GNN,圖計算本身在工業界就是一個比較困難的問題。因爲圖和圖像、文本有所不同,圖的每個節點連接的鄰居個數可能不一樣、節點類型不一樣、邊的類型不一樣,就製造了很多不規則的運算,每個節點需要運算的程度不一樣。而計算機特別適合規則運算,卻天生不適合不規則運算,圖的計算就屬於不規則運算,以前傳統的圖算法也有各種各樣的研究,但都不能很好地解決問題,再加上 GNN 引入了深度學習這一層,導致複雜度陡增,難度就更大了。因此,如何在很短的時間內得到 GNN 的訓練結果和預測結果,都存在很大的挑戰。如果這一問題能夠得到解決,使 GNN 的訓練和預測都做到足夠快,那麼算法工程師在建模的時候,就可以很快地嘗試 GNN 的效果以及各種不同網絡結構下 GNN 的效果,進一步修改提高 GNN 的結果。

不管在學術界還是工業界,目前這都還是一個比較前沿的問題,同時這也是當前 GNN 領域的瓶頸之一。雖然 Google、Facebook 等業內大公司都在推動 GNN 平臺的開發工作,但目前還沒有一個能夠真正做好大規模分佈式圖網絡計算的主流開源平臺。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章