文獻閱讀(14)ACM2018-Learning dynamic embeddings from temporal interactions

本文是對《Learning dynamic embeddings from temporal interactions》一文的淺顯翻譯與理解,原文章已上傳至個人資源,如有侵權即刻刪除。
更多網絡表示學習相關文章,請移步:文獻閱讀總結:網絡表示學習

Title

《Learning dynamic embeddings from temporal interactions》
——ACM2018
Author: Srijan Kumar

總結

文章提出了一種耦合遞歸算法JODIE,借鑑卡爾曼濾波的思想,從用戶與物品之間的交互學習他們的動態嵌入。算法由三個部分組成,分別是更新部分、推斷部分和預測部分。更新部分用來每次對兩個相互遞歸的遞歸神經網絡中用戶與物品的嵌入進行更新,推測部分結合節點的先前嵌入對未來任意時刻的嵌入進行推斷,預測部分即常見的對未來發生的交互進行預測。此外,還提出了一種新型的批採樣方法t-batch,具有通用性,可以有效提高算法的運行效率。

1 JODIE

設一次交互S_j=(u_j,i_j,f_j,t_j),分別表示用戶、物品、特徵向量和時間。目標輸出是用戶和物品的動態嵌入,下表爲所用到的符號。
在這裏插入圖片描述
算法直接預測發生交互的用戶與商品的嵌入,而非交互概率,因此只需要執行前向傳播,主要操作如下圖所示。
在這裏插入圖片描述
算法中,對任意節點嵌入,都分爲兩類,即靜態和動態嵌入。
對靜態嵌入,不隨時間而變化,是節點的長期屬性,使用one-hot向量來表示。
對動態嵌入,是節點的演變行爲,算法提出了相互遞歸的遞歸神經網絡來學習,過程分爲三個主要部分,即更新、推斷和預測。

更新(update)

算法利用兩個遞歸神經網絡分別學習用戶和商品的嵌入。對輸出,使用one-hot向量會使得模型不可行,這是由於空間複雜度的問題,該向量只能縮放到很小的規模。因此使用包含大量信息的的動態嵌入,有:
在這裏插入圖片描述
其中u(t-)表示用戶在交互前的嵌入,Δu表示u上一次交互至今的時間。

推斷(project)

估算節點在發生交互一段時間後的嵌入,設這種推斷得到的嵌入爲^u(t+Δu)。Δu指交互後的時間,利用線性層將其轉化爲時間環境向量w,並對w初始化爲0權重的高斯分佈,則有:
在這裏插入圖片描述
w本質上是一個注意力向量,將過去的節點嵌入擴展到當前狀態,整體過程如下圖所示。
在這裏插入圖片描述

預測(predict)

該部分同其他算法一樣,都是爲預測未來節點的交互,但有所不同的是,算法並不預測發生交互的概率值,而是直接預測交互節點的嵌入,因此僅需前向傳播。預測得到的嵌入,可以使用k最近鄰算法,得到與嵌入關係最爲緊密的節點,即爲預測的交互節點。

算法的目標在於最小化預測得到的嵌入與真實嵌入之間的差距,有損失函數如下:
在這裏插入圖片描述
第一部分是最小化預測嵌入差值,後兩部分是正則化項,分別防止用戶和商品的連續動態嵌入過大,在此並不涉及負採樣,因爲輸出是直接預測的嵌入。
JODIE算法如下所示:
在這裏插入圖片描述
步驟簡單解釋即,給定交互時間,得到推斷的節點嵌入,根據推斷嵌入及靜態嵌入得到預測嵌入,與真實值相比計算損失值,最終更新節點嵌入。

2 t-batch

該算法是一種採樣算法,來更好地並行化處理數據。

相互遞歸的遞歸神經網絡從本質上就有別於單獨的遞歸神經網絡,後者雖然可以並行化,但忽略了用戶對用戶的相互依賴性,因此兩個遞歸神經網絡的情況是不能獨立訓練的。

對採樣算法,有着如下的基本規則:
(1)所有用戶和商品在同一批次內最多出現一次,這是爲保證併發性。
(2)用戶或商品的第k和k+1次交互所分配的批次要遵照時間順序,這樣第k次的嵌入就可以用到k+1次的交互上。

原始的採樣算法雖然可以滿足以上條件,但其速度較慢且規模較小。
t-batch算法如下:
在這裏插入圖片描述
t-Batch的關鍵思想是將第j個交互,如用戶u和i之間的交互,分配給包含u或i任意交互的最大批處理ID之後的批處理ID。

即,在包含u或i的所有批id中取最大值,新的包含u和i的交互能存放的批次id,就要在這個最大值之後。比如第2批中包含u,第6批中包含i,那麼u和i的交互就要放到7以後的批次中。

對t-batch算法對上述兩個條件的滿足,有證明如下:
在這裏插入圖片描述

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