**
A Simple Convolutional Generative Network for Next Item Recommendation
**
2019 WSDM
這篇文章主要是與Caser進行對比,設計了NextItNet模型,它借鑒pixelCNN的思想,采用層疊的1維空洞卷積擴大感受野來提取item序列特征,加入了殘差學習的機制以防止梯度消失的問題,并且為了減少模型中的參數,使用了1*1卷積核進行降維和升維操作。
Problem
- 基于RNN的序列推薦模型,通常依賴于整個過去的隐藏狀态,不能充分利用序列進行并行計算,是以模型的速度在訓練和評估中受到了限制。
-
Caser的局限性:
(1)對長序列資料模組化時,使用max pooling不能确定重要特征出現的次數(可能有多個重要特征,但max pooling隻提取了一個)并且無法确定該重要特征的位置;
(2)Caser屬于淺層網絡,難以捕獲複雜的關系以及對長期依賴模組化;
(3)在生成下一個item時,caser隻考慮了最後一個item的條件機率分布。
Caser的大緻結構:
本文模型與Caser的不同之處:
(1)機率估計顯式模組化了序列中所有item的狀态轉移分布,而不僅是最後一個item;
(2)NextItNet是一個深層的網絡結構;
(3)卷積層采用的1維空洞卷積而不是标準的2維卷積;
(4)沒有使用pooling層。
對Caser局限性(3)的解釋說明:
Caser和GRURec在預測下一個item xi時,僅考慮了x0:i−1即前i-1個item,即是單一條件機率:p(xi |x0:i−1, θ)
是以,通常情況下需生成多個子序列資料進行模型訓練
作者認為這種方式是分别對子序列進行各自優化,不能保證最優結果,而且會導緻很多計算上的浪費。
于是作者采用了如下預測方式:輸入序列為x0:14,目标為x15,輸出為x1:15
p(x)表示item序列x = {x0, …, xt }的聯合機率分布,作者使用了條件分布的乘積對p(x)模組化:
Network Architecture
Embedding Look-up Layer:
給定item序列 {x0, …, xt },對前t個item {x0, …, xt−1} 做embedding,每個item embedding的次元為2k
得到item embedding矩陣大小為t×2k
Dilated layer(空洞卷積層):
使用空洞卷積增大感受野的同時不會改變“圖像”大小,,間隔使用零填充,不會引入更多的參數,是以更适用與長序列。
其中,使用的卷積核大小為1×3,感受野(receptive field):r,第j層卷積層:Fj,通道(channel):C,空洞大小:l(每隔l-1個孔卷一下)
b圖中,空洞大小l取值為 1,2,4,8,由這四層堆疊而成。當卷積核寬度為f=3時,空洞卷積的感受野呈指數增長為 r=2(j+1)-1,而普通卷積的感受野呈線性增長為r=2j+1。
空洞卷積的視窗大小為:
空洞卷積運算的結果:
One-dimensional Transformation:
由于卷積層采用了1維空洞卷積,而embedding層得到的是size為t×2k的嵌入矩陣E。是以,需先将E reshape。
Masked Convolutional Residual Network
使用殘差塊,緩解梯度消失問題。
(a)是每經過一次卷積就進行一次殘差連接配接,其中采用1×1卷積将通道數從2k縮到k,再用1x1卷積将其恢複為2k,用以減少網絡中的參數;
(b)是每經過兩次卷積就進行一次殘差連接配接(如圖2(b)中的藍線)。兩圖采用的normalization均為layer normalization。
(a)中參數個數:1 × 1 × 2k × k + 1 × 3 × k × k + 1 × 1 × k × 2k = 7k2
(b)中參數個數:1 × 3 × 2k × 2k = 12k2
Dropout-mask
為了避免未來的資訊洩露,不讓網絡用未來的item資訊預測目前item的資訊,作者使用方式(d)進行padding,padding的大小為(f − 1) ∗ l。
Final Layer
在最後一層卷積層的輸出Eo∈Rt×2k,由于最後的輸出應該為x1:t的機率分布矩陣,即Ep ∈ Rt×n,輸出矩陣的每一行代表softmax操作後xi(0 < i ≤ t)的分類機率分布。是以作者在最後一層卷積層後又加了一層卷積卷積核大小為1×1×2k×n(n代表所有item的數量)。與(c)同理,将Eo(t×2k,1)轉換為(1×t,2k)的size,然後用n個1×1×2k卷積核卷積。
模型訓練
優化目标是最大化log-likelihood, 最大化logP(x)等價于最小化x1:t序列中每個item的二進制交叉熵損失之和。
在實際場景中,softmax開銷太大,用smapled softmax和負采樣解決,此時要将最後一層1×1卷積層替換為權重Eg∈R2k×n的FC層。
Experiments
資料集
評估标準
[email protected] (Mean Reciprocal Rank) , [email protected] (Hit Ratio) and [email protected] (Normalized Discounted Cumulative Gain). N is set to 5 and 20 for comparison.
實驗結果
表4中without表示不包含sub-session sequence
表5證明NextItNet中殘差子產品提高了模型的性能
表6說明了不同embedding size對模型性能的影響
表7展示了三個模型訓練速度的比較
圖5證明本文模型的收斂速度快于另兩個模型
Future work
将考慮引入上下文資訊和使用者資訊。