Predicting Dynamic Embedding Trajectory in Temporal Interaction Networks
- 摘要
- 介紹
-
- 挑戰
- 貢獻
- 問題定義
- 方法
-
- Embedding update operation
- Embedding projection operation
- 如何訓練
- 模型訓練
- t-Batch
- 實驗
-
- 實驗1:Future interaction prediction
- 實驗2:User state change prediction
- 實驗3:Runtime experiment
- 實驗4:Robustness to the proportion of training data
- 實驗5:Embedding size
原文連結: JODIE.
摘要
JODIE使用兩個遞歸神經網絡在每次互動時更新使用者(user)和項目(item)的嵌入。至關重要的是,JODIE還可以模拟使用者/項目的未來嵌入軌迹(embedding trajectory)。為此,它引入了一種新穎的投影算子,該算子可以在将來的任何時候學習估計使用者的嵌入程度。這些估計的嵌入然後用于預測未來的使用者-項目互動。
介紹
挑戰
- 僅僅在互動時更新節點資訊,如果沒有互動則節點不會更新。
- 節點是有固定屬性的,固定屬性不會随着時間的推移而變化。
- 通過使用者為所有項目打分來預測互動在時間複雜度的角度上是不切實際的。
- 現有方法通過線性訓練模型,時間複雜度高。
貢獻
- user和item都有兩個embedding:static embedding以及dynamic embedding。
- JODIE模型包括兩種元件:update operation以及projection operation。前者用于更新使用者和項目的embedding資訊,後者用于預測未來的embedding軌迹。
- t-Batch,作者建立了一個稱為t-Batch的批處理算法,通過建立獨立互動的訓練批來訓練JODIE,以便可以在并行進行中處理每個批中的互動。
問題定義
JODIE用于學習user以及item的embedding trajectories。
定義user-item之間的互動 S r = ( u r , i r , t r , f r ) S_r=(u_r,i_r,t_r,f_r) Sr=(ur,ir,tr,fr),表示在user u r ∈ U u_r \in \mathcal{U} ur∈U和item i r ∈ I i_r \in \mathcal{I} ir∈I在時間 t r ∈ R + t_r \in \mathbb{R}^+ tr∈R+發生的事件,其中 f r f_r fr表示互動事件的特征。
下表為文中常用符号:
符号 | 意義 |
---|---|
u ( t ) u(t) u(t)和 i ( t ) i(t) i(t) | 使用者 u u u以及項目 i i i在時間 t t t的dynamic embedding |
u ( t − ) u(t^-) u(t−)和 i ( t − ) i(t^-) i(t−) | 使用者 u u u以及項目 i i i在時間 t t t之前的dynamic embedding |
u ˉ \bar{u} uˉ和 i ˉ \bar{i} iˉ | 使用者 u u u以及項目 i i i在時間 t t t的static embedding |
u ^ ( t ) \widehat{u}(t) u (t) | 使用者 u u u在時間 t t t的projected embedding |
j ~ ( t ) \widetilde{j}(t) j (t) | 預測項目 j j j的embedding |
方法
Embedding update operation
在update operation操作中,使用者 u u u和項目 i i i之間的互動 S = ( u , i , t , f ) S=(u,i,t,f) S=(u,i,t,f)用于生成使用者 u ( t ) u(t) u(t)項目和 i ( t ) i(t) i(t)在時間 t t t時刻的dynamic embedding。
RNN U \text{RNN}_U RNNU用于通過所有使用者資訊更新user embedding。
u ( t ) = σ ( W 1 u u ( t − ) + W 2 u i ( t − ) + W 3 u f + W 4 u Δ u ) u(t)=\sigma(W^u_1u(t^-)+W^u_2i(t^-)+W^u_3f+W^u_4\Delta_u) u(t)=σ(W1uu(t−)+W2ui(t−)+W3uf+W4uΔu) RNN I \text{RNN}_I RNNI用于通過所有項目資訊更新item embedding。
i ( t ) = σ ( W 1 i i ( t − ) + W 2 i u ( t − ) + W 3 i f + W 4 i Δ i ) i(t)=\sigma(W^i_1i(t^-)+W^i_2u(t^-)+W^i_3f+W^i_4\Delta_i) i(t)=σ(W1ii(t−)+W2iu(t−)+W3if+W4iΔi)其中 Δ u \Delta_u Δu表示 u u u上一次與其他 i i i互動的時間, Δ i \Delta_i Δi表示 i i i上一次與其他 u u u互動的時間, f f f為互動特征向量, W W W為學習矩陣, σ \sigma σ為sigmoid函數。
Embedding projection operation
用于生成使用者未來的 embedding trajectory,該embedding可用于下遊任務。
projection operation的兩個輸入為:
- 使用者 u u u在時間 t t t的embedding u ( t ) u(t) u(t)
- 以及經過的時間 Δ \Delta Δ
對于 Δ \Delta Δ而言,通過一個全連接配接層生成一個向量 w ∈ R n w \in \mathbb{R}^n w∈Rn。 u ^ ( t + Δ ) = ( 1 + w ) ∗ u ( t ) \widehat{u}(t+\Delta)=(1+w)*u(t) u
(t+Δ)=(1+w)∗u(t)随着 Δ \Delta Δ的增大,projection embedding的偏移量越大。
如何訓練
如果
- 使用者 u u u與項目 i i i在時間 t t t發生互動;
- 使用者 u u u與項目 j j j在時間 t + Δ t+\Delta t+Δ發生互動。
那麼,在 t + Δ t+\Delta t+Δ之前是否可以預測使用者 u u u與哪一個項目互動?
我們訓練JODIE模型,使用 u u u的projected embedding u ^ ( t + Δ ) \widehat{u}(t+\Delta) u
(t+Δ),另一個設計的關鍵是,JODIE直接輸出項目embedding j ~ ( t + Δ ) \widetilde{j}(t+\Delta) j
(t+Δ),而非 u u u與 j j j之間的機率,以減少時間複雜度。
我們通過最小化 L 2 L_2 L2指數進行訓練: ∣ ∣ j ~ ( t + Δ ) − [ j ˉ , j ( t + Δ − ) ] ∣ ∣ 2 ||\widetilde{j}(t+\Delta)-[\bar{j},j(t+\Delta^-)]||_{2} ∣∣j
(t+Δ)−[jˉ,j(t+Δ−)]∣∣2 其中 j ~ ( t + Δ ) \widetilde{j}(t+\Delta) j
(t+Δ)為預測的item embedding, [ j ˉ , j ( t + Δ − ) ] [\bar{j},j(t+\Delta^-)] [jˉ,j(t+Δ−)]為真實的item embedding(動态+靜态embedding), [ x , y ] [x,y] [x,y]表示concat操作。
預測的item embedding j ~ ( t + Δ ) \widetilde{j}(t+\Delta) j
(t+Δ)通過全連接配接層得到:
j ~ ( t + Δ ) = W 1 u ^ ( t + Δ ) + W 2 u ˉ + W 3 i ( t + Δ − ) + W 4 i ˉ + B \widetilde{j}(t+\Delta)=W_1\widehat{u}(t+\Delta)+W_2\bar{u}+W_3i(t+\Delta^-)+W_4\bar{i}+B j
(t+Δ)=W1u
(t+Δ)+W2uˉ+W3i(t+Δ−)+W4iˉ+B其中 u ^ ( t + Δ ) \widehat{u}(t+\Delta) u
(t+Δ)為user的projected embedding, i ( t + Δ − ) i(t+\Delta^-) i(t+Δ−)為上一個和 u u u互動的item i i i。
模型訓練
Loss函數如下:
L o s s = ∑ u , j , t , f ∈ S ∣ ∣ j ~ ( t ) − [ j ˉ , j ( t − ) ] ∣ ∣ 2 + λ U ∣ ∣ u ( t ) − u ( t − ) ∣ ∣ 2 + λ I ∣ ∣ j ( t ) − j ( t − ) ∣ ∣ 2 Loss=\sum_{u,j,t,f \in S}||\widetilde{j}(t)-[\bar{j},j(t^-)]||_2+\lambda_U||u(t)-u(t^-)||_2+\lambda_I||j(t)-j(t^-)||_2 Loss=u,j,t,f∈S∑∣∣j
(t)−[jˉ,j(t−)]∣∣2+λU∣∣u(t)−u(t−)∣∣2+λI∣∣j(t)−j(t−)∣∣2
t-Batch
(留個坑)
實驗
實驗1:Future interaction prediction
預測 t t t時刻,預測user u u u與哪一個item i i i互動。
實驗2:User state change prediction
其任務是預測一個互動是否會導緻使用者的狀态變化。
實驗3:Runtime experiment
運作時間比較
實驗4:Robustness to the proportion of training data
通過改變訓練資料的百分比和比較模型的性能來驗證模具的魯棒性
實驗5:Embedding size
我們驗證了embedding大小對結果的影響。