《20圖神經網絡專題論壇.pdf》由會員分享,可在線閱讀,更多相關《20圖神經網絡專題論壇.pdf(34頁珍藏版)》請在三個皮匠報告上搜索。
1、 1 20圖神經網絡 2 Mila 研究院唐建:基于圖神經網絡的關系推理整理:智源社區 熊宇軒在 NeurIPS 2019 上,圖靈獎得主、深度學習三駕馬車之一的 Yoshua Bengio 指出深度學習需要進行從感知到認知的革命,指引研究者們嘗試通過將 System 1 的快速感知系統與 System 2 的深度推理系統相結合實現更加強大的人工智能系統。在本屆智源大會上,來自 Yoshua Bengio 領導的 Mila 研究院的知名華人學者唐建為大家帶來了名為將 System 1 和 System 2 結合,用于關系推理 (Towards Integrating System I and
2、System II for Relational Reasoning)的精彩報告,以其研究小組近期在半監督節點分類、知識圖譜推理等任務上的研究進展為例,詳細介紹了將感知系統與認知系統相結合的方法。下面是演講的主要內容:一、System 1 VS System 2 推理首先,我們來回顧一下 System 1 和 System 2 推理的定義。事實上,現在大多數的深度學習系統所做的工作都屬于 System 1 推理,即感知系統。識別圖像中的物體就是一種感知任務。在感知任務中,人通常是相對無意識的,這是一個快速思考的過程。但是生活中有很多任務是非常復雜的,僅僅憑借感知系統無法很好的解決這些問題。例如
3、,對于 VQA 任務而言,給定一幅圖片,我們需要基于該圖的信息回答一些問題。在上圖中,右側給出了一個視覺問答系統(VQA)任務的示例咖啡機右側碗中的紅色水果是什么?。要回答這樣的復雜問題需要確定圖像中不同物體之間的關系,從而進行進一步的關系推理。這就涉及到 System 2 推理(認知系統)。認知系統是相對復雜的,它涉及到邏輯推理、知識工程、規劃方法等技術,這是一個較慢的有意識的過程。在本文中,我們將重點介紹如何將 System 1(感知系統)和 System 2(認知系統)用于關系推理。目前,關系推理和預測指的往往是在圖數據結構和關系數據上進行預測和推理。下面我們將介紹幾個典型的關系預測和推
4、理任務:節點分類(Node classifi cation):給定一些節點的標簽(如上圖中的紅色、藍色節點),預測相關節點的標簽。知識圖譜上的推理(Reasoning on knowledge graphs):基于已有事實推測未知事實。例如,已知 Bill Gates 是微軟的聯合創始人,Paul Allen 也是微軟的聯合創始人,從而推測以上兩人是否具有朋友關系。視覺關系推理(Visual relational reasoning):對于 VQA 任務中的非圖數據結構(圖像和文本數據集),通過關系推理和預測回答復雜問題。多跳問答系統(multi-hop Question Answering)
5、:綜合多個事實回答復雜問題,需要理解不同實體之間的關系,在關系圖譜上進行推理。在機器學習領域中,針對于關系推理于預測任務,有兩套不同的學習框架,它們分別與 System 1 和 System 2 3 推理相對應。其中,System 1 推理系統通過圖表示學習技術(如圖神經網絡)將深度學習用于圖數據結構,這類技術包括:節點表示方法:DeepWalk、LINE、N ode2Vec 等 知識圖譜嵌入表示方法:TransE、TransR、RotatE 等 圖神經網絡(GNN)然而,System 2 推理則對應于較為傳統的統計關系學習,它指的是將概率圖模型與知識、邏輯相結合的一些列方法,例如:馬爾科夫網
6、絡 條件隨機場(CRF)馬爾科夫邏輯網絡其中,馬爾科夫網絡是將馬爾科夫模型與一階邏輯相結合的產物。下面,我們將通過幾個關系預測和推理任務的例子,說明將 System 1 與 System 2 相結合。二、示例 1:半監督節點分類節點分類是一類非常標準的簡單任務。在圖 G 中,節點的集合為 V。V 是有標簽節點集合 V_L 和無標簽節點集合 V_U 的并集。X_v 是所有節點的特征的集合。在這里,節點分類任務指的是:給定一些帶標簽的節點 V_L,預測其余無標簽節點 V_U 的標簽。在統計關系學習領域中,條件隨機場是一種解決節點分類問題的標準方法。CRF 定義了所有節點標簽(y_v)的一個聯合分布
7、。我們通過能量函數定義如下的條件概率:其中,_(i,j)是定義在每條邊上的勢函數,y_i、y_j 分別代表節點 i、j 的標簽,x_v 代表圖中所有節點的特征。傳統的統計學習的優勢在于,它定義了所有節點標簽的聯合分布,可以建模不同節點之間的依賴關系。而其缺點在于:統計關系學習需要定義勢函數,因此引入了一些人為的干預。勢函數通常是較為線性的,其表征能力往往有限。推理過程非常復雜,難以在線性、樹狀結構之外的圖結構上進行推理。4 基于圖神經網絡(GNN)的方法如今十分流行,其本質思想是為每個節點學習出一種性能優異的表征,并基于這種節點表征進一步進行標簽預測任務。此時,我們通過神經信息傳遞(neura
8、l message passing)方式學習有效的節點表征。起初,每個節點的表征為其初始的節點特征。我們不斷通過各種一層或多層圖卷積網絡實現信息聚合,將節點鄰居與該節點的信息進行融合,從而更新節點的表征?;谶@種節點表征,我們可以進一步獨立地預測每個節點的標簽。圖神經網絡的優勢在于,我們可以學習到較為有效的節點表征。并且由于我們可以使用多層非線性圖卷積網絡學習節點表征,這種表征模型的表達能力是很強的。然而,圖神經網絡的缺點在于,當我們基于已經學習到的每個節點的表征進行預測時,每個節點是獨立的,并沒有建模節點之間的依賴關系。在 ICML 2019 上,唐建老師課題組與 Bengio 合作,提出了
9、圖馬爾科夫神經網絡。在這篇論文中,他們旨在將傳統的統計關系學習方法與圖神經網絡相結合,學習到性能較好的節點表征,并對節點標簽之間的依賴關系進行建模,從而發揮兩者的長處。類似于 CRF,我們首先對所有標簽 y_v 的聯合分布 進行建模,其中 x_v 是這些節點的特征集合。此時,我們的目標是通過最大化觀測數據的對數似然 的下界。而在實際學習模型參數 的過程中,由于我們只觀測到了部分的節點標簽 y_L,沒有標簽的節點此時都是隱變量,我們無法直接針對觀測數據的對數似然進行優化。在這里,我們采用變分方法,轉而最大化邊緣似然函數的下界(證據下界)ELOB:其中 是一個用于近似無標簽數據的后驗分布的變分分布
10、。具體而言,我們基于變分期望最大化(Variational-EM)算法來進行優化。在 E 步中,我們固定待學習的網絡 p_,更新變分分布 從而近似真實數據的后驗分布。其中 y_U 代表無標簽節點的實際標簽,y_L 代表有標簽節點的標簽,x_v 為節點的特征。在 M 步中,我們固定 q_ 更新 p_ 從而最大化前面提到的 ELOB。在 ELOB 中,與 無關,因此最大化 ELOB 相當于最大化。然 而,在 以 往 我 們 處 理 CRF 時,直 接 優 化 這 個 聯 合 似 然 函 數 也 是 十 分 困 難 的,因 為 勢 函 數 和其中的配分函數實際上是非常難以計算的。因此我們轉而優化下面
11、的偽似然函數:5 在計算偽似然的過程中,我們將原始的聯合似然分解為多個邊緣似然之和。對于每個節點來說,我們假設其鄰居節點標簽已知,我們利用其鄰居節點的標簽信息來預測該節點的標簽。那么我們如何通過圖神經網絡來定義其中的一些分布呢?在推斷的過程中,我們需要使用變分分布 q_ 來近似真實情況下的后驗概率 p_。在這里,我們用到了平均場方法。我們假設所有的隱變量(節點的標簽未知)都是獨立的,我們可以通過下面的方法將 q_ 的聯合分布分解為多個邊緣分布的乘積:其中,y_n 為圖上所有節點的標簽,x_v 為所有節點的特征。此時,我們可以通過圖神經網絡學習圖上所有節點的特征表征,對變分分布進行參數化:其中,
12、h_(,n)為節點 n 的表征。我們基于該表征來預測節點的標簽,本質上是使用圖神經網絡來做推理。在 M 步 中,我 們 的 目 標 是 最 大 化 上 圖 中 的 偽 似 然。我 們 可 以 使 用 另 一 個 圖 神 經 網 絡 對 進行建模,即給定某節點所有鄰居節點已知的標簽以及節點特征時,預測當前節點的標簽。上述的兩個圖神經網絡分別對應與推理(inference)與學習(learning)過程,它們通過 E 步和 M 步相互協作。其中,q_ 對應于推理網絡,旨在學習節點的表征,我們可以基于這種表征來預測每個節點的標簽,該網絡相當于 System 1;p_ 對應于學習網絡,旨在以鄰居的標簽
13、為條件,對節點標簽之間的依賴關系進行建模,該網絡相當于 System 2。這兩個網絡的學習過程是相互促進的,我們可以基于推理網絡為每個無標簽節點預測出一個標簽;基于學習網絡進行標簽的傳遞,更新無標簽節點的預測標簽,作為反饋/偽標簽提供給推理網絡(System 1),提升其訓練效果。6 圖 1:與傳統節點分類算法的性能對比。我們在一些標準的節點分類任務上將 GMNN 與傳統的統計關系學習算法(馬爾科夫邏輯網絡、關系馬爾科夫網絡等)和標準的圖神經網絡(圖卷積網絡、圖注意力網絡等)進行了對比實驗。實驗表明,由于 GMNN 結合了統計關系學習和圖神經網絡兩者的優勢,因此它在各項指標上都取得了最佳的性能
14、。三、示例 2:知識圖譜上的推理知識圖譜可以被表征為一些三元組的集合,每個三元組都代表一些事實。知識圖譜往往是不完全的,我們往往需要基于已有事實預測未知事實,這是一種標準的知識圖譜推理任務。在專家系統中,我們可以基于一些硬編碼的邏輯規則進行推理。然而,邏輯規則往往并不是完全對等的,我們需要在實踐中考慮邏輯規則而的不確定性。在傳統的統計關系學習領域中,馬爾科夫邏輯網絡完美地將概率圖模型與一階邏輯進行了結合,從而對邏輯規則的不確定性進行建模。例如,上圖中藍色的文字部分給出了三條邏輯規則,我們通過馬爾科夫邏輯網絡來學習每條邏輯規則的權重。在右側的馬爾科夫網絡中,每個節點是一個三元組伯努利隨機變量,不
15、同的事實通過邏輯規則連接在一起。這種馬爾科夫邏輯網絡定義了事實的聯合分布:其中 v_O 為觀測到的事實,v_H 為待預測(True/False)的事實,w_l 為第 l 條規則的權重,n_l(v_O,v_H)代表符合實際情況的邏輯規則 l 的數量,該聯合分布也可以表示為一個能量函數。馬爾科夫邏輯網絡的優勢在于:它可以通過邏輯規則利用領域知識,并對邏輯規則的不確定性建模。該網絡的缺點在于:圖結構較為復雜。推斷較為困難。由于邏輯規則并不能完全覆蓋所有的事實,因此召回率較低。在圖表示學習中,我們也可以進行邏輯推理。常見的方法為知識圖譜表示方法,旨在學習每個實體、關系的嵌入,從而預測缺失的事實(例如,
16、TransE、TransR、RotatE)。知識圖譜嵌入同樣也定義了所有事實的一個聯合分布,但此時我們認為所有的事實都是獨立的。我們將基于實體和關系的嵌入預測每個事實的真假(True/7 False)。其中 x_h 代表頭實體的嵌入,x_r 代表關系的嵌入,x_t 代表尾實體的嵌入。我們可以基于已有的知識圖譜嵌入技術定義一個距離函數來定義事實為真/為假的概率。在優化過程中,我們將所有觀測到的事實 V_O 當做正樣本,將未觀測到的事實 V_H 作為負樣本。使用知識圖譜嵌入的優點在于:優化時可以使用 SGD 和反向傳播技術,優化效率高。其劣勢在于:難以利用領域知識(邏輯規則)。四、示例 3:用于推
17、理的概率邏輯神經網絡在 NeurIPS 2019 上,唐建老師研究組提出了用于推理的概率邏輯神經網絡,希望將傳統的基于符號邏輯規則的方法與圖表示學習的方法相結合,從而同時通過邏輯規則利用領域知識,并學習較好的節點及關系表示,進行質效皆優的推斷。圖 2:pLogicNet 的網絡定義與學習方法。在這里,我們通過馬爾科夫邏輯網絡對事實的聯合分布進行建模,同樣也利用變分 EM 算法進行優化,通過最大化觀測事實對數似然的變分下界來進行學習。其中,是隱變量后驗分布的變分分布。圖 3:pLogicNet 的推斷過程在 E 步中,我們通過平均場變分推斷來近似真實的后驗分布。此時,我們假設所有的事實都是獨立的
18、,因此可以將這個聯合分布分解為每個事實的邊緣分布的乘積。我們使用知識圖譜嵌入技術,利用實體和關系的嵌入預測每個事實的真假。8 圖 4:pLogicNet 的學習過程。在學習過程中,我們同樣選擇優化偽似然函數,其優化過程與上文所述的馬爾科夫邏輯網絡相同。在 M 步中,我們旨在學習每個邏輯規則的權重。因此,在 pLogicNet 中,我們也是通過 EM 算法框架來優化馬爾科夫邏輯網絡與知識圖譜嵌入。在這個框架中,知識圖譜嵌入對應于 System 1,其計算過程是較快的,我們可以基于實體和關系的嵌入快速預測事實的真假。當我們擁有了事實的預測結果后,可以將其提供給馬爾科夫邏輯網絡。當我們想預測某一個未
19、觀測過的事實的真假時,首先可以基于知識圖譜嵌入技術預測事實的真假,然后將 System 1 的預測結果輸入給馬爾科夫邏輯網絡進行進一步的推斷和修正。之后,我們將馬爾科夫邏輯網絡的預測結果反過來又作為偽標簽輸入給知識圖譜嵌入系統,使其學習到更好的嵌入,以此循環往復,直到收斂。圖 5:通過算法框架來進行優化我們在知識圖譜推理的一些對比基準上進行了實驗。在實驗中,我們使用了合成規則(composition rules)、逆向規則(inverse rule)、對稱規則(symmetric rule)、子關系規則(subrelation rule)這四種邏輯規則。我們將 pLogicNet 與知識圖譜嵌
20、入、基于符號邏輯規則的方法進行了對比,由于我們的方法結合了前兩者的優勢,因此獲得了更好的性能五、ICML 2020 Workshop在 ICML 2020 上,唐建老師團隊聯合 Yoshua Bengio 舉辦了名為Bridge Between Perception and Reasoning:Graph Neural Networks&Beyond的 workshop,具體時間為 2020 年 7 月 18 日。感興趣的讀者可以通過鏈接(https:/logicalreasoninggnn.github.io/)在線觀看。9 結語總而言之,System 1 是相對無意識的、運算較快的系統,對
21、應于快速思維過程;System 2 更多地涉及到邏輯推理、規劃等復雜任務的推理,因而是較慢的思考過程。System 1 和 System 2 可以相互促進,相互學習。我們可以基于 System 1 做出快速反應,為 System 2 提供較為初始的預測。System 2 再基于這些初始的預測結果與邏輯規則、領域知識進行更加復雜的思考,將這些推理的結果作為反饋、偽標簽作為額外的監督信號提供給 System 1,從而訓練出更好的 System 1。圖 6:System 1 與 System 2 的融合方法在本文中,我們主要以關系推理為例,介紹如何將這兩套系統進行融合。首先,在節點表示學習任務重,我
22、們使用圖神經網絡學習到較好的節點表征,再利用另一個圖神經網絡學習節點標簽之間的依賴關系,以上兩個圖神經網絡可以相互學習。此外,在知識圖譜上的關系推理任務中,我們介紹了如何將知識圖譜嵌入與傳統的基于符號邏輯規則的推理相結合。10 中科院研究員沈華偉:圖神經網絡的表達能力整理:AI 科技評論在第二屆北京智源大會“圖神經網絡”專題論壇上,中科院計算所沈華偉研究員做了圖神經網絡的表達能力的報告。在報告中,沈華偉老師提到:這幾年,雖然圖神經網絡在其他領域大量應用,但“內核”仍然停滯不前,目前設計新圖神經網絡(GNN)的兩種常用方式都在面臨理論上的瓶頸。沈華偉老師還對近幾年圖神經網絡表達能力的相關研究進行
23、了梳理,他說:“GNN 出現的早期,大家對它表達能力的認識是基于其在半監督學習,尤其是節點分類任務上的優秀表現,一些應用向的研究也只是對圖神經網絡表達能力經驗上的證明”?;谶@個認知,在介紹完圖神經網絡的基本知識之后,沈華偉老師對圖神經網絡的表達能力給予了理論上的介紹。以下是演講全文。圖神經網絡過去幾年炙手可熱,也取得了一系列的突破,但是這兩年發展進入了相對停滯的狀態。當前更多的研究員是把圖神經網絡當做一個工具,也即把圖神經網絡泛化到其他領域進行應用方向的研究。例如早期圖神經網絡在節點分類、鏈路預測以及圖分類上取得了一些進展之后,很快就用在了其他領域,包括推薦領域、自然語言處理領域等等。其實,
24、圖神經網絡“內核”仍然停滯不前。為什么呢?因為在設計新 GNN 的時候通常有兩種方式:一是經驗性的直覺,二是試錯。而這兩種方式都會面臨理論上的瓶頸。另外,如果只靠試錯,那么 GNN 和深度學習就會同樣存在是否“煉金術”的質疑。那么 GNN 帶來的提升究竟來自哪?2019 年時,ICLR 發表了題為How powerful are graph neural networks的文章,掀起了對 GNN表達能力的討論。一、GNN 表達能力的經驗性證明我們今天報告的主題也是討論 GNN 的表達能力,看看它到底有什么特色以及限制。在 GNN 出現的早期,大家的認識是基于其在半監督學習,尤其是節點分類任務上
25、優秀的性能表現,其中以GCN(圖卷積網絡)為代表。隨后,就有研究員將 GNN 強大的表達能力用在了推理、認知等領域,更有研究員用在了量子化學領域。11 例如一個水分子式 H2O,它能告訴我們水分子里面有兩個氫,一個氧,此表達方式和自然語言處理里面的 TF-IDF 是一樣的,能夠看出“詞”出現的頻次,但沒有包含結構信息。而化學分子式另一種表達,畫出結構圖的模式相當于把分子結構給理清了,于是,研究員開始思考,這“結構圖”是否比原來“頻次”方式有更好的表達能力,如果有了表達能力,那能否用包含結構、包含節點的方式對分子式的化學特性進行預測。如果能,表達能力自然得到了證明。GNN 方法對比傳統密度泛函的
26、分析方法,在算力方面有大幅度的節省。畢竟,密度泛函的分析用模擬的方式進行計算,通常需要高性能計算機進行操作。在現實情況中,GNN 確實做到了化學精度以內的預測,用的就是message passing GNN 的方式。所以,如果能用 GNN 直接擬合一個模型,從而對任意一個新的分子進行性能預測,自然就體現出來了 GNN 的表達能力,但這只是經驗性表達能力的認識。另外,在自然子刊上,也有一些用 GNN 建模預測的文章發表,例如預測玻璃的動力學特點、預測地震等等。這些案例也都是對 GNN 表達能力提供了經驗性的認知,我們接下來想從理論的角度討論 GNN 的表達能力。二、GNN 基本知識介紹一下基本的
27、知識,GNN 的輸入是一張圖,圖中有節點集合,參數包括 V、E、W、X 等。GNN 早期典型的兩類任務是節點分類和圖分類,在節點分類任務中,GNN 的目的是訓練得出網絡當中節點的表達,然后根據節點的表達進行下游的任務;在圖分類任務中,GNN 的目的是要訓練得到圖的表達,有了圖表達之后再對圖做分類。在這兩個典型的任務中,目前 80%、90%的工作都傾向于節點分類,只有少數是圖分類。關于 GNN 的標準框架,目前用得比較多的是 Aggregate+Combine,此框架比較靈活,圖分類任務和節點分類任務都適用,其策略方式是通過迭代,用鄰居的表示迭代更新自己的表示。策略一共分兩步,第一步是聚合鄰居信
28、息;第二步是把鄰居信息和自己上一輪的信息進行耦合。下面舉幾個這種框架的例子,第一個是 2017 年提出的 GraphSAGE,其操作是把鄰居的表達進行變換之后,取里面最大的一個賦給自己,然后再把學到的表達和自己上一輪的表達做整合,隨后得到新的表達。值得一提的是,GraphSAGE 用了 Max-pooling 的方式,此方式限制了他的表達能力,是導致表達能力喪失關鍵的一步。GCN 的表達方式直接,將鄰居進行特征變換,然后按照矩陣規劃進行傳遞,它的特點是把 AGGREGATE 和COMBINE 兩個操作進行了整合。值得注意的是,GCN 采用了 Mean-pooling 的方式,此方式也限制了它的
29、表達能力。另外,GCN 的改進版是 GAT,其采用的方式是 weighted mean pooling。三、圖神經網絡的表達能力如何前面是關于圖神經網絡基本介紹,現在回到今天的主題:圖神經網絡的表達能力。我們先討論 2019 年發表在ICLR 上的How powerful are graph neural networks。首先明確什么是表達能力,所謂表達能力一般有兩個方面,第一個方面是表示的空間大小,例如,一個 N 位的 12 二進制能表達 N 的二次方個數。這種表達能力旨在表示多少不同的東西,不同的結果。第二個方面是關于近似能力。例如設計一個神經網絡能夠近似什么樣的函數。值得一提的是,在
30、1989 年的時候就有了證明:神經網絡的層次只要足夠深,就可以逼近任意連續函數。這個“萬能近似定理”也解釋了為什么深度學習從來不擔心表達能力的原因。但是 GNN 提出之后,深度學習表達能力的話題又被提起,2017 年有研究員發現深度學習的表達能力和深度神經網絡的層次是指數關系,假如網絡有 D 層,那么表達能力與“某個數”的 D 次方成正比,大家感興趣可以看相關的論文。圖 1:1-layer GCNGNN 引進之后,對于表達能力有什么樣的啟示呢?如上述左圖所示,如果不看結構,節點的標號標 1 還是標 2是區分不開。如果想區分這個不同的“標號 1”,需要觀察標號的鄰居,可以通過鄰居信息進行區分。G
31、CN 可以把鄰居信息進行聚合,提升區分節點的能力。如上圖左下所示,在一層 GCN 操作完成之后,已經可以區分一些標號,但左下圖四個“標 3”的點還是區分不出來。13 圖 2:2-layer GCN所以,一層 GCN 區分能力并不夠,那能否通過加深層次解決表達能力呢?兩層 GNN 之后,如上圖所示,變成了八個點,并可以完全區分開。所以,如果用兩層 GCN 對上述節點進行分類,無論 Label 標記成何種方式,GCN 的表達能力都能滿足分類要求。上面是兩層 GCN 完全可以區分的例子?;氐絼偛诺膯栴},把 GNN 加深就一定能把表達能力做上去嗎?也就是說,我們能不能通過深度實現無窮大的表達能力?20
32、19 年那篇 ICLR 文章回答:不可以!上面是節點的角度,下面從圖的角度進行討論,也即如果把不同的圖做成一個表示,GNN 表示圖的方面表達能力如何。這里有兩個關鍵因素,一個是節點的特征,一個是圖的結構,節點的特征剛才已經講過了,如果把節點做深度神經網絡,已經可以幫我們解決掉表達能力問題。14 圖 3:通過 GCN 區分有機化學分子式所以,另外一個表達能力的限制就來自于圖的結構。下面看兩個簡單的例子,左上角的圖都是 24 個碳原子,有兩個有機化學的分子式:左邊的結構是兩層,一層12 個碳,24 個碳分成平行的兩層,都和自己的鄰居相連。右邊圖是 24 個碳結構變成一個正球體,每個面都由五個碳構成
33、。這兩個結構,人一眼就能看出它倆的不同,但是 GCN 無法區分,即使把層次加深到無窮多層也區分不了它倆。即使簡化成左下角兩個更加簡單的圖,GCN 也區分不出來。所以,這給出的啟示是:通過提升 GCN 的深度來提升圖的表達能力,是無法做到的。圖 4:Example:similarity measurement 15 那么它 的表達能力受限在哪兒?既然是圖的結構相關,那我們就想到可以采用 WL-test,對兩個圖是否同構進行測試。WL test 的主要是通過聚合節點鄰居的 label,然后通過 hash 函數得到節點新的 label,不斷重復知道每個節點的 label 穩定不變。穩定后,統計兩張圖
34、的 label 的分布,如果分布相同,則一般認為兩張圖時同構的。所以,WL test 遞歸聚合鄰居的方式和 GNN 類似,都是一個遞歸地來更新自己的特征,只不過更新的方式,WL test 做了一個單射函數,但是 GNN 用的聚合函數,無論是 Max、Mean 還是 Sum,大部分情況下都不是單射的。也就是說 GNN 非單射的聚合方式,把原本不一樣的東西聚合后變得一樣了,這讓 GNN 喪失了表達能力。更直白一些,WL Test 是一個單射函數,GNN 不是單射函數,于是 WL Test 為 GNN 的表達能力提供了一個理論上的上界。(注:這里 GNN 說的是通過鄰居聚合,如果別的聚合方式,性能可
35、能超過 WL test 的)為什么當前流行的 GNN,例如 GCN、GraphSAGE 為什么不是單射呢?原因有兩個,一個是每層做特征變換做得不夠;另一個是,這些圖神經網絡用的聚合函數天然具有單射屬性。所以,在論文How Powerful are Graph Neural Networks中,作者提出來了新的圖模型 GIN(Graph Isomorphism Network),其中 I 表示圖同構,關鍵思想是構建了一個單射函數。有了單射函數,GIN 也達到了和 W L test 類似的表達能力,達到了圖神經網絡表達能力的上界。后來作者對 GIN 模型的表達能力進行了驗證,具體是用數據的擬合能力
36、進行測評,驗證思想是:如果表達能力足夠強,那么數據集上的每個數據都能精確擬合。驗證結果確實符合作者的預期,通過構造一個單設的聚合函數,能夠實現和 WL Test 一樣的表達能力。那么,泛化能力如何呢?也即在 Test Loss 表現如何呢?這里有一個直觀上的事實是,如果 Training Loss 做得不好,那么 Test Loss 表現也不會好,畢竟 Train 是 Test 的基準,另外,如果訓練集上表現非常好,而在測試集上表現非常差,那么就出現過擬合現象,沒有泛化能力了。提出 GIN 的作者也在論文中證實了,GIN 在表達能力上很強,但是在其他任務上,泛化能力還不如表達能力差的模型,如上
37、圖 GIN 在幾個數據集上的表現。所以,這給圖神經網絡帶來的啟示是:高的表達能力,并不總意味著對下游任務友好,但是低表達能力總是不好的。綜上,我們還是希望構造出一個強表達能力的圖神經網絡,這是當前學界研究員的共識??偨Y一下 ICLR 2019 那篇論文的工作:首先 GNN 在理論上有一個表達能力的上界,這個上界是 WL Test;為什么是 WL Test?因為它的聚合函數是單射;同時這篇論文又提出了 GIN 這一有著單射聚合函數的圖神經網絡,并對其表達能力進行了驗證。四、待討論問題:圖神經網絡的前沿那篇文章在 2019 發表之后,引起了很大的關注,其實后來有很多人進行了討論,我把這些問題拋在這
38、里,大 16 家討論一下。第一個問題,高的表達能力,到底是不是必要的,我們有沒有必要構造出這么高表達能力的圖神經網絡?我們能否做出一個通用的極強表達能力 GNN,然后再也不用考慮表達能力這個問題了?我們現在并沒有得到這個問題的答案。對于節點分類,基本上可以提供 universal approximitor,對于圖分類無法做到,不僅做不到,而且有些場景下表現還特別差。那么,對于特殊的任務,我們有沒有必要構造出高表達能力的東西呢?前面提到,如果表達能力很差,泛化能力肯定不好,表達能力好的,泛化能力也未必好。這在一定程度上也解釋了為什么 GNN 和 GraphSAGE 聚合函數不是單射,表達能力有限
39、的情況下,為什么還能在一些任務上表現非常棒。在一些場景下,GNN 的大部分表達能力其實用不上。我們真正需要什么呢?我們需要的是它可以把相似的對象,例如相似的節點和圖映射成相近的表達。那么問題又來了,用什么衡量是否相似?所以就有很多度量兩個圖是否相似的工作。另外,判斷一個復雜對象,能不能分解成簡單對象進行表達這也是個值得探討的問題。第二個問題,關于結構。其實我們都希望 GNN 學到結構,大家研究 GNN 這幾年,也都明白了 GNN 在結構上無能為力,只是用結構進行了約束,做了平滑。舉例而言,什么是一個好的圖表達?假設一個分子結構圖里面有一個苯環,能不能把這個分子式分成苯,還是說分子式中有很多苯環
40、的情況下,才能分成苯。這個問題的本質,其實在回答我們做的是信息抽取還是相似性度量。如果想做信息抽取,也就是想識別出分子式里面有沒有苯結構,現在的 GNN 做不到這一點,或者必須再設計一些別的方式才能達到。所以,這兩年大家一直在思考,GNN 研究的是模式識別,還是說只是圖相似性的度量方式。第三個問題,能不能構造一個更強大的 GNN 呢?也即表達能力更強大的 GNN?關于表達能力,一階 WL Test已經在理論限制突破能力。這兩年大家更多的研究方式是把常用的 1 階 WL Test 拓展成 K 階,所以就有了KGN 的方式。在這樣 K 階的 WL Test 方式下,表達方式已經突破 1 階的能力,
41、但是成本也比較大,因為需要處理的對象增加了很多。這種方式給大家起了拋轉引玉的作用,給提升 GNN 表達能力提供了一種思路。但是這種把所有可能都列出來的方式并不是我們所需要的,我們想要的是一個 layer-by-layer 的網絡,也即如果網絡每一層非常簡單,層次的堆疊是逐漸提升的,然后獲得一個更強大的表達能力。所以,layer-by-layer 網絡也是未來幾年大家應該去探索的一個問題。所以現在我把這個問題拋出來了,你能設計一個這樣 layer-by-layer 的網絡,從而獲得一個比 GNN 更強大的表達能力嗎?17 微軟高級研究員熊辰炎:圖神經網絡在信息檢索等領域的應用整理:智源社區 熊宇
42、軒對于許多信息檢索和知識圖譜研究者來說,究竟應該使用抽象的結構化信息進行表示學習還是使用海量的文本信息始終是一個富有爭議的話題。在本屆智源大會上,來自微軟研究院的高級研究員熊辰炎博士帶來了題為“利用半結構化知識的表示學習與信息檢索”的主題報告,結合其近年來在 ICLR、ACL、WebConf 上發表的相關工作,介紹了如何從半結構化知識的視角同時利用符號知識與純文本信息,從而提升表征性能與效率。盡管本次演講的標題中沒有圖神經網絡等字眼,但其內容都圍繞圖神經網絡展開。本次演講將側重于實際的問題、知識、工業界常用任務中的半結構化數據,探討如何利用圖神經網絡對半結構化數據進行表示學習,以及如何使用較為
43、統一的框架解決實際中的問題。演講正文:本次演講的內容主要分為兩部分,首先,我們將從統一的半結構化的視角討論知識圖譜以及各種信息檢索任務(例如,問答系統、事實驗證、假新聞檢測、信息搜索);接著,我將介紹我們近期提出的一種 Transformer 模型,它能夠整合各種不同任務的信息,并學習其表征,從而完成這些任務。一、知識和信息檢索任務的半結構化視角圖 1:符號知識 V.s.自由的純文本信息在知識工程與自然語言表征學習領域,往往有兩種對信息建模的視角。首先,對于許多任務來說,我們擁有的是結構化的數據(即符號化的知識),知識圖譜就是其中一種形式。例如,圖中每個節點都是一個命名實體,實體之間的邊代表關
44、系。另一方面,在有的任務中,信息則存在于原始的純文本之中。18 這兩種建模信息的方式各有千秋。一方面,結構化數據十分干凈而精確,數據十分規整,我們可以在這種該結構化數據上進行各種推理,或者基于它們開發一些可執行的程序(如 SQL 查詢,或圖數據庫的查找或搜索)。然而,構建結構化數據的成本是很高的,并且現實世界中的一些信息也很難被表示成這種規整的結構。而對于純文本信息來說,可以使用的語料的數據量往往非常大,我們可以利用各種自然語言處理(NLP)技術處理這些文本(例如,信息提取、文本表征)。然而,純文本信息往往不夠精準,存在各種噪聲,其結構也不太明顯,這不利于我們進行后續的操作。圖 2:半結構化信
45、息我們認為,許多信息處于結構化數據與純文本數據之間,我們將其稱為半結構化數據。舉例而言,對于知識圖譜來說,我們可以對知識圖譜進行一定的松弛(例如,用某些純文本作為邊)。而對于文本信息來說,文檔之間可能存在各種各樣的關系,我們可以將這些文檔作為圖譜中的各個節點,用各種關系邊將它們相連。如上圖所示,1 4 展示了我們如何一步步將結構化符號信息松弛為純文本信息的層次化過程。二、Free-Text Knowledge Graph如今,研究人員開發了各種各樣包含大量優質信息的知識圖譜(例如,Freebase、WikiPedia)。然而,真實場景下有很多并不完全針對這些知識圖譜設計的實際問題,我們應該如何
46、將這些知識圖譜應用于這類問題呢(例如,將知識圖譜引入網頁搜索引擎,從而提升文檔排序的性能)?實際上,要實現這一目標仍然存在許多挑戰,其中最主要的一個挑戰是:由于進行信息提取和知識圖譜擴容是相對困難的,因此其召回率往往較低。例如,某系統中僅僅 1%的流量數據可以被知識圖譜中的邊覆蓋,無論我們在 1%的流量上執行某任務的效果有多好,其對整體系統的影響仍然十分有限。盡管如此,我們發現知識圖譜對于命名實體(通常為節點)的覆蓋率仍然是很高的。2015 年,我在一個實際的網頁語料庫上使用各種實體鏈接,從而觀察每個查詢或文檔中包含多少個實體。實驗結果表明,在大約只有 2-3 個詞的查詢中,平均覆蓋了高達 1
47、.5 個實體;而在大約有 500 個單詞的文檔中,平均覆蓋了 19 約 252 個實體。幾乎所有的查詢、文檔都包含至少一個實體。當我在 Allen 人工智能研究院實習時,我也對其 SemanticScholar 的查詢上使用了實體鏈接,我驚訝地發現有高達 70%的學術搜索查詢在 Freebase 或 WikiPedia 這種非學術的通用知識圖譜上有相對應的實體。此外,從新的文本中抽取出實體也并非十分困難。例如,新冠疫情爆發后,學者們發表了大約 10 萬篇相關的醫學論文,我們直接將基于 BERT 的關鍵詞標注器(并未在醫學領域上進行預訓練)應用于跨領域、零樣本的關鍵詞抽取。實驗結果表明,該關鍵詞
48、標注器確實能夠抽取出重要的關鍵詞。圖 3:覆蓋關系更為困難然而,覆蓋關系(知識圖譜中的邊)相較于覆蓋實體來說要更為困難,對邊的召回率往往要低一些。Google 研究院在 Knowledge Vault 上的實驗表明,其使用的本體非常多,其關系邊的數目也很多,但是其邊的類型相較于 Freebase 并沒有改變(仍然為 35,000 種邊),這是因為定義邊的關系類型是十分困難的。圖 4:關系符合長尾分布在許多實際問題中,實體之間的關系實際上滿足具有嚴重長尾效應的分布。如上圖所示,在實際的視覺問答系統數據集中,左側的實體The little street是一幅畫,畫的內容是右側荷蘭小城 Delft
49、的街景,這兩個實體在維基百科中都可以很容易找到。但是,此時我們希望識別這兩個實體之間的關系(paints the view of),并用資源描述框架(RDF)將其記錄下來。20 圖 5:關系構建的處理流程為了構建一個可以覆蓋該關系的知識圖譜,我們需要即熟悉 RDF 的模式,又了解藝術的本體學家(Ontologist)來定義該關系,而這種人才往往很稀缺。接著,我們需要通過信息提取技術從純文本中抽取出相應的(實體、關系、實體)三元組,而能夠順利通過上面提到的整個處理流程的關系實際上并不多。圖 6:Free-Text 知識圖譜實際上,這里的純文本本身就存在于維基百科或其它語料庫中,上述復雜的處理流程
50、費時費力,不一定能夠滿足一些具有時效性的任務的需求。因此,我們考慮跳過上述流程中的一些步驟,不再要求邊是規整的關系,轉為使用各種半結構化的邊(句子)。近年來,許多知識圖譜領域的研究者們認為整個互聯網就是我們的知識庫,這種半結構化的思想在近期發表的一些論文中也有體現。因此,要構建這種 Free-Text 知識圖譜,我們首先找出已有的實體,然后在網頁語料庫中使用實體鏈接,將所有包含該實體的句子抽取出來,基于這些句子和實體連成一張圖,從而提升關系的召回率。由此得到的圖是覆蓋率非常高的密集圖。21 圖 7:在問答系統數據集上的 Free-text 知識圖譜的覆蓋率針對 qbLink 數據集,我們在 D
51、Bpedia 知識圖譜上從核心實體開始,沿著其邊游走,我們發現在 2 步之內有 38%的概率找出對應的答案,我們可以將 38%看做僅僅使用 DBpedia 這種基于純結構化數據的知識圖譜時所能達到的覆蓋率上限。而如果我們將句子作為圖譜中的邊,那么有 80-90%的答案可以被找到,此時召回率明顯提升。然而,此時圖的規??赡軙浅4?,噪聲非常多,與每個實體、答案相連的邊數會顯著增長,而其中可能存在大量無效的路徑。此外,每條邊可能對應于很多的句子,而這些句子可能良莠不齊。因此,我們雖然突破率覆蓋率的瓶頸,但是引入了更多的噪聲。幸運的是,我們可以使用圖神經網絡很好地處理這些信息,具體處理方式將在后半段
52、演講中介紹。如何設計模型從這種噪聲較大的圖中提取信息是一個有待研究的方向。如圖 2 中第 2 步與第 3 步所示,這種半結構化的形式化定義的適用范圍非常廣泛。例如,在事實驗證和假新聞檢測任務中,我們需要根據語料庫(如維基百科)中的文檔和段落(證據)驗證聲明(claim)的真實性,給出真(support)、假(Refute)、信息不足無法驗證(Not Enough INFO)其中的一種結果。該任務可能需要綜合考慮多篇文檔的信息,因此對于該任務而言,我們可以將聲明與純文本證據作為 Free-Text,將語料庫中的證據之間的推理鏈條、共現、超鏈接、指代關系等作為結構關系,從而構建半結構化數據。22
53、圖 8:文檔排序問題在搜索引擎的文檔排序問題中,當我們輸入一條查詢時,搜索引擎會檢索出若干文檔,我們需要在語料庫中找到這些文檔并對它們進行排序,輸出一個排序得分。此時,在構建半結構化數據的過程中,我們可以將查詢與文檔作為 Free-Text,而將文檔內部的層次化語法結構、文檔之間的關系(相似、全局相關性等)作為結構關系。在多跳問答系統中,我們需要利用多種樹狀結構、鏈式結構的信息作為證據。在構建半結構化數據時,我們使用不同文本之間隱含的推理關系、超鏈接、相關性作為結構關系。三、Transformer-XH為了統一地解決面向半結構化數據的任務(QA、文檔排序、事實驗證等),我們可以使用 Trans
54、former 類模型(如圖注意力網絡 GAT、BERT 等)對這種半結構化數據進行建模。在多頭注意力機制中,對于節點、單詞等表征,我們通過注意力機制來更新它們,得到更復雜、能夠表達全局語義的信息表征形式。對于每一個注意力層而言,面對從下一層輸入的表征,用查詢權值矩陣、鍵權值矩陣、值權值矩陣與該輸入相乘,再將這種投影作為查詢向量、鍵向量、值向量。當網絡對某個單詞進行表征時,會使用該單詞的查詢向量 q_i 與每個單詞的鍵向量 k_j 相乘得,再對其乘積進行 softmax 操作得到加權和為 1 的注意力得分,用該得分將所有單詞的值 v_j 結合在一起,用最后計算的結果更新該單詞的表征。這種自注意力
55、機制是非常普適的。例如在 GAT 中,我們會沿著已有的圖中的邊,構建注意力路徑,對節點之間的關系進行建模;對于 BERT 而言,我們可以將其視作一個全連接的詞袋圖。23 圖 9:Transformer-XH:eXtra-Hop Attention在我們于 ICLR 2020 上發表的論文Transform er-XH:Modeling Semi-structured Information with eXtra-Hop Attentions中,我們用 Transformer 類的模型(如 BERT)生成文本塊的表征嵌入,再用 eXtra-Hop 注意力將這些文本的嵌入聯系起來。這相當于一個雙層
56、結構,在每一個文本內部,我們使用全連接的 GAT 對每個詞之間的關系建模,而在不同的文本序列之間,我們也會利用 eXtra-Hop 注意力建立與 GAT 相類似的注意力路徑,這是一種 Transformer(BERT)+GNN 的模式。圖 10:Transformer-XH 的形式化定義對于文本序列節點 d_1,.,d_ ,.,d_ ,我們會用一些鄰接矩陣記錄將這些文本序列連接起來的邊,該模型旨在綜合考慮各節點、各文本序列之間的信息,輸出每個節點上的表征。該模型與普通 Transformer 的區別在于,我們用 表示某一個文本序列的編號,每個文本序列獨立使用一套查詢、鍵、值投影矩陣。此外,我們
57、還將每一個文本序列第一個位置上的特殊標記 CLS 作為注意力中心(attention hub),將其與其它文本的注意力中心通過 eXtra hop 注意力相連。通過以上機制,我們可以同時考慮本文序列內部各詞例(token)之間的關系表征,以及其它文本序列的 CLS 的信息表征,對這兩部分表征進行連接(concatenate)后再對進行線性投影。24 圖 11:使用多文檔信息提取答案區間(answer span)在具體的多跳 QA 任務中,針對上圖黃色方框中的查詢,我們檢索出了若干文檔,沿著維基百科的超鏈接擴展出相應的文檔節點。接著,我們整合所有文檔的信息,通過 Transformer-XH 得
58、到表征,將其表征用于提取答案區間。具體而言,我們會在 Transformer-XH 的最后一層后面接上一個閱讀理解(MRC)任務常用的預測層,用于預測答案區間的開始于結束位置。在進行事實驗證時,針對一個聲明(claim),我們檢索出與其相關的若干文檔,通過與提取答案區間任務中相似的方式生成文檔表征。針對這一任務,我們預測每個文檔起始位置節點 CLS 的標簽,作為節點級別的分類概率。接著,我們學習出各 CLS 節點的權重,對它們進行加權平均,從而完成事實驗證任務。因此,對于面向半結構數據的任務而言,底層的表征模型都是類似的,都需要將詞、關系輸入到基于注意力的表征模型中,而我們重點關注的是上層針對
59、特定任務的層如何設計。Hotpot QA 是由 CMU、MILA 等單位發布的針對多跳問答系統開發的數據集,旨在向亞馬遜的眾包土耳其機器人提供兩個段落的文本,要求他們寫出一些需要利用這兩個才能回答的問題,而最后確實有大約一半的問題需要用到多個段落的信息。25 圖 12:在 Hotpot QA 數據集上的實驗結果相較于使用純粹的基于 GNN(將每個文檔的嵌入輸入到 GNN 中)或 Free-text(進行精準化的文本檢索,將檢索結果連接在一起,輸入到 BERT、RoBerta 等模型中進行閱讀理解)的模型,我們提出的 Transformer-XH 是一種更為簡單的模型,它將原始的半結構化數據作為
60、輸入,從而得到目標表征,Transformer-XH 最終的性能效果往往更優。圖 13:結構對模型性能的影響;使用不同文檔圖結構時的性能對比如上圖所示,相較于我們提出的模型(深藍色),當我們使用獨立的節點(橙色)時,模型性能幾乎減半。當我們使用錯誤的結構(淺藍色,如鏈式關系)時,性能相較于使用獨立節點的情況甚至更差。這說明,正確的結構信息缺失對于提升模型性能很有幫助。此外,對于 Hotpot QA 數據集而言,由于其保證在寫問題時的兩個真實段落之間必定存在維基百科中的鏈接,26 因此維基百科中的信息對其性能的影響十分巨大。但是,當使用我們的 Transformer-XH 時,我們甚至可以不使用
61、維基百科的信息,即使使用一個全聯通的圖進行學習就可以得到與使用維基百科時相近的結果。因此,我們的方法可以自動推斷出邊的重要性。在圖神經網絡中,每一層中的節點可以聚合其鄰居節點的信息(一跳),而網絡的層數決定了每個節點可以聚合信息的范圍。實驗結果表明,當我們使用三層 Transformer 的注意力機制時,模型性能最優。這是因為 Hotpot QA 大多數是 2 跳的,當網絡層數繼續上升時,往往難以進行學習。圖 14:全聯通狀態下不同節點之間的注意力權重在這里,我們考慮三種節點之間 的連邊:(1)任意兩個文檔之間的邊(2)所有節點與實際包含答案的節點相連的邊(3)包含關鍵信息的節點到包含答案的節
62、點之間的邊。如上圖所示,當使用一跳信息時,注意力權值的概率密度分布近似為均值為 1 的較為集中的瘦高高斯分布;當使用兩跳信息時,概率密度分布變得較為矮胖,模型可以將邊的重要性區分開來。由于我們希望 Transformer-XH 能夠從文章中提取出有助于確定答案區間的信息,所以我們最關注紅色的實線。而在使用三跳信息時,紅色實線的值相較于另外兩種邊確實越來越大,說明 Transformer-XH 確實能夠學習到推理的關系。四、結語綜上所述,對于知識圖譜、語義信息的處理,以及一些現實中的信息檢索任務都可以看做是一種針對半結構化數據的問題。如何結合結構化符號知識與純文本信息這一問題仍然有很大的研究空間
63、。我們可以用 Transformer、BERT 等模型對半結構化數據進行建模和表征(在文本節點內部運用 BERT 的思想,在文本節點之間運用 GAT 的思想),針對具體的任務設計后續的網絡層。27 中科大教授何向南:圖神經網絡在推薦系統的前沿研究整理:智源社區 高洛生推薦系統中用戶和物品之間的交互、物品知識圖譜、用戶社交網絡等數據可以天然地表示成圖。受益于圖神經網絡在圖數據上進行表示學習的優勢,近年來圖神經網絡推動了推薦系統技術的發展。近期,在第二屆智源大會的“圖神經網絡專題論壇”中,何向南教授針對這一進展做了主題為“圖神經網絡在推薦系統的前沿研究”的報告。何向南教授首先介紹了推薦系統的背景,
64、以及將圖神經網絡和推薦系統結合在一起的初衷;隨后,他從建模的角度介紹了他們團隊在圖神經網絡方面所做的一些工作,并就如何從學習的角度對推薦場景下的圖卷積網絡進行更好優化進行了闡述。何向南,中國科學技術大學教授、博士生導師,國家青年千人計劃學者。主要研究方向:推薦系統、數據挖掘。在 CCF A 類會議和期刊發表論文 80 余篇,谷歌學術引用 5300 余次,包括國際頂級會議 SIGIR、WWW、KDD和頂級期刊 TKDE、TOIS、TNNLS 等;長期擔任這些會議和期刊的審稿人,CCIS 2019 的程序委員會主席,AI Open 期刊編委。研究成果曾獲 SIGIR 2016 最佳論文提名獎、WW
65、W 2018 最佳論文提名獎等,主持國家基金委面上項目 1 項,重點項目 1 項。一、推薦系統與圖神經網絡的淵源如今人類正處于一個信息大爆炸的時代,每天都有海量的信息等待人們挖掘,從中找到有價值或感興趣的信息。例如,微博每天有超過五億條博文,Flickr 每天有三億張圖片,快手每天上傳超過兩千萬個短視頻。這就導致,最近幾年在信息檢索和挖掘領域,推薦的熱度已經超過搜索;在各類學術會議中,推薦方向的文章數量已經是搜索方向的兩倍以上。圖 1:推薦系統示意圖推薦系統最基本的技術是協同過濾技術。協同過濾技術指,若給定一個用戶與物品的歷史交互,則希望可以預測在未來該用戶與商品產生交互的可能性。其基本假設是
66、基于相似的用戶可能會對相似物品產生相似的喜好。28 早期的協同過濾方法主要是通過手算相似度,然后對相似度進行融合。最近十年,推薦的主流方法則是在隱空間中學習用戶的表示,然后在隱空間衡量相似度。早期工作在對用戶或者物品進行表示學習時,使用的是用戶 ID 或者物品 ID,建模單個用戶和物品之間的交互。然而,研究人員逐漸發現,用一個用戶的歷史數據作為該用戶的特征或將物品與歷史用戶產生的交互作為該物品的特征,然后進行表示學習,也會得到不錯的效果。這相當于在圖數據上,早期的工作是考慮一個單獨的節點進行表示學習,現在則是將其鄰居節點也考慮進來。圖 2:協同過濾技術的演化二、從建模的角度看圖神經網絡在推薦場
67、景下的協同過濾2.1神經網絡協同過濾技術 NGCFNGCF 的主要想法是將用戶與物品之間的交互建模成二分圖,并在該二分圖上通過高階連接性建模協同過濾的信號。高階連接性的意思是指對于節點 u1,任何可以到達的其他節點,其路徑長度需要大于 1。以往大部分的協同過濾方法都沒有考慮高階連接性,僅通過用戶 ID 和歷史記錄來表示用戶,這導致并沒有顯示的表明用戶與物品之間的高階連接性。NGCF 的工作則可以在模型層面顯示的建模用戶和物品的高階連接性,從而學習到更好的用戶和物品的表示。具體而言,NGCF 直接借鑒了 GCN 的經典設計。首先,定義用戶和物品之間的消息,兩個節點之間的相似度越高,它們之間擴散的
68、消息就越多;其次,考慮兩個待擴散節點之間的相似度。定義好單個節點的消息后,再將其鄰節點和自身的消息累加,從而得到下一層的節點表示。通過多層的表示便可以獲得高階連接性的建模。當獲得每一層都有擴散之后,將各個層拼接起來便可以捕獲更全面的信號,從而方便預測和推薦。通過這種方式,可以在擴散的過程中將高階的協同過濾信號建模出來。29 圖 3:卷積網絡協同過濾(NGCF)圖 4 展示的是一個十分有意思的可視化結果。(a)圖是將用戶和物品投影到二維平面的可視化結果,每一個五角星代表一個用戶,每一個圓圈代表一個物品,如果兩者是同一個顏色,則表示該用戶與該物品產生過交互,對應圖數據的一階鄰居關系。(b)圖展示的
69、是三層的 NGCF 用戶和物品的可視化結果。不難看出,右邊的結果明顯比左邊的結果更能清楚的看出聚類結果,尤其是每一種顏色都形成了一個邊界相對清晰的聚類。由可視化結果可知,通過 NGCF 做高階連接的建??梢缘玫礁哔|量的表示學習結果。圖 4:NGCF 可視化結果對比2.2輕型圖卷積網絡 LightGCN然而,NGCF 在很多數據集上很難進行訓練。何向南等人通過對比傳統 GCNs 和 NGCF(對比結果如圖 5 所示)發現,在推薦系統場景下,NGCF 的諸多設計是冗余的;此外,NGCF 之所以難訓練,以及最后的效果不盡如 30 人意,主要原因是加入了很多非必要的神經網絡的操作符。圖 5:傳統 G
70、CNs 和 NGCF 對比結果基于此考慮,何向南團隊提出了 LightGCN 方法。該方法的核心是輕型的圖卷積。輕型圖卷積是指,在每次進行圖卷積時,只考慮一個節點的鄰居節點,然后將這些鄰居節點的上一層表示信息加權在一起。與之前相對冗余的 NGCF 相比,LightGCN 相當于刪除了 NGCF 里面的激活函數,同時也將 GCN 中常見的自環操作丟掉了。NGCF 獲得每一層表示以后會將結果拼接起來,然而這會導致向量長度變長,最終模型需要更長的時間進行向量乘法運算,LightGCN 則不會。因此,與 NGCF 相比,LightGCN 具備無功能轉換、無非線性激活、無自連接等優點。圖 6:NGCF
71、與 LightGCN 對比 31 2.3解耦圖協同過濾 GDCF通過研究發現,用戶在選擇物品時會抱有不同的意圖,這會激發出不同的用戶行為。因此,在用戶表示學習時,如何將不同維度下交互背后隱含的用戶意圖刻畫出來是關鍵所在?;诖丝紤],何向南團隊提出了解耦圖協同過濾方法 GDCF。具體的做法是:首先,提出圖解耦層(Graph Disentangling Layer)的概念。假設具有潛在意圖,并重組特定于 K 的交互圖(K表示共有 K 種意圖),對每一種意圖建立用戶/物品圖,這樣就得到了 K 個圖,每個圖都是針對某個意圖。然后,在該圖上進行動態鄰居聚合。這樣做的目的是自適應地測量用戶項連接的特定意圖
72、強度。最后,使用“距離相關”來規范特定于意圖的表示獨立建模。他們希望通過正則化表示學習,同時考慮用戶兩兩意圖之間的關聯關系,盡量讓兩兩意圖之間的關聯性為零,從而最大化表達的信息量。DGCF 模型如圖 7 所示。圖 7:解耦圖協同過濾 GDCF通過對比實驗(如圖 8 所示)可知,在相同的數據集上,GDCF 與 NGCF 相比可以學習到更好的表示,在表示效果上提升了 15%左右;與 Light GCN 相比,DGCF 與 Light GCN 處于相同的水平,沒有顯著性的差異,但是將兩者投射到隱空間,GDCF 會有更好的解釋性。32 圖 8:GDCF 實驗結果對比以上三項工作側重于 GNN 建模的層
73、面。早期的 NGCF 為后續研究提供了基礎,Light GCN 又對 NGCF 做了大量的簡化,有更好的效果,可以讓表示學習的效果具有更強的解釋性。三、從學習的角度看圖卷積網絡在推薦場景下的優化上文主要是從建模的角度看圖神經網絡在推薦場景下的協同過濾技術。在這一節,將著重介紹何向南團隊在推薦場景中通過圖卷積網絡所做的工作。3.1Fast Loss通過實驗分析發現,在計算 BPR Loss 時,使用現有的主流深度學習框架 TensorFlow 在 GPU 上的計算速度遠不及使用 C+在單個 CPU 上的計算速度。圖 9:在 CPU 上使用 C+(i9 9000kf)和 GPU 上使用 Tenso
74、rFlow(2080Ti)運行有 amazon-book 數據集的 BPRMF為了解決該問題,何向南教授團隊提出了 Fast Loss 方法。Fast Loss 計算過程如圖 10 所示:33 圖 10:Fast Loss 計算過程該方法時間復雜度為 O(|R|d+|N|d2),并且與觀察到的相互作用數呈線性關系。在訓練模型時,無論用戶是否與物品有歷史交互,都將整個矩陣納入訓練。如果存在歷史交互,則記為正樣本,并給正樣本比較高的權重,再將其向 1 回歸。對于負樣本,給其一個比較低的權重并讓其向 0 回歸。如果直接優化損失函數(Loss),其復雜度是驚人的,即 M N。在實際應用中,百萬用戶和百
75、萬物品相乘后的結果是難以置信的。但是通過對損失函數進行數學上的等價變換,可以得到其變型形式。通過數學上非常聰明的等價變化,可以將原始損失函數的復雜度,從 M N 降低到了 R,即降低到觀察到正樣本的個數,使得總體的復雜度可以被認為是和觀察到的樣本呈線性關系。經過快速損失優化的 LightGCN 可以達到與 BPR 損失相當的性能。當然,哪種損失更好取決于數據特征,但是Fast Loss 在長尾用戶/項目上似乎更好。3.2解耦用戶興趣和物品受歡迎程度 DICE在推薦系統中,記錄的數據往往表現出各種偏差,例如人氣偏差。這是由于模型在歷史數據中進行訓練,模型訓練完成后將推薦結果展示給用戶,用戶在推薦
76、的歷史上產生新的數據,隨后又將新的數據訓練模型,如此循環往復形成閉環,這個閉環導致越是流行的物品就變得越流行,曝光度增高,用戶點擊就越多。這種偏差很大程度上阻礙了模型發現用戶真正的興趣?,F有的方法一般歸為兩類:IPS 和 CausE。這兩類方法在沒有合理假設的情況下,僅根據點擊數據來區分興趣和受歡迎程度,是非常難的。其次,利用它們來學習推薦的解糾纏表示比較困難,因為根本沒有用戶興趣的 ground-truth。此外,利用它們進行推薦,在合并或區分 cause 時,需要進行細致的設計?;诖?,何向南團隊提出了 DICE 方法。該方法首先建立一個因果圖,然后何向南教授認為一個點擊行為背后 34 要么是該用戶的屬性和用戶的興趣相匹配;要么就是該物品的流行度和該用戶當前的消費態度相匹配?;诖?,分別基于興趣和流行度分別計算概率并疊加在一起即可。該方法優化的目標是希望獲得解耦的表示,以至于每次嵌入僅捕獲一個原因。圖 10:解耦用戶興趣和物品受歡迎程度 DICE 方法在演講的最后,何向南教授還 介紹了其團隊未來將在模型的有效性、推薦效果的魯棒性和對話式推薦系統等方面繼續探索,力爭取得更好的成果。