《24知識智能專題論壇.pdf》由會員分享,可在線閱讀,更多相關《24知識智能專題論壇.pdf(68頁珍藏版)》請在三個皮匠報告上搜索。
1、 1 24知識智能 2 UCLA 孫怡舟:連接附加符號知識到知識圖譜嵌入整理:智源社區 熊宇軒在深度學習從感知邁向認知的過程中,知識圖譜是表征知識、進行深度推理的一大利器。來自加州大學洛杉磯分校(UCLA)的數據挖掘領域著名學者孫怡舟教授在本屆智源大會上帶來了主題為Bridging additional symbolic knowledge to knowledge graph embedding的演講,深入淺出地說明了如何將不確定性、一階邏輯、多視圖嵌入技術引入知識圖譜嵌入領域。下面是演講全文:一、知識圖譜嵌入研究現狀在我們眼中,知識圖譜可以被表征為一個圖(即由節點和邊組成的異構網絡)。該網
2、絡包含各種各樣不同類型的節點(例如,埃菲爾鐵塔是一個著名的景點,而巴黎是一個城市)。在知識圖譜中,我們一般還會把節點之間的各種關系標注出來。知識圖譜旨在把世界上各種各樣的知識以三元組的形式存儲起來。例如,在三元組(埃菲爾鐵塔,位于,巴黎)中,埃菲爾鐵塔為頭實體,位于為關系,而巴黎則是尾實體。單獨從事實的角度來看,知識圖譜是由這樣的三元組構成的;而如果從圖的角度來看,由于在知識圖譜中這些實體節點被關系邊所連接,我們認為知識圖譜可以被表征為圖結構。圖 1:知識圖譜示例如今,知識圖譜在各行各業中都非常流行。我們往往對通用知識圖譜(例如,谷歌、百度的知識圖譜,以及學術界制作的知識圖譜 YaGO 等)更
3、熟悉,但除此之外,還有很多行業知識圖譜。例如,我們要做生物醫學方面的研究,就需要具體使用生物醫學領域的知識圖譜(如 PubMed);面對當下嚴重的新冠疫情,一些研究者們試圖 3 從此類知識圖譜中抽取出相應的實體和關系組成知識圖譜,幫助我們進行新冠的預測和推理;對于一些電子商務網站來說(如阿里巴巴淘寶、亞馬遜),它們也會構建針對產品的知識圖譜;此外,WORDNET、ConceptNet 這類知識圖譜則旨在捕獲常識信息。知識圖譜的應用場景也十分廣泛。例如,當我們擁有高級語義知識時,它可以幫助我們更深入地解自然語言;在問答(QA)系統和對話系統中,知識圖譜可以為我們提供背景知識,使對話系統不僅僅是無
4、意識地與人交流下去。針對以上應用,為了更好地利用知識圖譜中的數據,圖嵌入技術就是一種能夠很好地利用知識圖譜數據的方法。知識圖譜嵌入旨在用低維向量對知識圖譜中存儲的實體和關系進行表征,從而適用于很多的下游任務。在有的模型中,我們將關系也建模為一個低維向量;而在更多的情況下,我們將關系編碼為一種代數運算。圖 2:現有的知識圖譜嵌入方法在大多數現有的知識圖譜嵌入方法中,假設頭實體、尾實體已知,我們將試圖利用二者之間的關系構建一個評分函數(score function),該函數旨在計算三元組為真的概率(概率越大,三元組越可能為真)。接著,我們將利用該嵌入的評分函數來定義一個引導訓練過程的損失函數。在定
5、義損失函數的過程中,我們往往將觀測到的三元組作為正樣本,并隨機采樣得到一些三元組作為負樣本,我們期望正樣本的得分比負樣本得分高。如圖 2 所示,現有的各種知識圖譜嵌入方法之間最大的區別在于設計評分函數的方式。以經典的 TransE 圖嵌入為例,該模型將實體和關系都表征為嵌入向量,我們將度量預測尾實體嵌入h+r(其中 h 為頭實體的嵌入,r 為關系的嵌入)與真實尾實體嵌入 t 之間的距離。其它著名的知識圖譜嵌入方法大多都沿用了這樣的思路,進行了相關的改進。本領域目前性能最佳的方法是唐建教授研究組提出的 RotatE?,F有知識圖譜嵌入方法的不足之處主要在于:(1)封閉世界假設(close-worl
6、d assumption):我們認為知識圖譜中可以觀測到的三元組都為真,所有知識圖譜中沒有看到的三元組都為假,即所有的知識已經被觀測到了。顯然,該假設并不成立,我們無法保證將實際上所有為真的三元組都納入到了知識圖譜中,也無法保證知識圖譜中所有的三元組都為真。(2)扁平結構假設(fl at structure assumption):大部分現有的知識圖譜嵌入算法認為知識圖譜是一個扁平化的結構,即所有的實體和關系僅僅處于同一層上。這意味著我們在定義評分函數時,會 4 把所有的關系看作是同一個層次上的,因此使用同種類型的評分函數去定義這些關系。然而,在真實世界當中有一些具體的實體(例如,中國(國家)
7、、北京(城市);而對于一些抽象的概念(本體)來說,比如城市、國家,這些高級概念并不都處在同一個層次上。那么,我們應該如何處理這種層次化的結構呢?針對以上知識圖譜嵌入方法的不足之處,我們希望提出新的知識圖譜嵌入的方法,或者將額外的知識引入到知識圖譜嵌入方法中,從而提升算法性能。首先,在封閉世界假設中,我們認為一般的知識圖譜是確定性的,即在知識圖譜中可以被觀測到的三元組為真,否則就為假。為了解決這一假設的不足之處,我們將這種確定性的知識圖譜變換為不確定性的知識圖譜(例如,NELL,ConceptNet,它們賦予三元組為真的概率)。對于在知識圖譜中觀測到的三元組,我們認為它們有一定的概率為真,有一定
8、的概率為假,因此我們將評分函數的得分從0/1改變為一個具有不確定性的概率值。此外,由于人對世界的認知不僅僅停留在實例的層面上,還應該具有更高級的認知過程,所以我們還應將邏輯推理引入到知識圖譜中,使基于知識圖譜的推理結果更加準確。另一方面,我們認為所有的知識圖譜是一個扁平化的結構,但對于一些額外的高級概念和本體而言,我們應該將它們也引入到知識圖譜中,從而進行更好的推理。二、將一階邏輯引入不確定性知識圖譜嵌入在知識圖譜中,有兩類常見的錯誤:(1)假正例錯誤:觀測到的三元組是錯誤的(2)假負例錯誤:遺漏掉了一些正確的事實。圖 3:通過引入不確定性減輕假正例錯誤在論文Embedding Uncerta
9、in Knowledge Graph(AAAI 2019)中,我們為每個三元組賦予了一個置信度得分(confi dence score)。通過多數投票的對比方式,我們可以為真實度較低的三元組賦予較低的概率。例如,在原始數據中,聲稱(奧巴馬,出生于,肯尼亞)的數據條目很少,而聲稱(奧巴馬,出生于,夏威夷)的條目很多,那么我們為后者賦予高概率,為前者賦予低概率。5 這樣一來,我們就可以利用知識圖譜中的置信度得分,緩解假正例錯誤,為觀測到的錯誤三元組賦予較低概率。圖 4:從評分函數到不確定性得分之前,在定義評分函數時,我們希望在知識圖譜中被觀測到的三元組的得分較高。但是這種假設并不成立。實際上,對于
10、知識圖譜中的三元組來說,我們現在希望利用嵌入預測出來的得分與其對應的不確定性得分是一致的,這就是我們與普通的知識圖譜嵌入的差異。為了將評分函數的輸出變為可以擬合不確定性得分的置信度得分(0 到 1 之間的值),我們可以用 Sigmoid 等函數將任何評分函數的輸出變換到 0 到 1 之間。在本文中,我們也測試了一種名為bounded rectifi er的變換方法:(x)=min(max(wx+b,0),1),將評分函數限制在 0 到 1 之間。根據我們的實驗,我們發現仍然需要使用原始知識圖譜遺漏的事實。但是,我們不能簡單地把沒有看到過的三元組的置信度得分處理成 0,我們要通過其它的推理方式推
11、斷其概率,而邏輯規則可以幫助我們實現這個目的。圖 5:橋接邏輯規則 6 假設我們有一些邏輯文字和謂詞,我們可以通過邏輯體(body)邏輯頭(head)的形式來描述邏輯規則,當邏輯體為真時,則邏輯頭也為真。如果我們將知識圖譜中三元組的關系與邏輯規則中的謂詞相對應,我們就可以通過這些三元組來構建相應的邏輯規則。例 如,對 于 邏 輯 規 則 模 板()()(),synonym,synonym,synonym,ABBCAC,我 們 可 以 將 占位符 A、B、C 替換成具體的知識圖譜中的實體,就可以將其變為一個具體的基本規則(ground rule)()()()college,synonym,uni
12、versityuniversity,synonym,institutecollege,synonym,institute。由 于知識圖譜中有各種各樣的謂詞,我們可以利用高級規則模板來生成具體規則,再利用具體的規則進行推理。在上面的具體規則中,如果我們知道三元組(college,是.的同義詞,university)的置信度得分為 0.99,而且(university,是.的同義詞,institute)的置信度得分為 0.86,我們試圖根據上面的規則推斷出沒有見到的(college,是.的同義詞,institute)為真的概率。此外,傳統的邏輯規則是一種布爾代數,只能處理 0/1 的運算。但是,不
13、確定性知識圖譜中的三元組存在一定為真的概率,此時我們就需要把上文中提到的布爾邏輯發展為模糊邏輯。在這里,我們通過概率軟邏輯(PSL)來實現這種模糊邏輯,PSL 中合?。ㄅc)、析?。ɑ颍?、取反(非)操作的計算方法如下:我們可以根據以上的原子定義,我們可以計算具體規則的概率。在實現過程中,由于我們可以將A B轉化為A B,所以對于這樣的規則,我們可以將其轉化為 ,從而根據=來計算具體規則的概率。接著,我們就可以根據具體規則的概率計算與理想狀況的距離,將其作為損失函數:在優化過程中,我們的目標是最小化與理想狀態的距離,即最大化所有具體規則為真的概率。在上圖所示的例子中,我們首先將規則模板實例化為一個
14、具體規則。假設 l_1 的置信度得分為 0.99,l_2 的置信度得分為 0.86,我們試圖根據邏輯規則推斷出 l_3 的置信度得分。根據之前的公式,我們有 其中,_body 為規則尾的置信度得分,_head 為規則頭的置信度得分。將數據帶入該公式得:7 其中,f(l3)是未知的 l3的置信度得分,我們可以根據 college、synonym、institute 的嵌入將 f(l3)計算出來,因此在這里需要將一些嵌入作為計算損失函數的參數。當 f(l3)大于等于 0.85 時,損失為 0,說明嵌入很理想;當f(l3)小于 0.85 時,損失函數則大于 0,且 f(l3)越小損失越大,因此我們需
15、要調整嵌入,使損失函數接近于 0。這就是邏輯規則影響知識圖譜嵌入的機制。圖 6:新型嵌入模型因此,新型的嵌入模型包含兩個部分。首先,對于知識圖譜中已觀測到的三元組,我們期望通過嵌入定義的置信度與觀測到的置信度一致;此外,我們還應該利用未觀測到的三元組。如果邏輯規則覆蓋到某條未觀測到的三元組,我們需要計算該三元組所在的具體規則的 d(損失)。在如圖 6 所示的公式中,等號右側的前后兩項都包含知識圖譜嵌入,這說明三元組的嵌入既受到知識圖譜中其它三元組的影響,也受到高級邏輯規則的影響。圖 7:實驗結果我們在常用的CN15k、NL27k、PPI5K三個數據集上進行了實驗,我們在這篇論文中針對每個數據集
16、手動設計了一些邏輯規則,接下來我們還將研究如何自動發掘邏輯規則。8 在實驗中,我們三類對比基線進行了比較:(1)處理確定性知識圖譜嵌入的模型。例如,TransE。(2)只提供節點嵌入的不確定性圖嵌入方法(如 URGE),但是這些方法并沒有區分不同種類的節點和關系。(3)本模型的兩種簡化版本:不進行負采樣,在訓練時不考慮知識圖譜中未觀測到的三元組。不使用 PSL,將知識圖譜中為觀測到的三元組的置信度看做 0。圖 8:對比實驗結果如上圖所示,在關系事實置信度得分預測實驗(Relation Fact Confi dence Score Prediction)中,給定一個三元組,我們旨在預測其置信度得
17、分。兩種簡化版本的模型性能相較于我們提出的模型有很大下降,因此需要使用在知識圖譜中未觀測到的三元組,也不能直接將它們的置信度當做 0。最下面兩行為本文提出的方法,其性能相對對比基線具有很大的優勢。圖 9:在關系事實排序任務中,我們的模型也展現出了最佳的效果 9 圖 10:關系事實排序的案例研究在上圖中的案例中,我們希望通過我們的模型完成一些知識圖譜補全的工作。有趣的是,一些原本知識圖譜的真實值(Ground Truth)中沒有涵蓋到的一些客觀事實可以被我們的模型預測出來。三、將本體概念與元關系引入知識圖譜嵌入在前面的工作中,我們介紹了如何利用邏輯規則和不確定性來處理封閉世界假設的缺陷。下面,我
18、們將研究如何將層次化的概念和關系引入到知識圖譜嵌入中。在很多情況下,我們并不需要知道具體的事實。例如,如果我們想對科學家這個職業想有所了解,我們知道科學家們往往在研究所或者大學工作,他們可能畢業于某所大學,我們不需要具體到某一個科學家的情況,就可以對科學家的職業有大致的了解,這種了解其實是被稱作為元級別(meta-level)的推理,而不是實例(instance)級別的推理。如果我們知道一個具體的人 Anna 是一名科學家,我們會認為她的嵌入與其他科學家的嵌入應該是相近的。一旦我們擁有這樣的本體知識,我們就可以對實例進行更好的推理。尤其是,對于某些處于長尾分布尾端的實體而言,它們在知識圖譜中十
19、分稀疏。如果我們擁有相關的本體知識,就會大大提升推理的準確率。10 圖 11:實例視圖和本體視圖的知識圖譜實際上,更加全面的知識圖譜應該是一種包含底層的實例視圖知識圖譜(包含實體及其關系),以及上層的本體視圖知識圖譜(其節點為抽象的高級概念,邊為元關系)的二視圖知識圖譜。在這兩種視圖之間,我們使用跨視圖鏈接(cross-view link)將它們連接起來。結合本體和實例視圖知識圖譜的思路與我們曾經在研究異質網絡時的一些想法很相似。在研究異質網絡時,我們會使用網絡模式(schema)作為實體對及其之間關系的模板。本體視圖知識圖譜相較于網絡模式更進一步,將概念之間的層次也考慮了進來。11 圖 12
20、:二視圖聯合嵌入假設上層的本體視圖及其與下層實例視圖之間的跨視圖鏈接已知,我們很有必要進行二視圖的聯合嵌入。首先,如果每個實例的嵌入性能已經很好,那么它們為構建本體概念提供了有效的高級引導。此外,如果我們已經擁有了本體概念的嵌入,那么我們可以大致推測出實體的嵌入,這兩個過程是互相促進的。我們基于跨視圖鏈接將實例嵌入空間和本體嵌入空間聯系起來,主要的實現方法有兩種:跨視圖聚合(CG):直接將本體概念 c 與實例實體 e 放入同一個嵌入空間,若 c 與 e 有跨視圖鏈接,那么我們直接迫使它們在嵌入空間中的距離較為接近??缫晥D變換(CT):并不強迫本體概念與實例實體在同一個嵌入空間中,我們對實體嵌入
21、進行變換,將其變換到本體概念所在的空間中,再將本體概念的嵌入與變換后的實體嵌入進行比較,從而設計損失函數。12 圖 13:跨視圖聚合與跨視圖變換的示意圖圖 14:視圖內的層次化建模 13 對于視圖內(Intra-view)的嵌入來說,我們可以用任何現有的知識圖譜嵌入技術作為基礎模型。在本體視圖中,也存在一些概念上的上下位層次關系,我們也可以將位于下層的概念變換到為上層概念,對其進行比較,從而定義損失函數。綜上所述,我們提出的聯合分布模型將跨視圖(Cross-view)模型與視圖內(Intra-view)模型整合到一起??缫晥D模型的實現方式包含跨視圖聚合(CG)與跨視圖變換(CT);對于視圖內模
22、型而言,實例視圖內的嵌入可以通過任意的基礎模型(如 TransE、RotatE)實現,本體視圖內的嵌入可以基于視圖內上下位概念的變換設計新的損失函數。圖 15:實驗設定在實驗中,由于缺乏直接的二視圖知識圖譜嵌入對比基線,我們基于 YAGO 和 DBpedia 數據集手動構建了實驗數據集。實際上在生物學領域中,這種二視圖知識圖譜是更為普遍的。我們在三類任務上測試了我們的模型:(1)三元組補全:在傳統的實體知識圖譜上進行補全任務;(2)實體分類:相當于預測跨視圖鏈接的類別;(3)本體填充:在本體概念知識圖譜中,進行類似于知識圖譜補全的抽象推理。14 圖 16:三元組補全實驗結果在實驗中,我們首先忽
23、略實例的類別,將 TransE 等基礎模型作為對比基線;接著,我們測試了了不同的跨視圖聯合嵌入方法,以及層次化變換對于模型性能的影響。實驗結果表明,在聯合嵌入時使用跨視圖變化的性能比使用跨視圖聚合時更好;在本體試圖內部,使用概念之間的上下位層次化信息是十分有必要的。圖 17:實體分類實驗結果實體分類實驗的結果也說明利用視圖間跨模態變換以及視圖內層次化信息有助于提升模型性能。15 圖 18:對推理長尾分布尾端實體推理的幫助我們認為本文提出的模型有助于對處于長尾分布尾端實體的推理。例如,一個人與其它實體之間的連接十分稀疏,但是如果我們知道 他是一名科學家,就可以獲知很多關于他的信息。圖 19:本體
24、填充實驗結果本體填充指的是,在給定兩個本體概念時,預測它們之間的關系。本文提出的模型在該任務上也取得了不錯的效果。四、結語知識圖譜本身已經是符號化的數據表示方式,而知識圖譜嵌入實際上也具有一定將符號化表示與連續表示橋接起來的功能。在本文中,我們討論了如何額外的信息加入到知識圖譜嵌入中,使其更加豐富。首先,我們可以利用人總結出來的邏輯規則,將高階關系引入知識圖譜。因為知識圖譜嵌入實際上是引入了一階關系,而邏輯規則引入了更多的謂詞,所以構建了具有高階依賴的模型。此外,我們不應該將知識圖譜看做一種扁平化的結構,我們應該將本體、概念這種額外信息加入到知識圖譜中。在未來,我們試圖進一步研究如何更好地將邏
25、輯規則與知識圖譜結合起來,如何自動地挖掘這些邏輯規則。同時,我們也考慮研究如何利用網絡模式(schema)級別、本體級別的信息改進知識圖譜,進行更好的多跳推理。16 微軟雷德蒙德研究院東昱曉:圖表示學習整理:智源社區 熊宇軒從網絡嵌入、異構網絡挖掘、知識圖譜到最近年來持續火熱的圖神經網絡,基于圖的學習一直是人工智能領域中不可忽視的研究方向。在本屆智源大會上,來自微軟雷德蒙德研究院的高級應用科學家東昱曉博士帶來了以圖表示學習:嵌入、圖神經網絡、預訓練為題的主題演講,從圖表示學習的基本概念、嵌入方法、與圖神經網絡的結合等方面為我們提供了對該領域的一個全景式講解。演講全文如下:在本次演講中,我們將首
26、先簡要介紹淺層的圖嵌入,然后重點討論圖神經網絡以及圖表示學習的預訓練。在現實世界中,物體往往并不是單獨存在的,物體與物體之間總是存在各種各樣的關系。因此,我們可以用圖結構(網絡)對這些關系進行抽象建模。圖 1:學術合作網絡圖如圖 1 所示,在學術合作網絡中,如果根據研究者之間的關系構建一個網絡結構,它能夠表達傳統結構不能傳遞的數據信息(如哪些學者之間的合作關系比較緊密)。17 實際上,學術網絡是一個相對比較復雜的網絡。除了上文中介紹的學者節點之外,在學術網絡中經常會有學者發表的期刊會議論文節點,以及學者所屬的學術機構等節點。除了學術網絡,現實世界中也還有各種各樣其它的網絡。例如,社交網絡、職業
27、網絡、生物神經網絡、知識圖譜、因特網、交通路網。因此,我們可以用網絡結構方便地描述現實世界中復雜的關系和現象。給定這些圖數據或者關系數據,我們會關心哪些問題呢?傳統意義上來說,對于輸入的圖結構,我們可能比較關心圖上的節點的類別(即節點分類、鏈接預測等問題)。一般來說,我們首先會人為定義一些結構化的特征,進行非常復雜的結構化特征抽取,從而形成結構化矩陣。該矩陣會成為機器學習和數據挖掘算法的輸入,用于解決下游任務(例如,節點分類、鏈接預測等)。圖 2:圖挖掘范式特征工程是非常復雜的,需要我們具備相應的專業知識,并且對于數據有充分的了解。如圖 2 左下角所示,如果我們想知道兩個用戶是否有聯系或者在未
28、來是否會成為朋友,我們可以觀察他們的共同鄰居之間是否相互認識。根據傳統的做法,我們會把結構化的特征抽出來,對兩個用戶之間成為朋友的概率進行建模。顯然,這個過程需要較多的人為設計與計算。到了圖表式學習時代,對于給定的圖結構輸入,我們希望借助深度學習、表式學習的最新技術,從圖結構中自動抽取結構化特征。在大多數情況下,這種結構化的特征位于隱空間上,我們并不能明確地知道特征的每個維度代表什么意思。與傳統方法相類似,在得到特征矩陣后,我們可以用它來解決一些下游任務。圖表示學習的應用場景非常廣泛。以微軟學術數據為例,我們可以把它檢索到的包含兩億多篇文章、兩億多個學者、四千多個學術會議、接近五萬份期刊的異構
29、學術網絡輸入到表式學習算法當中,從而生成每一個節點的節點表示。在擁有了節點表示后,我們就可以基于該表示進行開展許多下游任務(例如,相似性搜索與推薦)。比如,當我 18 們關心“哪些期刊與自然期刊的距離最近或最相似”時,根據圖表式學習,我們得到的結果是 Nature 、PNAS、Nature Communication,這與我們人類的主觀認識十分接近。當我們關心”哪些學?;驒C構與哈佛大學在學術上很相似”時,我們根據圖表示學習技術得到的排在前五的答案是斯坦福大學、耶魯大學、哥倫比亞大學、芝加哥大學和約翰霍普金斯大學。此外,我們還可以根據針對學術網絡使用圖表式學習所得到的嵌入進行一些推理。當我們關心
30、糖尿病時,可以根據所有與糖尿病相關的文章中推理出糖尿病的起因、癥狀、治療方法。圖 3:利用 MAG 學術網絡對 COVID-19 進行推理我們最近也在嘗試利用最近發表的關于新冠肺炎的學術數據進行推理,試圖找出新冠肺炎的癥狀與起因,并推理出相應的治療方案。在圖 3 中,白色與紅色的方框分別代表推理正確與錯誤的條目。圖 4:圖表示學習流程接下來,我將從網絡嵌入、矩陣分解、圖神經網絡、預訓練這四方面介紹我們在圖表示學習領域的相關工作。一、網絡嵌入學習網絡嵌學習的起源可以追溯到幾十年前。起初,許多學者曾經研究基于圖的拉普拉斯矩陣的譜聚類、SVD 分解,并生成每個節點的特征向量。近年來,DeepWalk
31、 模型引發了人們對于網絡嵌入學習的新一輪研究。DeepWalk 模型受到了自然語言處理領域中詞嵌入技術的啟發,將文本數據中的每一個句子當做單詞的序列,然后將該序列輸入到兩層的神經網絡當中,從而學習到每個單詞的嵌入。類似地,DeepWalk 重點研究如何將網絡結構轉化為序列化的結構,然后將這個序列化的結構輸入到 Skip-Gram 模型中,從而學習到每個節點的網絡表示。具體而言,作者通過一種較為直接的方式實現了上述目標的思路:他們把在網絡上進行隨機游走經過的節點記錄下來,生成節點鏈;再將生成的節點鏈作為 NLP 中的句子輸入到 Skip-Gram 模型中,從而得到每個節點的節點表示。19 Dee
32、pWalk 模型是建立在上世界 50 年代初 Harris 提出的分布式假設之上的,該假設指出:在自然語言中,兩個在相似的上下文中出現的單詞具有相似的意義。引申到網絡表示學習中后,其隱含的假設是:如果兩個節點經常在相似的結構中出現,我們認為這兩個節點具有相似的意義。具體而言,在 DeepWalk 模型中,我們通過隨機游走生成的節點鏈捕捉這種相似的結構。在 DeepWalk 提出之后,許多研究者們試圖對其進行各種改進。例如,唐健教授研究組提出了 Line 模型,將隨機游走的步長設為 1,從而能夠快速地學習到網絡中的節點表示。Node2vec 的作者利用了網絡中蘊含一定網絡屬性的獨特的三角形結構,
33、設定了基于三角形的有偏隨機游走,即對隨機游走進行一定的引導。針對包含不同類型節點和關系的異構網絡,Metapath2vec 通過預先定義的 metapath(由孫怡舟老師團隊提出)引導隨機游走過程。上述模型在完成隨機游走得到序列化結構之后,會將序列化的結構統一輸入到 Skip-gram 模型中學習網絡節點的表示。至此,我們回顧了比較流行的幾種學習網絡嵌入的方法,它們都以隨機游走和 Skip-Gram 為基礎。那么我們該如何理解這些方法呢?二、矩陣分解圖 5:理解隨機游走+Skip Gram在網絡上做隨機游走得到序列化結構,并將隨機游走的結果輸入到一個兩層的神經網絡中,這對于網絡操作意味著什么?
34、在論文Neural word embeddings as implicit matrix factorization中,作者指出的上述操作等價于隱式的矩陣分解。這份工作也受到了 NLP 領域研究成果的啟發,即 Skip-Gram 模型等價于分解 PMI 矩陣,該 PMI 矩陣中的五個變量對應于 NLP 領域中的一些概念。例如,圖 14 中右下角的 D 代表所有“單詞-上下文”對的多重集。類比到圖表示學習領域,我們也試圖將“隨機游走+Skip Gram”的圖表示學習范式歸納為一種矩陣分解。20 圖 6:圖表示學習的矩陣分解視角如圖 6 所示,PMI 矩陣中的每一項都是用 NLP 領域中的概念表示
35、的,若令分子分母中帶“#”的項同時除以|D|,我們可以得到()()()#,#w cDwcbDD。在網絡中進行隨機游走時,我們通過以下方式構建 D:對于類似于圖中的a、b、c、d、e 形成的隨機游走鏈,我們首先考慮隨機游走的方向。以 c 為中心節點,其右側有 d 和 e,左側有 a 和 b。同時,我們可以按照方向和距離將以 c 為中心的“單詞-上下文”對分解成不同的子多重集。具體來說,以 c 為中心點,d 與 c 構成了從 c 往右走一步以內的“單詞-上下文”對,a 與 c 構成了從 c 往左走兩步以內的“單詞-上下文”對(對應到網 絡中即為“節點-上下文”對)。我們可以通過上述方式表示 D,進
36、一步表示我們所關心的()()()#,#w cDwcbDD。21 圖 7:PMI 矩陣分解過程以分子為例,我們根據個節點與中心節點的距離將分子中的|D|拆分成了括號內紅色和綠色的兩項。由大數定理可知,當我們在圖上進行無限步隨機游走時,紅色和綠色的兩項會依概率收斂于括號后面的形式(其中的每一項都與圖表示學習領域的概念相對應)。經過簡單的整理,我們可以得到分子等于:()()()()(),11#,2TprrccrddPPTvol GGcvolw=+通過同樣的分析手段,我們可以將分布中的兩項整理成如圖 7 中深藍色方框中的形式。將以上三項帶回到 PMI 矩陣中,我們得到最終的矩陣形式為:()()111G
37、1TrrvolDADbT=因此,在圖上進行隨機游走,再將隨機游走結果輸入給 Skip-Gram 模型的過程,等價于隱式的矩陣分解,其形式為()()1111logDTrrvol GDAbT=。矩陣當中每一項都可以與圖表示學習領域的概念相對應,其中 A 是鄰接矩陣,D 是度矩陣。與 DeepWalk 相類似,LINE、PTE、node2vec 等模型也有等價的矩陣分解形式。22 因此,我們提出了名為 NetMF 的算法直接對 DeepWalk 進行顯式的矩陣分解。NetMF 包含兩個步驟:(1)構建 DeepWalk 的隱式分解矩陣(2)對前一步構建出來的矩陣直接進行分解,從而得到對每個節點的表示
38、。圖 8:NetMF 實驗結果NetMF 的實驗結果如圖 8 所示,我們發現相較于使用隱式矩陣分解,使用顯式的矩陣分解可以獲得性能上的提升。圖 9:網絡嵌入小結 23 對于網絡表示學習而言,隨機游走+Skip-Gram 的范式等價于矩陣分解。然而,現實生活中的大部分網絡都遵循小世界模型,即在很少的步數內可以將網絡中任意兩個點連接起來(例如著名的“六度分隔”理論)。如圖 9 所示,對于 DeepWalk 需要分解的矩陣 S 而言,D-1A 為歸一化后的鄰接矩陣,它代表隨機游走在矩陣上的轉移概率。若 T 被設置成 5 或者 6,則矩陣為包含 n2個非零元素的非稀疏矩陣,構建或分解該矩陣的復雜度為
39、O(n3),計算開銷十分巨大。由于我們的算法需要先構建矩陣 S,再對其進行分解,但是由于 S 過于稠密,造成了很大的計算開銷。為了提高計算效率,我們試圖構建一個稀疏化的矩陣,再對這個稀疏的矩陣進行分解。我 們 借 鑒 了 論 文Effi cient Sampling for Gaussian Graphical Models via Spectral Sparsifi cation 中 的思想,在 O(mlogn)階的時間內對矩陣進行稀疏化處理,得到只包含 O(nlogn)個非零元素的稀疏矩陣。當時,S 可以用矩陣L表示。圖 10:對矩陣 S 進行稀疏化根據以上分析,我們可以構建一個稀疏化版的
40、 S,對該矩陣進行稀疏矩陣分解,從而得到每個節點的表示向量??梢宰C明,稀疏化矩陣與原始矩陣的誤差存在理論上界:()()()1GG4 1_log_log niminiFvolvolvol GtruncMtruncMbbdb d=實驗結果表明:(1)使用稀疏化矩陣分解得到的模型性能與顯式的稠密矩陣分解結果差距不大,它們的性能都比隱式矩陣分解(如 Deepwalk、LINE)的更好。(2)稀疏矩陣分解可以處理億級網絡(包含數億節點,數十億條邊的網絡)。24 圖 11:矩陣稀疏化及其分解給定網絡結構的鄰接矩陣 A,我們通過某種操作把關心的結構屬性融合到了矩陣 S 當中,從而對矩陣 S 進行分解。圖 1
41、2:基于網絡嵌入的信息傳播 ProNE反過來,給定一個輸入網絡(一般情況下是稀疏的),我們對其進行稀疏矩陣分解可以得到一個初始化的節點向量表示。接著,我們通過在譜空間上對前面得到的向量表示進行傳播操作得到每個節點更好的向量表示。25 圖 13:譜傳播(spectral Propagation)在通過稀疏分解得到向量表示之后,在譜空間進行傳播操作,得到更新后的向量表示,這與一些圖神經網絡的思想也不謀而合。圖 14:ProNE 的性能提升ProNE 帶來了兩方面的性能提升:(1)只需要使用一個 CPU 線程,就可以獲得比使用 20 個線程快 10-400 倍的運算速度。(2)在 29 小時內可以學
42、習到億級網絡的表示,并且將該表示用于下游任務時的效果要優于使用傳統的 DeepWalk、LINE 等模型得到的表示所得到的結果。26 圖 15:網絡嵌入學習之 ProNE在 ProNE 中,我們反過來先進行稀疏矩陣分解,再通過傳播的思想把網絡結構屬性融入稀疏矩陣分解學習到的向量表示當中,從而得到最終更新后的節點。三、圖神經網絡圖神經網絡中也體現了傳播(即鄰居聚合)的思想。對于網絡中的每一個節點,我們對其鄰居節點上的信息或信號進行傳播與聚合。例如,對于節點 V,我們可以向它傳遞周圍所有鄰居節點的信息,該節點通過某種方式選擇并整合鄰居的信息,從而更新自身的信息,這一過程可以不斷迭代。同時,V 的信
43、息也可以傳遞給其鄰居節點。圖 16:圖神經網絡 27 這種圖神經網絡的思想來源于傳統的卷積神經網絡(CNN)。在 CNN 中,卷積核包含三部分操作:(1)定義一個鄰域的大小。在如圖 16 所示的例子中,卷積核定義了包含九個像素的鄰域。(2)更重要的是,CNN 中的卷積核隱式地定義了周圍每一個像素的順序。在歐式空間下的網格數據結構中,無論我們怎么平移卷積核,卷積核內部點的相對位置永遠不會變化,卷積核隱式地記錄了某像素周圍所有像素的順序。(3)這種平移不變性使卷積核能夠進行參數共享,我們只需要使用為數不多的參數就可以定義卷積核。當我們將卷積神經網絡的思想遷移到圖神經網絡中時,我們首先定義網絡結構的
44、鄰域(節點的鄰居),接著定義鄰居的順序,最后進行參數分享。圖卷積網絡是當下最流行的圖神經網絡,鄰居的聚合函數可以表示為:)()()(1=vvNukukkvvNuNhWh其中,hvk是節點 v 在第 k 層的節點表示,我們通過通過聚合節點 v 周圍鄰居節點的信息獲得其節點表示。接著,我們通過參數 Wk對鄰居節點的信息聚合結果進行特征變換。最終,將上述特征變換結果輸入給非線性激活函數,用該函數的輸出更新節點 v 的表示。在矩陣形式下,GCN 的聚合函數為:)()()1(kkkWHAH=請注意,鄰居節點的信息是通過歸一化的拉普拉斯算子求得的,并沒有對每個鄰居節點的重要性進行具體的參數化,即不會根據數
45、據調整每個鄰居節點的重要性。圖 17:圖注意力網絡為了在聚合信息時,從數據中學習到每個鄰居節點對當前節點影響的重要性,研究人員基于注意力機制提出了圖注意力網絡(GAT)。在 GAT 的原始論文中,作者使用的注意力機制定義如下:28()()()()(),exp LeakyRuLU a,exp LeakyRu,LU avuvuuN vvQh QhQh Qh=實際上,我們可以根據需求自己設計注意力機制。為了在異構網絡中定義注意力機制,我們提出了 HGT 模型,該模型用特定的參數設置異構網絡中不同類型的關系。例如,在學術網絡中,作者 s 寫了一篇論文 t。我們首先找出 s 與 t 之間的元關系 e=(
46、s,t),該三元組可以表示為()()(),set。因此,對于異構網絡中任意的邊,我們都能以三元組形式表示這種關系。HGT 的核心思想為:基于元關系對每條邊進行參數化定義。圖 18:HGT 中邊關系的參數化定義具體而言,為了表示 s 和 t 之間的關系,我們在如圖 18 所示的公式(3)中使用了多頭注意力。對于每一個注意力頭而言,其注意力與 s 和 t 之間的邊的關系相關。我們需要針對 S 和 T 之間的具體關系定義 W。應用于 s 和 t 的生成查詢向量的操作 Q 和生成鍵向量的操作 K 也需要根據其的節點類型(s),(t)的函數單獨求得。對于異構網絡中任何類型的關系,HGT 會針對它定制一套
47、獨特的參數,從而捕捉不同網絡當中不同類型節點和邊的獨特屬性。29 圖 19:HGT 架構示意圖HGT 的模型架構如圖 19 所示。最左側為異構子圖的輸入網絡,得到圖的初始化嵌入向量后,我們首先針對網絡中每條邊兩端的節點計算它們的異構注意力。同時,我們還需要根據異構網絡的元關系計算任意一條邊傳播的信息。在計算出異構注意力和消息之后,我們根據目標節點的類型對信息進行聚合,最終得到本層中目標節點更新后的節點表示。圖 20:HGT 的相對時間編碼除了異構性的挑戰,現實中的網絡也包含時間信息。為了對時間信息進行建模,我們收到 BERT 中位置編碼的啟發,提出了一種名為“相對時間編碼”方法。如果我們想計算
48、出某節點內在之前某個時間點上的表示,那么我們就將這個節點之前該時刻與當前時刻的相對編碼與當前的節點表示相加,從而得到二十年前的節點表示。30 圖 21:HGT 在微軟學術網絡上的實驗設定我們以微軟學術網絡作為輸入開展了一系列實驗,將該網絡到 HGT 模型中,學習出每一種節點的節點表示,進而利用得到的節點表示完成下游的任務。圖 22:HGT 在微軟學術網絡上的實驗結果如圖所示,實驗結果表明通過對異構網絡中不同邊設置獨特的參數化注意力,相較于傳統的異構圖神經網絡,HGT 可以獲得 10 到 20 個百分點的性能提升。31 圖 23:案例分析圖 23 展示了我們與 2019 年做的一項案例分析,在我
49、們進行實驗的時候并沒有 2020 年的數據。我們使用了相對時間編碼,從而在 2019 年就可以預測 2020 年的學術網絡的情況。以 WWW 會議為例,我們預測 2020 年的 WWW 大會將與數據挖掘、計算機網絡、信息檢索和數據庫相關,但是二十年前的 WWW 2000 與數據庫、網絡、信息檢索的相關更大。同樣,對于數據挖掘頂會 KDD 而言,在 2019 年的案例分析中,我們認為它在2000 年時數據庫和數據挖掘更相關;而到了 2020 年,我們認為 KDD 2020 與機器學習、數據庫、web、人工智能、自然語言處理更相關。對于 NeurIPS 來說,我們也發現它在過去二十年中的演化,我們
50、預測 NeurIPS 2020 除了與機器學習相關,還與計算機視覺和自然語言處理,以及深度學習有關。圖 24:HGT 的重要意義在我看來,HGT 模型最大的貢獻并不是僅僅是性能上的提升,最重要是,它提供了解決異構網絡表示學習(或異構網絡挖掘)的方式。在異構網絡挖掘和異構表示學習領域中,通常情況下,我們需要對某一個輸入的網絡有足夠的了解。遵循孫怡舟老師提出的范式,當我們對網絡有了一定了解之后,針對其設計獨特的元路徑(Meta-Paths),從而進行后期的數據挖掘和表示學習。我們經??紤]如何設計元路徑,以及哪種元路徑是更重要的。HGT 模型遵循了圖神經網絡的基礎架構,對于任何一個中心節點,每當我們
51、堆疊一層圖神經網絡,我們就可以得到該節點與圖結構中一跳之外的節點的關系。更重要的是,對于每一跳的過程,我們可以學習到相鄰兩個節點類型的權重。通過堆疊多層的圖神經網絡,我們能夠自動地學習出元路徑。對于每一種元路徑,我們還可以 32 自動求出它的位置?;趫D神經網絡的異構圖表示學習的優勢在于:沿著這個研究方向,如果我們未來面臨其它輸入的異構網絡,并不需要對該網絡有很深的了解,也不需要人工定義元路徑及權重,可以用 HGT 或者其它的圖神經網絡學習數據中隱含的元路徑及其重要性。四、圖神經網絡的預訓練對圖神經網絡的預訓練受到了自然語言處理和計算機視覺領域預訓練研究的啟發。在自然語言處理領域,以 BERT
52、 為例,其預訓練包含兩個模塊:(1)捕捉數據中信息的強大模型(2)預訓練任務。一般情況下,我們希望預訓練任務是無監督的(不需要標注數據)。BERT 從數據本身出發設計了兩個預訓練的學習任務:(1)掩碼語言建模masked language modeling;(2)下一句預測next sentence prediction。在圖神經網絡預訓練中,我們考慮兩種設定:(1)給定一個輸入網絡,我們基于該網絡預訓練一個模型。在得到預訓練的模型之后,我們可以利用預訓練的模型,幫助我們完成相同網絡數據上的下游任務(節點分類、鏈接預測等),即進行調優(fi ne-tune)。在這種情況下,我們在相同的圖數據上
53、進行預訓練和調優。為了做到這一點,我們仍然需要考慮兩方面的問題:(1)我們應該選用什么樣的模型?是否可以默認選用任意的圖神經網絡?(2)如何設計自監督的預訓練任務?圖 25:GPT-GNN 中的預訓練任務在 GPT-GNN 中,我們提出使用生成式的方法進行預訓練。對于任何輸入的網絡,我們試圖根據部分觀測到的網絡數據生成未觀測到的數據。以圖 25 中左下角的圖為例,給定一個輸入的網絡,我們人為地隨機屏蔽掉一部分節點的屬性和連邊,最后觀測到的節點為綠色的節點。我們的預訓練任務如下:(1)根據觀測到的部分生成下一個未觀測節點 i 的屬性。(2)預測節點 i 與其它節點的連邊。我們可以簡單地獨立看待
54、i 的節點生成和連邊生成任務,即先直接根據已經觀測到的屬性 X 和網絡結構 E 來預測節點 i 的屬性,再單獨預測 i 的連邊。然而,在圖神經網絡當中,我們基于網絡結構對每個節點的屬性進行傳播,因此我們認為這個節點屬性和網絡 33 結構之間存在某種耦合關系。如果用上面提到的簡單方式進行預訓練,則于圖神經網絡最基本的宗旨相違背。所以,在 GPT-GNN 中,我們認為節點 i 的屬性和它的連邊并不是獨立的。在生成 i 的屬性時,我們利用 i 的部分連邊(即圖 25 中的綠色連邊)。當生成 i 的屬性之后,我們把 Xi 加入到觀測到的數據當中,根據之前觀測到的數據和生成的 i 的屬性來生成與 i 相
55、連的未觀測到的連邊(紅色虛線)。圖 26:GPT-GNN 實驗設定綜上所述,在 GPT-GNN 中,我們設計了兩個預訓練任務,即屬性生成和連邊生成,并且在相同的圖數據上進行預訓練和調優。在實驗中,針對輸入的學術網絡,我們采用 HGT 模型作為基礎的 GNN 模型,考慮三種下游任務:(1)預測每篇論文的主題;(2)預測每篇論文發表的會議;(3)作者姓名消歧。圖 27:GPT-GNN 實驗結果我們主要觀測到個重要的實驗結果:(1)所有的預訓練模型都能夠對圖神經網絡在性能上有所提升;(2)我們提出的 GPT-GNN 模型能取得最大的性能提升;(3)我們設計兩種訓練任務都能夠有助于提升 GPT-GNN
56、 模型的性能。34 圖 28:更換 GPT-GNN 中基礎 GNN 模型的實驗結果通過更換基礎 GNN 模型,我們發現 HGT 取得了最好的性能。無論使用哪種圖神經網絡作為基礎模型,我們提出的 GPT-GNN 預訓練模型相對于不使用預訓練技術時都獲得了一定的性能提升。圖 29:使用/不使用預訓練的性能對比如圖 29 所示,給定預訓練好的模型,我們在調優階段使用不同比例的原始數據進行訓練。紫色的折線代表沒有經過預訓練的性能,藍色折線代表使用 GPT-GNN 預訓練之后的性能。我們發現,在不經過預訓練的情況下用所有的百分百的數據所取得的性能,與預訓練之后只使用 10%到 20%的數據進行訓練取得的
57、性能是差不多的。實驗結果說明預訓練能夠在數據比較少的情況下提升圖表示學習及下游任務的性能。在 GPT-GNN 的工作中,我們在相同的圖上進行預訓練和調優。但是生活中有很多不同的圖數據和網絡結構,35 我們希望利用各種各樣的網絡數據預訓練一個圖表示模型,使該圖表示模型(或圖神經網絡)可以學習到所有不同圖數據中普適性的特征和模式。從而幫助我們通過調優,在之前預訓練時未見過的圖上更好地完成下游任務。此時,在跨多個網絡的情況下,設計恰當的預訓練仍然是最重要的問題。我們借鑒了對比學習(contrasive learning)的思想,將實例區分(instance discrimination)作為預訓練任
58、務,判斷兩個實例是否相似,從而為每個實例生成一個表示。為了將對比學習思想應用到圖上的預訓練中,我們需要思考三個問題:(1)如何定義圖中的實例?(2)如何度量不同實例之間的相似度?(3)如何學習到每個實例的表示?圖 30:圖對比編碼為此,我們提出了圖對比編碼算法(GCC)。為了定義圖中的實例,我們以每個節點為中心隨機游走形成一個子圖,并且將該子圖作為一個實例。為了定義兩個子圖實例之間的相似度,我們認為從同一個節點出發進行隨機游走生成的子圖是相似的,從不同節點出發進行隨機游走生成的子圖是不相似的。最后,為了將該子圖實例映射到表示空間中,我們在這里也采用了當下最流行的圖神經網絡。圖 31:GCC 實
59、驗設定在實驗中,我們使用了六個數據集進行預訓練。而在調優階段,我們使用與預訓練時不同的數據,在不同的任務中進行驗證,比如在 US-Airport 數據集上進行節點分類,在 COLLAB、RDT-B 上進行圖分類,在 Aminer 學術網絡上進行節點相似度搜索。36 圖 32:GCC 實驗結果通過上述實驗,我們驗證了:通過對多個圖進行表示學習可以學習到圖內在的普適性結構化模式和特征,這種特征有助于在其它為觀測到的圖上的表示學習任務和具體的下游任務。在介紹完網絡嵌入、矩陣分解、圖神經網絡、圖神經網絡的預訓練中等基于圖的研究之后,接下來我們將介紹這類問題使用的一些常見數據集。OGB 是由斯坦福大學發
60、布的開放的圖數據對比基準測試平臺(類似于計算機視覺領域的 ImageNet、自然語言處理領域的 SQuAD、GLUE)。OGB 包含十個左右的數據子集,并且針對每個數據子集維護了一個算法性能排行榜,大家可以將自己設計的新型圖表示學習算法、基于圖的機器學習算法提交到該平臺上,用 OGB 平臺上的公開數據及測試算法的而性能。我們微軟學術也公開了微軟學術圖譜,該圖譜包含兩億多篇文章,兩億多個作者,以及成千上萬的其它不同類型的實體。更重要的是,這些數據具有時間信息,覆蓋了我們學術界過去兩百年發表的文章。我們還和 Aminer 合作,共同發布了開放學術圖譜 OAG。37 阿里巴巴達摩院楊紅霞:人工智能從
61、感知走向認知認知推薦整理:智源社區 熊宇軒對于阿里巴巴等電商巨頭來說,通過認知推薦準確識別用戶的意圖,為用戶生成個性化的推薦結果是當前推薦系統的研究重點,可以為企業帶來巨大的收益。在本屆智源大會上,阿里巴巴達摩院智能計算實驗室資深算法專家楊紅霞博士帶來了題為人工智能從感知走向認知認知推薦的主題報告?;诖罅繉嵗约岸嗥咚秸撐?,從基礎數據層、推理引擎層、用戶交互層三個層面上深入剖析了阿里巴巴在認知推薦領域的研究進展,揭秘了阿里巴巴強大的推薦系統背后的技術原理。以下為演講內容:在今天的演講中,我想介紹一下我們團隊在認知推薦方面做的一些工作。今天,推薦系統已經覆蓋到了許多方面,但仍然面臨著諸多挑
62、戰。一、阿里巴巴認知計算平臺圖 1:阿里巴巴的生態系統圖 1 展示了阿里巴巴的數據生態系統。大家在購物時,或多或少都會使用到阿里巴巴的一系列產品(如淘寶、天貓、聚劃算)。在阿里巴巴的諸多電商平臺中,淘寶是面向消費者用戶(2C)的平臺,天貓是面向商家(2B)的平臺,聚劃算是類似于Groupon的團購平臺,飛豬的主要業務是旅行,AliExpress 針對的是歐洲市場,A 針對的是美國市場,LAZADA 是東南亞最大的電商平臺上述產品構成了阿里巴巴覆蓋全球 200 多個國家的電商平臺網絡。38 我們的團隊目前正負責手機淘寶和天貓,這也許是全球每天流量最大的電商推薦系統。除了電商平臺(marketpl
63、ace)之外,整個阿里巴巴集團旗下豐富的生態系統實際上還包括其它的組成部分(如新浪微博、高德地圖、螞蟻金服、UC 瀏覽器、優酷娛樂、材料物流、阿里媽媽等),它們也有助于我們更好地了解消費者、服務消費者。我們可以利用以上各方面的數據全面地了解一個消費者。當然,在具體使用這些數據的過程中仍然存在很多挑戰。舉例而言,我們需要考慮數據對齊的問題(例如,如何將用戶在優酷上表達的興趣與電商相聯系)。圖 2:阿里巴巴大數據的類型圖 2 從另外一個角度對阿里巴巴擁有的大數據進行了細分。具體而言,阿里巴巴的大數據體系包括如上文中介紹的電商數據,市場數據、娛樂數據、健康與幸福感(2H)數據等。上述數據構成了阿里巴
64、巴豐富的大數據體系,也有助于我們的推薦系統更加整體地了解消費者。39 圖 3:阿里巴巴認知智能計算平臺下面,我將簡單介紹認知推薦系統的相關概念,以及我們對這一課題的理解。在考慮深度學習的千人千面之前,我們可以把整個手機淘寶當做一個大的超級市場,這個市場中有琳瑯滿目的商品。而在考慮千人千面之后,我們可以認為每個人的超級市場有一個個性化的貨架,這個貨架上上面擺放著該用戶曾經瀏覽或買過的商品,或者跟該用戶一樣的人群喜歡的商品。由于當前大多數的推薦系統是各種深度模型的延展,我們很難跳出這種框架針對每個用戶接下來的需求進行個性化的推理和認知,這也是深度學習模型普遍面臨的挑戰(即深度學習黑盒模型無法進行歸
65、納推理)。我們的團隊希望能真正推理出消費者接下來要做什么,而不單單是對已經發生的行為進行擬合。這個任務面臨著許多挑戰,例如:(1)模型本身是否有足夠強大的歸納推理能力;(2)如何與消費者進行有效的溝通與表達。對大多數人來說,推薦系統如果僅僅局限于推薦商品,但實際上推薦系統的業務范疇已經遠遠超過推薦商品了。今天,每當我們打開手機淘寶,在我們看到的推薦系統的內容中,除了商品之外有各種模態實體的物料(例如,短視頻、直播、達人的圖文經驗分享、基于用戶的興趣點自動生成的不同主題的物料)。如今,推薦系統每天都會處理包含高達幾百億節點、超萬億條邊的網絡。除了商品圖之外,推薦系統還需要處理短視頻圖,以及各種各
66、樣其它的物料圖。面對如此復雜的數據集,我們需要思考如何有效提高召回率,進行全頁面優化(whole page optimization),以及對下一步行為進行推理(next step inference)。我們還應該考慮如何與消費者進行溝通與交互,從而使消費者接受這種推薦。此外,如今手機淘寶上有量級是為幾十億的商品與短視頻,我們需要思考如何曝光應該曝光的商品。不可避免地,手機淘寶上一定存在大量的符合長尾分布的商品。但是眾所周知,在基于采樣的深度學習領域中,公平性(fairness)如今是一個非?;馃岬脑掝}。尤其是對于大數據集而言,公平性問題尤為重要,如果存在嚴重的選擇和曝光偏置,可能大量的流量只
67、集中于頭部的商家和商品,如何曝光幾十億的商品是一個非常棘手的問題。40 當然,并非所有的長尾的商品都需要曝光。根據我們的理解,公平性意味著把流量給那些高效的商品。但是,對于很多處于長尾處的商品(尤其是在冷啟動的時),如果我們沒有給它賦予流量并對其進行曝光,我們也很難判斷它們是否會成為很受歡迎的商品。在沒有任何用戶-物料的序列化交互數據時,如何公平地將流量分配給這些商品是非常值得思考的問題。此外,當我們推薦出了這某些物料之后,如何與消費者進行溝通也是需要研究的重要課題。僅僅將物料推薦出來還是不夠的,我們能不能自動生成一些推薦理由,或者對內容進行搭配呢?因此,真正在超大規模系統的復雜的環境下,進行
68、認知推薦以及與消費者的溝通和互動,對于技術層面和平臺層面來說都是前所未有的重大挑戰。經過兩年多的探索,我們團隊也正在推進一些解決方案,其在線效果非常顯著。我們的實現路徑分為三個層次。第一個層次是基礎數據層,我們擁有十分豐富的數據,但是如果僅僅基于在電商平臺收集到的數據來訓練模型,也很難推理出消費者接下來的意圖。如今,深度學習技術仍然停留在觀測周圍環境(感知)的初級階段。正如人需要經歷小學、中學、大學的教育過程一樣,除了觀察世界,人還需要接受課程教育,不斷的學習。因此,我們必須構造一個專家系統,沉淀知識和常識,構建跨領域的知識圖譜。這種跨領域的知識圖譜相當于一個龐大的專家領域,除了積累觀測數據之
69、外,它可以使深度學習變得更魯棒、更高效。如果缺失了這種跨領域知識圖譜,我們非常容易落到推薦系統的馬太效應當中,即系統只推薦我們曾經觀察過的物料,推薦的范圍就會越來越窄。對于消費者、商家、以及整個平臺的生態系統來說,構建跨領域的知識圖譜是十分重要的。第二個層面是推理引擎層。我們在第一個層面上已經收集到了大量包含用戶-物料交互的數據。這里的物料不僅包括商品,還包括多模態的數據(如短視頻)。眾所周知,短視頻直播的出現極大地改變了消費者的購物習慣,我們的認知智能計算平臺需要能針對這些多模態數據進行推理認知和搭配。也就是說,我們的模型必須能夠進行歸納推理。我們的團隊針對各種模型做了非常多的探索和研究,并
70、進行了落地的實踐。事實證明,基于圖神經網絡的模型可以較好地進行歸納推理。我們建立了世界范圍內首個超大規模的企業級圖神經網絡開源平臺,該平臺并非停留于學術研究層面,在實現過程中涉及許多分布式計算的技術,從而使用戶可以在超大規模的數據集上驗證算法。針對文本、短視頻、商品、用戶序列等多模態數據,如何在同樣的維度上進行價值統一的召回、排序、推薦、打分是值得深入研究的課題。例如,短視頻的點擊率和商品的點擊率差距是十分巨大的。在這種情況下,為了更好地進行推理和認知,進行多模態的預訓練也是非常重要的課題。我們必須把包含短視頻、商品在內的所有的物料表征在相同的嵌入空間上,才能進行更好的召回和排序。第三個層次是
71、用戶的交互層。當我們對需要推薦的物料完成排序之后,還需要與用戶進行高效、友好的交互與溝通。如果我們只是把物料排列在推薦系統的頁面上,也許不能為消費者帶來非常良好的感知體驗。針對以上問題,我們的團隊正在探索兩個學術上還鮮為人所研究的方向:(1)基于用戶交互的視覺智能。在這里,視覺智能包括對圖像和視頻的理解。近年來,研究人員在對于圖像和視頻的理解方面開展了大量的工作,但這些工作 41 本質上仍然是檢索與召回。但是在我們的場景下,我們的目的并不是進行召回。我們想通過將視頻融入到推薦系統中,從而引導消費者做出決策,即有用戶交互和反饋的視覺智能。(2)基于用戶交互的文本智能。我們試圖通過生成某段推薦理由
72、,從而幫助消費者做出決策。例如,在推薦某個電器產品的過程中,如果我們要為某位家庭主婦生成一段推薦理由,我要生成的推薦理由需要與她的背景相關,比如說性價比比較高;如果我們要向一名 IT 工作者生成對于該電器的推薦理由,他可能更關心這個電器產品的品質如何。由此可見,文本智能一定需要考慮與的用戶交互。然而很不幸的是,目前絕大多數該領域中的工作仍然是在做檢索或基于相似性的工作。例如,在自然語言生成(NLG)領域中,諸如 BLEU 等度量標準旨在評價生成的文本與原始的真實數據足夠相似。然而,這種相似性與用戶的決策并沒有直接關系,我們并沒有引入與用戶反饋相關的損失項。從當前來看,該領域的研究仍然處于空白狀
73、態。舉例而言,在進行多模態預訓練時,目前研究人員會利用預訓練的結果幫助我們召回視頻和文本,當前的主流的方法還是基于 BERT 進行各種各樣的擴展(Single-Stream、Double Stream 等)。以圖片為例,我們會召回擁有相同顏色或者相同形狀的圖片,但是這種顏色或形狀相似的圖片并不一定會幫助消費者做出決策。同樣,基于視頻的表征進行召回的結果也并不一定能夠幫助消費者做決策。針對這一問題,我們進行了大量探索,結合用戶的反饋信息序列得到因果嵌入表征。接下來,我分別針對前文提到的數據層、推理層、交互層展開敘述。二、跨領域知識圖譜圖 4:阿里知識圖譜 Hybrid-KG由于我們需要構建跨領域
74、的知識圖譜,這種圖譜中實體的跨領域屬性有很大的差異,我們需要建立核心節點并打通各個不同的圖譜。在我們的工作中,我們以人、商品、商家作為核心的節點打通各個圖譜。具體而言,我們在如圖 4 所示的語料層中設有一個oneData 結構化語料。在得到核心節點之后,對于在不同域中的消費者,我們需要對屬于相同消費者的行為進行聚合和知識提煉。三、圖神經網絡推理引擎我們基于圖神經網絡(GNN)構建了自己的推理引擎。簡單來說,圖神經網絡就是結合了深度學習的圖計算,既 42 體現了深度學習在特征工程、處理高階非線性關系上的強大能力,同時又和圖計算相結合,通過在圖上的游走,進行推理和認知,具有較高的可解釋性。例如,我
75、們可以通過圖上的游走路徑解釋將某種把商品推薦給用戶的原因,或者將短視頻與某商品搭配的原因。盡管我們可以通過圖神經網絡進行歸納推理,但這也意味著我們需要進行高階采樣,這樣會引入更多的風險。例如,在 CTR/CVR 預測任務中,目標函數中的真實值 y 是用戶和物料之間直接相連的邊。但是在圖環境下,我們可能會進行二度或三度的游走。例如,在二度游走中,我們從一個用戶出發,經過物料 A 之后再游走到物料 B。此時,我們可以根據各種理由建立 A 到 B 之間的路徑。購買了 A 的人很可能購買 B,也有可能 B 能夠幫助用戶更好地使用 A,從而使購買了商品 A 的人喜歡觀看視頻 B。但是,對于特定的用戶而言
76、,是否存在 A 和 B 之間的路徑仍然是一個很大的問題,并不一定在大多數人喜歡某件商品的情況下,某位特定的用戶就一定喜歡該商品。因此,在這種場景下存在許多的風險與噪聲。如今,推薦系統和欺詐檢測是 GNN 重要的應用領域。如果某篇論文的作者聲稱他們在推薦系統任務中游走了三度或者三度以上的鄰居節點,那么這篇文章提出的模型一定沒有在真實場景下應用過。因為在三度或三度以上的鄰居節點的游走過程中,推薦系統的風險和噪聲會十分巨大。但是,對于欺詐檢測任務來說,我們必須使用高階(high-order)鄰居節點的信息,因為團伙作案往往會非常的小心,會盡可能的不去留下團的痕跡。所以,我們必須要在圖上游走更多的鄰居
77、,才能檢測出可疑的實體。因此,在不同的領域中,GNN 應該使用的鄰居數量差別非常大。圖 5:網絡嵌入分類圖從推薦系統的角度來看,網絡嵌入方法可以分為兩大類。首先,淺層圖嵌入方法可以分為基于矩陣分解的方法和基于隨機游走的方法。對于基于矩陣分解的方法來說,其最大的問題就是很難進行全局優化,大多數當前的方法仍然是基于周圍鄰居的推薦。此外,每一個節點也不能被表征為良好的嵌入。當下許多深度學習算法都受到了通過 NLP 或者視頻處理算法的啟發。例如,在圖表征學習領域第一個具有里程碑意義的工作 Deepwalk 正是借鑒了 word2vec 的思想。DeepWalk 將每個節點的鄰居作為其上下文,然后對 4
78、3 相應的目標函數進行優化。但是 DeepWalk 沒有進行參數共享,不能有效利用節點屬性。然而,在現實問題中,屬性信息是非常重要的。對于表現出的行為相同的用戶來說,如果他們擁有不同的年齡,來自不同的地域,從事不同的職業,但是最后他們做出的決策可能非常不一樣。由于在某一時刻觀測到的用戶行為一定是不完全的,因此用戶的屬性十分重要。在沒有用戶的屬性信息的情況下,冷啟動的任務也是難以進行下去的。深度嵌入方法則包含圖自編碼器、圖卷積網絡(GCN)、圖的門控循環單元(Graph-GRU)等技術。例如,圖自編碼器指的是將自編碼器技術應用到圖數據上。然而,圖自編碼器仍然面臨著可擴展性和冷啟動的問題,因為自編
79、碼器接收的輸入必須是固定的結構。我們的團隊重點關注基于 GCN 的方法,在真實場景下,這類方法的性能較為優秀。推薦系統包含豐富的序列化、動態的信息,我們試圖通過深度學習中的動態神經網絡(例如,GRU)與圖計算相結合,從而更好地利用這些信息。由于圖具有動態的結構,算法也需要足夠高效并進行動態更新,所以這類工作對平臺和算法都提出了更高的要求。我們團隊的工作主要還是建立在 GCN 的基礎之上。圖 6:基于圖嵌入的推薦圖 6 直觀地展示了推薦系統的概念,可以看出它是一個帶有屬性的異構圖。圖 10 中的物料主要還是指商品,而實際上現在的真實場景下還包含各種各樣其它模態的數據(如短視頻、經驗分享文本等),
80、我們可以利用這些數據進行基于主題的推薦。圖 10 中的邊類型十分豐富(包括點擊商品、添加到購物車等操作),我們需要設計有效的機制對圖中節點進行表征。對于用戶來說,其嵌入代表對用戶當前的購物喜好的表征;而對于物料來說,其嵌入代表消費者對其喜愛成都以及它和其它的物料之間的相關性。我們希望基于得到的嵌入表征進行在線的召回。上面介紹的嵌入主要被用于推薦的召回階段,接下我們還需要對推薦結果進行排序,最后還需要進行端計算(edge computing)。值得一提的是,我們現在非??春枚擞嬎?,它是下一代云計算的發展方向。對于現在的云計算來說,雖然消費者是千人千面,但實際上我們的系統仍然是千人一模。盡管這個模
81、型是非常龐大的集成模型,但是所有用戶都共用同一個模型,并沒有做到針對每位用戶開發定制化的模型,而通過段計算就可以做到千人千模。44 舉例而言,強化學習在自動玩游戲的工作中取得了突飛猛進的進展,但是在工業界的落地效果并不盡如人意,這主要是云計算環境下的延遲造成的。對許多大數據公司而言,搜索、推薦和廣告部門是其核心部門。如果我們使用云計算框架進行推薦,那么我們會預先保存好幾十個將會在當前場景下推薦給用戶的物料。接著,我們要將這些物料傳到用戶的客戶端和手機端上。以手機淘寶為例,每個頁面上可以展示 6 個物料,如果我們每次向用戶傳 30 個物料,那么我們需要等到用戶翻閱完 5 個頁面之后才能再傳 30
82、 個物料。但是,用戶在翻閱第一個頁面時就會產生點擊,停留,手機滑動等動作。在通過云計算框架進行基于強化學習的推薦時,我們需要等到向用戶傳遞下一組(30 個)物料才能改變策略,但是其實用戶在翻閱第一個頁面時就已經發生了行為上的變化,如果此時就將數據回傳至強化學習模型,那么強化學習模型中的狀態(state)和獎勵(reward)其實已經完全改變了。因此,在云計算框架下,進行及與強化學習的推薦是不可行的。但是,在端上是有希望實現這一目標的,我們的團隊正在探索結合網絡嵌入實現這一目標。如果我們能在手機端做到千人千模,這不僅僅會提升推薦效率,這種端計算框架也非常適合應用聯邦學習等算法,從而使我們可以很好
83、地保護用戶的隱私?;诙擞嬎憧蚣艿膹娀瘜W習也可能帶來巨大的推薦效果的提升,我們對這種方法寄予厚望?,F在,我們繼續討論在云計算框架下通過 GNN 進行對物料的召回。實際上,召回結果決定了整個推薦系統性能的天花板。這是我們在進行召回的過程中,會從幾十億個商品、短視頻等物料中召回用戶當下最喜歡的物料。我們會通過排序對這些物料不斷地進行篩選。如果用戶當下最喜歡的物料不在我們的召回結果中,那么推薦系統最終的效果一定不會很好。在運行 GNN 算法時,我們會輸入一個異構屬性圖,希望得到每個節點的嵌入表征。值得一提的是,圖中的節點包含一些特征,這些特征對于冷啟動任務十分重要。首先,我們以每個節點自身的特征作為
84、嵌入表征的初始狀態。在進行信息聚合時,我們需要確定最大的跳數(hop),推薦系統的最大跳數為 2 或 3。因為當跳數太大時,會引入非常大的風險和噪聲。無論 GNN 模型如何變化,在游走經過所有節點的過程中,對某節點進行操作的三個主要步驟為:(1)對該節點的鄰居節點進行采樣。其中,鄰居節點包含積極鄰居和消極鄰居,挑揀出消極鄰居對于最終的嵌入質量非常大。(2)聚合鄰居節點的信息。在選擇完鄰居節點后,我們將鄰居節點的嵌入聚合到目標嵌入中。(3)將信息聚合結果與當前結果上一輪的嵌入進行融合。我們遍歷所有節點,對它們都進行上述三個步驟的操作,直到最終收斂。然而,要在超大規模的系統上執行上述 GNN 的算
85、法步驟是相當具有挑戰的。例如,在分布式計算場景下,我們無法把所有的節點放到一個進程上。此時,某節點與其鄰居節點可能位于不同的進程上,如何設計采樣與通信的機制是一個重要的課題。當圖上的節點數為百萬級時,上述問題還不夠明顯。但如果面對數十億、數百億的節點,上述問題就非常嚴重了。此外,我們還需要數個小時之內訓練完這種超大圖,這對于計算平臺與算法之間的交互是極具挑戰的。對這類平臺的建設方法感興趣的讀者可以參閱本團隊在 VLDB 2019 上發表的論文AliGraph:A Comprehensive Graph Neural Network Platform。在算法層面上,我們總結出了以下幾項重要的挑戰
86、:(1)對代表性樣本和負樣本的采樣(2)異構圖上多路復用(multiplex)。對于節點類型和邊的類型大于等于 2 的異構圖,使用同一套嵌入對異構圖進行表征。例如,由某一種關系組織起來的圖就構成了一個拓撲結構,每一個拓撲結構都會對應于一種嵌入空間中的表征,因此將多個拓撲結構變換為一致的嵌入表征是極具挑戰性的。(3)混合模式。對于每個實體,如果我們只通過一種嵌入向量作為其表征,往往難以在下游任務中得到很好的效果。這是因為推薦系統中包含數十億的各種各樣物料(商 45 品、短視頻、直播、圖文等),每一位用戶都會涉及不同的類目體系。如果我們只為用戶建立一個嵌入表征(代表其喜好),那么該用戶對服裝類的喜
87、好和電器類的喜好就對應于同一個表征。在沒有任何約束條件的情況下,嵌入的效率會非常差,對于物料的的區分度會很低。這也正是我們在實際場景下經常遇到的問題,我們往往會召回非常流行的物料,但是對于每個用戶來說,這種推薦的個性化程度十分有限。因此我們需要為物料建立多個嵌入表征,或者對嵌入的維度進行正交化等特殊的處理。(4)層次化結構。由于人群和物料都存在類別結構,我們需要講這種結構用于嵌入學習。圖 7:計算平臺示意圖我們建立了如圖 7 所示的圖神經網絡計算平臺,平臺主要包含圖引擎和張量引擎兩部分。該平臺支持 TensorFlow 和 PyTorch 編程框架,可以在各個服務器之間進行高效的采樣。我們在包
88、含百億級節點的圖數據上進行了測試,測試結果表明,如果使用 MapReduce 等樸素的方法,僅僅完成采樣工作就需數十個小時,而我們的計算平臺在若干分鐘內就可以高效地完成這項工作。四、圖神經網絡模型圖 8:面向帶屬性的多路復用異構網絡的表征學習 46 如圖 8 所示,我們在 KDD 2019 上發表的論文Representatoin Learning for Attributed Multiplex Heterogeneous Network1 針對上文提到的帶屬性的異質網絡展開了研究。針對這一問題,我們可以有多重解決方案。例如,我們可以并不考慮各種邊的類型和屬性,只考慮邊的連接,從而將其轉化為
89、一個同質圖。此外,我們還可以通過 Deepwalk 等目前最先進的方法來解決這一問題。在真實的阿里數據數據集得到的 F1-score 只有 70%左右。當我們考慮異質的邊之后,F1-score 則會上升至 86%。接著,當我們考慮節點的屬性之后,最后的 F1-score 會上升至接近 90%,可見我們的方法獲得的性能提升是非常顯著的。圖 9:實驗結果當我們考慮不同的異質拓撲結構時,由于我們無法對未觀測的樣本進行推理,因此這里建立的是一種轉導推理模型。在推理過程中,我們只需將屬性信息輸入給模型。在這種轉導推理模型中,我們需要考慮不同邊的信息。與 R 條邊相連的節點 i 有 R 個表征:其中,b
90、為節點的基礎嵌入,為系數,i,r是不同的邊對于該節點的注意力,MrT為分解出的矩陣。這種簡單的模型取得了不錯的效果,也非常適用于并行計算。圖 10:混合嵌入表征 47 我們團隊關于混合嵌入表征的工作Disentabled Representation Learning for Recommendation2發表在了 NIPS 2019 與 KDD 2020 上。在環境極其復雜的情況下,為實體僅僅建立一個表征是不夠的。在這份工作中,我們通過變分自編碼器(VAE)的方式向編碼器中加入了混合高斯,從而進行推理。我們可以為每一個物料建立不同維度(例如,大小、顏色、種類)上的嵌入。當推薦系統發現用戶有買
91、包的意向時,推薦系統根據用戶的點擊和瀏覽序列會發現該用戶對黑色的包比較感興趣,此時推薦系統可以調節表征包的大小的嵌入,從而為用戶推薦大小不同的黑色包。我們可以將其視為一種可控的推薦系統。圖 11:層次化的圖嵌入由于數據中涉及很多層次化的結構(例如,不同的人群,商品、短視頻的不同的類目體系),我們需要更好地利用這種圖中的社區(community)的嵌入。我們與 IJCAI 2019 上發表的論文Hierarchical Representation Learning for Bipartite Graphs3對該問題進行了探索。首先,我們使用 GraphSage 得到一個完整的用戶嵌入。接著,我
92、們假設用戶從屬于不同的社區。因此,我們將完整的用戶嵌入通過投影分解為社區嵌入和個體嵌入。在社區嵌入方面,我們會對用戶在社區空間中的嵌入進行加權平均。對于每一個用戶來說,我們會將其個體嵌入與社區嵌入連接在一起。實驗結果證明,我們的工作得到的性能提升較為顯著。48 圖 12:貝葉斯圖神經網絡 4如今,推薦系統會使用到大量的知識圖譜,也會使用基于用戶行為的圖神經網絡嵌入。而將知識圖譜的嵌入與基于用戶行為的嵌入進行結合也是一個具有挑戰性的問題,困難主要體現在兩個方面:(1)覆蓋率。由于對知識圖譜的挖掘已經是較為費時費力的,其量級為數百萬節點。然而,用戶行為圖譜通常包含超過數百億節點,其計算開銷更加高昂
93、。(2)知識圖譜是一種語義圖,而推薦系統圖是用戶行為圖,它們處于兩個不同的空間中,進行一致性嵌入的挑戰是十分巨大的?;谪惾~斯先驗的思想,在 GNN 的初始化階段,我們可以不再使用節點的特征作為初始表征,轉而將其替換為預訓練好的知識圖譜嵌入。此外,在信息聚合的階段,我們可以通過注意力機制將知識圖譜嵌入用于調整用戶行為圖。如圖 12 所示 4,在結合了知識圖譜之后,除了在下游任務中的 AUC 變得更高,圖的結構也被劃分得更加明顯。五、穩定圖結構由于我們的推薦系統所處的環境十分復雜,所以我們希望學到的圖較為魯棒。49 圖 13:負采樣策略在今年的 KDD 上,我們團隊發表了一系列的工作。首先,我們
94、需要進行有效的負采樣。當前 GNN 領域中的許多工作主要關注于如何進對正樣本進行采樣。而我們從理論上證明負樣本的采樣對于目標函數和減小方差都十分重要。圖 14:MCNS 負采樣與 SampledNCE 框架此外,我們還推出了基于 Metropolis-Hastings 的加速負采樣的過程,并將其與圖表示學習算法統一到了 SampledNCE 框架中。除了性能上的提升之外,模型的方差也得到了降低。50 圖 15:穩定的圖結構學習算法我們還結合了因果圖的思想增強圖結構學習的魯棒性。眾所周知,實際數據中存在選擇偏差、曝光偏差等各種偏差(bias)。我們試圖學習到一種更加穩定的圖結構。例如,對于同一個
95、人或者物料而言,在不同的日期學習對其進行表征學習,如果不加以控制,學習到的嵌入差別會很大。我們基于變分自編碼器的思想,首先利用圖數據訓練一個 GCN,然后在不斷的仿真過程中得到各實體的不同的表征,對這些表征進行平均池化后,最終通過編碼器、解碼器的變換得到魯棒的圖結構。六、推薦系統多興趣圖 16:CLRec-U2U 示意圖 51 每個實體對應于多個嵌入向量的表征。在CLRec-U2U中,我們加入了序列到序列的信號,從而學習到更多關于用戶的嵌入,同時引入希望學習到一些長期興趣。目前,性能最好的推薦系統還是建立在用戶序列化建模的基礎之上。然而,受平臺的限制,這種建模方法主要學習到的是用戶中短期的行為
96、。在推薦系統當中,有一個尚未被很好地解決的開放性的問題:如何學習到以年為周期的用戶興趣。盡管用戶序列建模的效果很好,但是目前我們主要使用的仍然是固定長度的用戶序列。這是因為如今用戶量過大(接近 10 億),對于每個用戶來說,即使我們只考慮過去 500 個點擊的序列,仍然會產生十分巨大的數據量。實際上,對于活躍的用戶來說,500 次點擊可能只需要一兩天就可以完成,但是對于一些不活躍的用戶來說,可能是一年或一個月的點擊量,我們無法對每個用戶都做到以年為周期的多興趣的向量召回與學習。我們的解決方案是,為每一位用戶建立一個周期性的記憶網絡,將目標注意力機制用于用戶的短期興趣,不斷地激活以年為周期的記憶
97、網絡。圖 17:可調控的多興趣推薦框架在我們于 KDD 2020 發表的論文Controllable Multi-Interest Framework for Recomendation5 中,我們將物料嵌入的信息進行聚合,在信息提取層中會得到興趣嵌入向量。在進行在線召回時,我們并不直接召回物料,而是先召回興趣提取層,然后再通過這一層召回對應的物料。通過上述操作,我們可以讓增加興趣的維度。如果直接召回物料的嵌入,可能用戶的興趣某一個類別支配,但是實際上該用戶可能還有其它不易透出的興趣。52 七、基于用戶交互的內容理解圖 18:用戶交互之意圖生成在與用戶交互的過程中,我們主要需要做兩件事情:(1
98、)基于用戶交互的文本理解與生成;(2)基于用戶交互的短視頻理解。在我們 于 KDD 2019 上發表的論文Towards Knowledge-Based Personalized Product Decription Generation in E-commerce6中,我們沿用了 Transformer 的結構,我們對于不同維度上的嵌入應用了不同的 Transformer,同時引入了一個外部的知識圖譜作為詞典?;谶@份工作,我們在手機淘寶中可以通過用戶不同的個人興趣自動生成推薦理由。但是,考慮用戶反饋的自然語言生成仍然是一個具有很大探索空間的課題。在我看來,視頻理解仍然是一個存在很大探索空間
99、的課題。由于視頻是一個故事的序列,僅僅使用一個嵌入來表征一段視頻是遠遠不夠的。另外,在與用戶交互的過程中,某段視頻對用戶做決策的影響也是急需研究的問題。我們通過視頻本身的內容,以及用戶其它的屬性生成了一些標題,幫助用戶更好的去做出決策,根據故事線中的一些因素凸顯出個性化的推薦,這份工作的性能提升也較為顯著。八、結語在本次演講中,我主要向大家介紹了認知推薦中三個主要的模塊:(1)跨領域知識圖譜(2)推理引擎。我們現在主要依靠 GNN 做了很多研究,并真正的落地(3)用戶交互。在通過 GNN 推理出用戶意圖之后,必須和用戶進行交互。我們的研究方向主要是基于用戶交互的文本生成和視頻的理解。參考資料:
100、1 Representatoin Learning for Attributed Multiplex Heterogeneous Network,https:/arxiv.org/pdf/1905.01669v2.pdf2 Disentabled Representation Learning for Recommendation,https:/deepai.org/publication/learning-disentangled-representations-for-recommendation 53 3 Hierarchical Representation Learning for
101、Bipartite Graphs,https:/www.ijcai.org/Proceedings/2019/3984 Bayes EMbedding(BEM):Refi ning Representation by Integrating Knowledge Graphs and Behavior-specifi c Networks,https:/dl.acm.org/doi/pdf/10.1145/3357384.33580145 Controllable Multi-Interest Framework for Recomendation,https:/arxiv.org/abs/20
102、05.093476 Towards Knowledge-Based Personalized Product Decription Generation in E-commerce,http:/ 54 清華大學唐杰:CogDL-基于圖的深度學習開源工具包 整理:學術頭條在第二屆智源大會“知識智能”專題論壇中,清華大學唐杰教授介紹了基于圖的深度學習開源工具 CogDL。CogDL 是由清華大學知識工程實驗室(KEG)聯合北京智源人工智能研究院(BAAI)所開發的基于圖的深度學習的開源工具包,底層架構 PyTorch,編程語言使用了 Python。CogDL 工具包項目頁面:http:/ 鏈接:h
103、ttps:/ 允許研究人員和開發人員輕松地針對圖數據進行表示學習、對比基線算法,支持節點分類、鏈接預測、圖分類等任務。CogDL 的一個特點是整合了當下流行的圖表示學習算法,包括:非圖神經網絡算法如 Deepwalk、LINE、Node2vec、NetMF、ProNE、methpath2vec、PTE、graph2vec、DGK 等;以及圖神經網絡算法如 GCN、GAT、GraphSAGE、GTN、HAN、GIN、Diff Pool 等。工具包重現了所有算法,可以一鍵實現基線算法的對比。55 CogDL 還提供了更多 benchmark 數據集來對不同模型進行更加全面的評測,提供更加客觀的排行
104、榜。與其他圖表示學習工具包相比,CogDL 的特性包括:任務導向:CogDL 以圖上的任務為主,提供了相關的模型、數據集以及我們得到的排行榜。一鍵運行:CogDL 支持用戶使用多個 GPU 同時運行同一個任務下多個模型在多個數據集上的多組實驗。多類任務:CogDL 支持同構/異構網絡中的節點分類和鏈接預測任務以及圖分類任務??蓴U展性:用戶可以基于 CogDL 已有的框架來實現和提交新的數據集、模型和任務。56 項目頁面:http:/ GitHub 鏈接:https:/ CogDL 當前在各個圖任務上不同算法的對比情況(排行榜),包括節點分類(分為是否具有節點屬性),鏈接預測(分為同構和異構),
105、圖分類(分有監督和無監督)。一、節點分類1.1無監督多標簽節點分類這是一個根據無監督的多標簽節點分類設置而構建的排行榜,研究團隊在幾個真實的數據集上運行 CogDL 上的無監督表示學習算法,并將輸出的表示和 90 的節點標簽作為經 L2 歸一化的邏輯回歸中的訓練數據,使用剩余 10 的標簽作為測試數據,計算并按照 Micro-F1 的大小進行排序。57 1.2半監督有屬性的節點分類下面是幾種常見的圖神經網絡算法在半監督節點分類任務上構建的排行榜。研究團隊在經典的三個數據集 Cora,Citeseer 和 Pubmed 進行了實驗,以 Accuracy 指標來評價模型的效果。58 1.3異構節點
106、分類對于異構的節點分類任務,研究團隊使用 Macro F1 來評價模型的效果,在 GTN 算法的實驗設置和數據集下對所有算法進行評估。二、鏈接預測2.1鏈接預測對于鏈接預測任務,我們通過隱去數據集中 10%的邊,然后對隱去的邊進行預測,使用 ROC-AUC 指標來評估模型的性能。ROC-AUC 指標代表了一條隨機未觀察到的邊對應的兩個節點比一條隨機不存在的邊對應的兩個節點更相似的概率。2.2異構鏈接預測對于異構鏈接預測任務,我們會對數據集中的某些視圖下的鏈接進行預測,然后取 Macro ROC-AUC 作為評價 59 指標。我們提出的 GATNE 模型是專門針對這種多視圖的異構網絡,而這里列舉
107、的其他方法只能處理同構網絡,因此我們向這些方法分別輸入不同視圖下的網絡,并為每種視圖下的網絡分別獲得節點表示用于鏈接預測,最后同樣采用 Macro ROC-AUC 作為評測指標。三、圖分類CogDL 統一對有監督和無監督的圖分類算法在相同的若干個真實的數據集上運行和評測。有監督圖分類算法使用 kfold 對算法進行調參、訓練和評測;無監督圖分類算法學習到圖的表示之后,將其作為輸入并利用 90%的圖的標簽作為 SVM 的訓練數據,使用剩余 10%的標簽作為測試數據。兩者均計算并按照 Accuracy 的大小進行排序。60 四、CogDL 怎么用?開發者在 GitHub 項目中介紹了 CogDL
108、的詳細使用方法。CogDL 安裝請按照這里的說明來安裝 PyTorch 和其他依賴項:https:/ https:/ install-e.基本用法可以使用 python train.py-task example_task-dataset example_dataset-model example_method 來在 example_data 上運行 example_method 并使用 example_task 來評測結果。-task,運行的任務名稱,像 node_classifi cation,unsupervised_node_classifi cation,link_predictio
109、n 這樣來評測表示質量的下游任務;-dataset,運行的數據集名稱,可以是以空格分隔開的數據集名稱的列表,現在支持的數據集包括 cora,citeseer,pumbed,PPI,wikipedia,blogcatalog,dblp,fl ickr 等;-model,運行的模型名稱,可以是個列表,支持的模型包括 gcn,gat,deepwalk,node2vec,hope,grarep,netmf,netsmf,prone 等。如果你想在 Cora 數據集上運行 GCN 模型,并用 node classifi cation 評測,可以使用如下指令:python train.py-task no
110、de_classifi cation-dataset cora-model gcn五、自定義數據集或模型提交你的“?!彼惴ǎ喝绻阌幸粋€性能優異的算法并愿意發布出來,你可以在我們的代碼倉庫里提出一個 issue。在驗證該算法的原創性,創造性和效果后,我們將該算法的效果添加到我們的排行榜上。添加你自己的數據集:如果你有一個獨特,有研究價值的數據集并且愿意發布出來,你可以在代碼倉庫里提出一個 issue,我們將把所以適合的模型在您的數據集上運行并更新我們的排行榜。實現你自己的模型:如果您有一個性能優秀的算法,并愿意在工具包中實現它,以幫助更多的人,您可以創建一個 pull request。61 P
111、interest 首席科學家 Jure Leskovec:圖神經網絡的最新研究進展整理:智源社區 任黎明在第二屆北京智源大會“知識智能”專題論壇中,斯坦福大學計算機系副教授,Pinterest 首席科學家 Jure Leskovec 做了題為Recent Advancements in Graph Neural Networks:Simulation,Q2B,and OGB的主題演講。Jure Leskovec 是圖表示學習方法 node2vec 和 GraphSAGE 作者之一,他的主要研究為大規模社交和信息網絡的挖掘和建模,具體研究可查閱 https:/ogb.stanford.edu。在
112、本次演講中,Jure 介紹了圖神經網絡的最新研究進展及如何通過深度學習網絡提高圖神經網絡的表達能力,隨后他深入講述了圖神經網絡如何應用于知識圖譜譜、物理建模等行業領域。以下為演講全文。一、研究背景近年來,機器學習領域的研究極為火熱,伴隨而來產生了一系列深度學習工具箱,這些工具箱大大加速了機器學習在各行各業中的應用。但是回顧這些研究進展,我們會發現其輸入信息的表示形式多為簡單的序列(文本/語音)或矩陣(圖像)。而事實上,并非所有事物的數據都可以視為序列或矩陣,有許多數據是以圖(graph)的形式呈現的。因此,如何將深度學習的研究推廣到這種圖數據上,是一個非常有意思的問題。圖 1:現有機器學習(深
113、度學習)工具箱針對這一問題,圖神經網絡是目前比較熱門的研究方法。Jure 的研究包括對圖神經網絡的每個節點進行圖卷積、正則化等,從而為每個節點提供表示特征?;舅悸肥?,通過這些表示特征對圖中的未知節點(node)訓練一個神經網絡來產生 embedding,然后利用這些 embedding 作為圖神經網絡的輸入進行節點標簽預測、鏈接預測及圖分類等任務。62 圖 2:圖表示學習由于圖神經網絡的 size 具有任意性、結構復雜性、無序性、動態及多模態的特征(圖 3),這些復雜多變的特征給圖神經網絡的研究帶來巨大的挑戰。圖 3:圖神經網絡研究的困難二、圖神經網絡2.1GraphSAGE-圖神經網絡2針
114、對上述挑戰,Jure 在 NIPS 2017 的一篇文章3中提出一種在大圖上進行歸納 表示學習方法。該方法通過卷積網絡對圖中所有節點定義一個計算圖,計算圖中的每一條邊都是一個轉換/聚合函數。在計算圖中,目標節 63 點通過聚合函數從相鄰節點進行采樣和收集目標節點的特征,從而產生一種節點的表示方法,通過這個表示方法可以進行未知節點的分類和鏈接預測。舉例來說,如果要預測節點 A,可以從鄰近的節點(B,D,C)等收集信息(圖 4),然后通過聚合函數學習鄰近節點的信息,來更新節點 A 所在的計算圖的神經網絡以準確預測節點A(圖 5,其中()kAh表示節點 A 的 XA 屬性,()表示 sigmod 激
115、活函數)。圖 4:計算圖網絡圖 5:節點 A 的更新函數與傳統的圖表示學習相比,計算圖方法對給定節點的預測依賴于它的鄰近節點的屬性(圖 6);此外,該方法訓練一組聚合函數,一個節點通過聚合函數從不同 hops 或者不同搜索深度的鄰近節點蘊含的特征信息,可以進行未知節點預測任務。因此,計算圖方法可以看作是學習圖的低通和高通算子的線性組合。圖 6:聚合鄰近節點 64 2.2層級圖表示學習在 NeurIPS 2018 的文章4中,Jure 等人提出了一種基于可微池化的層次圖表示學習算法(Hierarchical graph representation learning with diff eren
116、tiable pooling)。在這項研究中,他們注意到,大多數圖(網絡)是具有層次結構的。而 GNN 的框架是基于 CNN 實現的,但是 CNN 的結構是扁平化的。此外,現有 GNN 僅通過圖的邊進行網絡信息傳播,無法通過層級化的方式對網絡進行推斷。因此,他們基于圖的分層結構,提出了一種可微池化的層次圖表示學習算法 DIFFPOOL,算法的框架如下(圖 7):圖 7:DIFFPOOL 算法框架圖從圖 7 中可以看出,DIFFPOOL 算法是一種分層 pooling 的 GNN 算法,在每一層上都運行一個 GNN 模型來獲得節點的嵌入;然后利用學習到的嵌入信息將節點聚類在一起,并基于這個聚類后
117、的粗化圖,再次運行 GNN 模型;直至最后一層。這個 DIFFPOOL 算法最終會得到整個圖的向量表示,利用這個向量可以進行圖的分類任務。DIFFPOOL 算法的核心思想是通過提供一個能夠區分圖中分層節點的 pooling 操作來得到一個更深、更多層結構的 GNN 模型。同時 DIFFPOOL 算法能夠和多種 GNN 模型進行融合,也說明該算法具有一定的泛化性9。2.3GNN 的表達能力圖神經網絡的研究群體日漸龐大,相繼出現一系列的神經網絡模型。但 GNN 模型的設計主要來自于經驗,極度缺少理論性的解釋。因此一個巨大疑惑自然而出:GNN 為什么有效?在 ICLR 2019 上,Jure 等人發
118、表的How Powerful are Graph Neural Networks?6 一文,回答了這一問題。他們利用一個理論框架分析主流圖神經網絡,1)描述了 GNNs 的性能上限,證明了 GNN 最多只和 Weisfeiler-Lehman(WL)test 一樣有效;2)建立了一個簡單的神經結構圖同構網絡(GIN),并證明了它的判別/表達能力和 WL 測試一樣;3)分析了 GCN 和 GraphSAGE 等主流 GNNs 在捕獲圖結構上的不足和特性。在本次演講中,Jure 認為,GNN 最強大的能力主要表現為它能夠區分不同結構的根子樹(rooted subtrees)。如圖 8 所示,E 和
119、 F 擁有相同的圖結構,假如將圖中所有節點信息去掉,那么圖神經網絡顯然無法區分不同的節點;而如果 GNN 的聚合函數具有高度表達性,并且該聚合函數能夠對有重復元素的鄰近節點特征向量進行單射函數建模,則 GNN 就能區分紫色和粉紅色的兩個根結點。65 圖 8:根子樹基于以上研究,Jure 提出關于圖神經網絡的三個重要結論。a.圖神經網絡可以做到的兩點 學習如何從附近節點“借用”特征信息來豐富目標節點。如果想要對一個目標節點進行預測,那么可以通過聚合函數從鄰近節點得到相關信息及特征,并學習如何以最佳的方式表示該節點的特征;如果想提高目標節點的預測精度,也可以擴大鄰近節點的范圍。每個節點都有不同的計
120、算圖,這個網絡可以學習局部的圖結構。b.計算圖是可以選擇的 因為聚合函數并沒有要求必須所有鄰近點都參與,可以對鄰近點進行策略性地選擇或抽樣,這種策略在實際應用中已經獲得了巨大的成效。c.GNNs 在一些情況下也會出錯因為 GNN 無法區分同構節點,因此在沒有節點特征的情況下,具有相同根子樹的節點將會被歸為同一類。三、圖神經網絡的應用3.1圖神經網絡學習物理模擬器在 ICML 2020 上,Jure 等人與 Google、DeepMind 合作發表了一篇用圖網絡來學習仿真復雜物理現象(特別是復雜流體動力學和粒子運動學)的研究 5。用 ML 學習仿真的優點在于,通過模擬復雜物理現象的結構可以直接學
121、習物理定律、優化效率、提高現有物理模擬器的精度,并可以用于控制和推斷。在這篇文章的研究中,Jure 等人在給定的粒子環境中,定義了一個圖神經網絡來學習復雜物理模擬器。他們根據規定粒子在目標粒子周圍的位置特征,建立了領域圖方法來預測粒子的特征,這些特征包括位置、速度、加速度等。然后通過圖神經網絡對整個復雜的粒子運動過程進行循環更新反饋(圖 9)。通過這種方法,可以將不同類型的材料的性質轉變為圖神經網絡中節點的特征,通過對不同特征的表示學習,從而可以了解材料的狀態及性質是如何隨著運動狀態的改變而變化的。66 圖 9:GNNs 在復雜物理現象模擬中的應用3.2 知識圖譜推理圖神經網絡可以與知識圖譜進
122、行結合進行推理,但在推理中存在諸多問題,例如復雜異構(多種類型的實體和關系),對較大的知識圖譜進行知識查詢(邏輯推理)時會有許多噪聲以及存在未觀察到的數據等。針對這些問題,Jure 等人使用復雜的多度查詢的方法對知識圖譜的鏈接(link)進行推理預測。復雜多度的查詢方法是通過圖神經網絡的表示學習將知識圖譜(包含節點和實體的聯合輸入查詢 q)嵌入到歐幾里得空間,并在歐幾里得空間中應用表示學習優化與知識圖譜網絡相對應的神經網絡算子。在知識圖譜推理過程中不同知識圖譜的節點會被一個框覆蓋,通過框的交叉變換對這些神經網絡算子進行優化,然后通過查詢嵌入空間中的鄰近節點,從而預測某個節點或鏈接(link)是
123、否滿足知識圖譜知識查詢(邏輯推理)的查詢目標。所以,這個方法也被稱為查詢框嵌入(圖 10)。圖 10:查詢框嵌入方法以“所有加拿大圖靈獎得主都從哪里畢業?”(Where did Canadian citizens with Turing Award graduate?)為例,用知識圖譜來學習實體的嵌入。首先,從”Turing Award”節點開始,應用一個表示學習的神經網絡算 67 子,把“Turing Award”嵌入進去,通過“Turing Award”框交叉變換可以覆蓋所有圖靈獎得主;然后,對于“Canadian”節點也通過神經網絡算子進行轉化可以覆蓋所有加拿大人;最后,通過圖靈獎得主框
124、和加拿大人框的交叉點來確定加拿大的圖靈獎得主的畢業院校(圖 11)。通過實例表明,基于查詢框的方法可以對知識圖譜進行任意邏輯的推理。Jure 認為圖神經網絡在因果推理中具有很大的潛力,有望成為人工智能領域的新拐點。圖 11:GNNs 在知識圖譜推理中的應用四、結語演講最后,Jure 介紹了其團隊在機器學習社區的開放圖基準(圖 12)的相關研究及在斯坦福大學網站提供的github 代碼庫,這個代碼庫與現有的深度學習框架(如 Tensorfl ow 和 pytorch)兼容,代碼庫中的模型包括數據加載、圖形表示、數據分割、評估、跟蹤進度及鏈接預測等,并且代碼庫中提供了從化學和生物學到社會和信息網絡
125、,及知識圖譜譜的數據集。相關內容可以在 https:/ogb.stanford.edu 網站獲取。圖 12:開放圖基準 68 參考文獻:1 Scarselli et al.2005.The Graph Neural Network Model.IEEE Transactions on Neural Networks.2 https:/ Inductive Representation Learning on Large Graphs.W.Hamilton,R.Ying,J.Leskovec.NIPS,2017.4 Hierarchical Graph Representation Learni
126、ng with Diff erentiable Pooling.R.Ying,et al.NeurIPS,2018.5 https:/ How Powerful Are Graph Neural Networks?.K.Xu,et,al ICLR 2019.7 Learning to simulate complex Physics with Graph Networks.Sanchez-Gonzalez,Godwin,Pfaff,Ying,Leskovec,Battaglia,ICML 2020.8 Query2box:Reasoning over Knowledge Graphs in V
127、ector Space Using Box Embeddings.H.Ren,W.Hu,J Leskovec,ICLR 2020.9 Embedding Logical Queries on Knowledge Graphs.W.Hamilton,P.Bajaj,M.Zitnik,D.Jurafsky,J.Leskovec.NeuIPS,2018.10 Representation Learning on Graphs:Methods and Applications.W.Hamilton,R.Ying,J.Leskovec.IEEE Data Engineering Bulletin,201
128、7.11 Probabilistic Embedding of Knowledge Graphs with Box Lattice Measures.Vilnis,et al.ACL 2018.12 Open Graph Benchmark:Datasets for Machine Learning on Graphs.W.Hu,M.Fey,M.Zitnik,Y.Dong,H.Ren,B.Liu,M.Catasta,J.Leskovec.Arxiv 2020.13 Graph Convolutional Neural Networks for Web-Scale Recommender Systems.R.Ying,R.He,K.Chen,P.Eksombatchai,W.L.Hamilton,J.Leskovec.KDD,2018.