石川教授在2017年提出了HERec模型,摘要部分如下圖。

HERec論文筆記

近期,我對這篇論文的主要工作做了整理,首先,

HERec傳送門

paper:

code:

如摘要表達,本文透過異構網路表徵學習來最佳化推薦系統效果。

主要工作

可總結為以下兩點:

提出一個新的異構網路嵌入方法

透過embeddings與MF模型結合聯合最佳化推薦效果

模型框架

可以劃分為三個子模組:

construction of HIN

->

HIN embedding

->

Recommendation

拿一個使用者(user)對電影(item)評分的例圖來說明以上模組之間的聯絡:

HERec論文筆記

接下來,我將有序講解這三個子模組

1。 construct HIN

這裡略過異構網路的具體構建細節,主要想說明兩點,一個是關於

異構網路的相關定義

:HIN,meta-path等。如有不懂,請參考石川老師在2015年的文章。

另一個是本文主要目標是推薦,因此構建異構網路時,需要結合推薦的特點,例如,如果用評分r作為推薦指標的話,那就可以構建成三元組,透過訓練預測評級得分來最佳化模型

2。 HIN embedding

這部分是文章的核心“知識點”,受

deepwalk

經典表徵學習演算法的啟發,

作者將其應用在異構網路中,提出基於元路徑的隨機遊走策略來學習節點表示。因為最終目標是提高推薦效果(預測評分準確率),因此,對deepwalk生成的節點序列,作者做了篩選,由於評分只涉及user和item, 因此只保留有效節點(user和item)的同構節點序列,你可能好奇為啥只保留成同構序列,中間節點沒意義嗎?這裡,結合文章的闡述,我來解釋一波!

解:

序列篩選的操作中有個細節,拿一個從節點d出發的節點序列q來說,假設d的節點型別是A,透過將序列q中與出發點d型別不一致的節點去掉,使整個序列中節點型別都是A,即

同構序列

,這樣既保留了異構網路中的節點關聯資訊,還能為後續將序列對映到一個統一空間中進行有效表徵降低了難度。

ok,既然說到對映表徵了,就接著講,這裡作者借鑑了

node2vec

的最佳化策略

HERec論文筆記

透過SGD最佳化上述函式,實現了節點序列到節點表徵的對映 f(·)

到這裡,

稍微總結

下上邊說的都幹了啥,首先,作者透過基於元路徑的隨機遊走策略為異構網路中的每個節點學習多個序列表示(為啥是多個?因為從每個節點出發的元路徑有多個),對這些序列做篩選處理,只保留有效節點(看起來就清爽了很多),透過最佳化對映函式,將節點序列對映到向量空間表示(注意,這個時候每一個有效節點對應有多個向量空間表示,因為有多個元路徑嘛,對元路徑還有疑惑的請上滑至第一部分的construct HIN,連結卡片點起來!)

那問題來了,一個節點對應有這麼多的表示,直接與後續MF模型進行結合是一件很麻煩的事。所以,需要一種方法將其轉換成合適的方式(合適的方式就是,一個節點只對應一個向量空間中的表示)——融合,文中提出線性和非線性三種融合方法:

HERec論文筆記

HERec論文筆記

HERec論文筆記

由於線性融合在複雜資料關係建模中表達能力有限,文中結果也顯示用非線性(方法3)可以增強融合效果。注意,融合之後的向量空間由M,b維度確定。

ok,經過上述一系列處理(random walk,filter,fusion)之後,節點的embeddings就這樣學好了,接下來,將在第三個子模組給您介紹文章如何將embeddings結合到傳統的MF模型中進行推薦最佳化的。這裡補充對當前子模組的思考:

前邊meta-path based random walk之後,作者是先將其轉換成同構資料再來做下游任務,這樣處理雖然能保留元路徑規定下的節點關聯資訊,但是異構網路的結構資訊(如meta-path是人為規定的)不能得到充分學習表示,因此,後續需要研究直接處理異構網路的框架。目前得知Deep Graph Library (

DGL

) 是一個應用到圖結構的深度學習框架,

並且還提供了用

DGL復現

最近提出的圖表徵模型(GCN,RGCN,GAT,HAN等等)的程式碼:

在本文研究的基礎上,石川老師團隊先後在節點層和語義層使用attention機制繼續最佳化預測模型,如

HAN模型

3。 Recomendation

HERec論文筆記

上邊這個公式就是結合之後的評分預測表示式啦,

\alpha和\beta

是超參,

\gamma_{i}和\gamma_{u}

分別是

e_{i}和e_{u}

進行最佳化目標和轉換維度(因為embeddings是個向量,要想結合MF計算一個得分,剛好需要一個向量相乘來抵消)對應的向量引數。具體最佳化方法是梯度下降來最佳化上述公式中的引數和融合函式g(·)中引數 ( g(·)哪裡來的?這得問問元路徑們啦 )。

至此,模型框架的三個子模組已經講完了,下面簡單說下文章的實驗部分,作者將HERec模型與基於MF的變體模型在三個資料集(douban movie/book,Yelp)上對比了MAE和RMSE指標,提升效果顯著。此外,作者還分析了元路徑們對預測效果的影響,解釋了在特定任務中某些元路徑的作用更重要,關於可解釋性分析,HAN模型分析更加明瞭。

我在復現論文過程中,記錄了論文和程式碼中引數的對應關係,以及預設值,字醜,見諒!

HERec論文筆記

HERec論文筆記

寫在後面:

這是第一次寫文章記錄我的論文筆記,理解有錯的地方,歡迎留言指正!!!

後續,我會定期更新GCN的最新研究進展,喜歡的話,記得三連~

今天也是2019年的最後一天,明天就是新的一年啦,有夢想的人繼續加油啊!