天天看點

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

1.引言

回顧推薦系統的發展,離不開模型、資料、訓練方式三個次元的創新。模型層面,基于内容的推薦系統到協同過濾的矩陣分解,以及神經網絡帶來的序列化模組化,使得使用者表征和商品表征刻畫越來越精細;資料層面,長短期行為的切分,基于session的推薦[1],跨場景行為的引入,資料的豐富和模組化為使用者興趣的挖掘提供更多的可能;訓練方式上,分布式訓練架構,線上學習,高維稀疏特征處理,優化器設計,進而支撐商業化推薦系統。然而,性能提升的同時,我們也看到推薦系統的可解釋性逐漸變成黑盒。使用者的興趣偏好如何表征,興趣如何演變,不同時間點的曆史行為由哪種因素主導,這一系列的問題都對現代化推薦系統的解釋提出了挑戰。

2.可解釋推薦

可解釋性推薦一直以來都是推薦系統的核心問題。傳統的基于内容的推薦系統,我們可以從使用者次元與商品次元的比對來解釋推薦結果;基于商品的協同過濾,我們可以将使用者的每條曆史行為作為錨點來召回相似的商品。但針對一個完全深度化的網絡模型,我們很難得知使用者為何會喜歡給定的商品,具體哪些次元起到主導因素。

近些年來,對抗學習的發展對資料的生成過程、模型的魯棒性帶來了新的思考。Conditional GAN[4]可以在給定的條件下,訓練模型生成任務;SeqGAN[2]将生成任務從圖像領域聚焦到文本領域,實作離散空間的資料生成過程;而IRGAN[3]則首次提出将推薦系統的生成範式和判别範式統一到一個對抗學習架構下。

我們可以看到判别器的引入能夠為模型的設計帶來充分的靈活性,一個值得思考的問題是:“對抗學習的架構以及判别器的引入能否為推薦系統可解釋性提供一種可能?”

3.多判别器模型

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

圖1. 多判别器序列推薦架構

按照這個思路,我們提出了一個基于多判别器的對抗學習架構MFGAN,針對序列推薦模型,改善模型的推薦結果和可解釋性。如圖1所示,整個架構主要分為兩個部分:

1)生成器G:一個基于transformer[5]結構的序列推薦模型,給定使用者的曆史行為序列,預測使用者下一時刻的行為;

2)多判别器{D_1,D_2,…,D_m}:不同于經典對抗網絡的單生成器單判别器架構,我們嘗試引入多個判别器子產品,從不同的資訊次元來判别生成的使用者互動序列是否合理。

舉一個簡單的例子,考慮一個電影推薦系統,我們的生成器基于使用者曆史觀影行為,來預測使用者下一時刻偏好的電影ID。對應的,判别器可以分别從電影流派、上映熱度、主創陣容等次元分别判斷生成的影視作品在這些次元上和使用者曆史行為的一緻性,進而解釋使用者在觀影行為上的偏好,到底是影視類别主導的觀影習慣,還是影視熱度等因素。

引入判别器後的解耦架構,能夠為推薦系統帶來很多優勢:

1)首先,生成範式的推薦模型往往面臨商品候選集豐富,采用極大似然優化受到資料稀疏和樣本選擇偏誤的影響,而判别器則能夠提供額外的監督信号,改善模型的訓練過程;

2)其次,增強模型的靈活性,将生成任務和判别任務解耦,資訊次元的擴充轉變為判别器的增加,每增加一個次元的資訊,對應的引入相應的判别器子產品即可,生成器能夠更加專注資料的生成任務,排除無用資訊和資料噪音的幹擾;

3)在特征次元稀疏的情況下,以及模型應用階段,可能會遇到大量特征無法使用的情況,解耦後的生成器能夠在預測的時候不依賴這些特征的輸入,起到較好的泛化效果;

4)多判别器的架構為推薦系統的可解釋性提供可能,這種可解釋性可以細粒度到解釋使用者不同時間點的行為,以及我們關注的互動次元和商品屬性。

具體的,每個子產品的網絡設計及訓練架構如下:

3.1生成子產品

生成器的模型結構,主要是參考目前最新的transformer[5]結構。事實上,生成器的設計并不局限于具體的網絡結構,經典的平均池化、LSTM都可以用到生成器中。我們用G_θ表示生成器,網絡參數為θ,網絡結構主要由embedding表征、multi-head self-attention子產品、網絡輸出三部分組成:

1)embedding表征主要負責将離散輸入轉換成連續向量,包括商品的ID embedding E和位置資訊embedding P,最終生成器的網絡輸入為E_G=E+P;

2)multi-head self-attention子產品,負責在不同的位置以及特征空間進行資訊的抽象和彙總,以及借助非線性層來增加網絡的表達能力。具體的,multi-head self-attention子產品的實作如下:

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

其中,F^l是l層的網絡輸入,第0層的話,對應F^l=E_G。h表示head的數量,每個head對應一個特征空間,從不同的特征轉化空間來聚合資訊。attention函數采用放縮内積,計算公式如下:

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

其中,需要注意的是,在序列生成過程中,我們一般隻考慮單向資訊,self-attention過程中會mask掉後續位置的資訊,防止未來資訊的洩漏。此外,multi-head self-attention并不具備非線性的能力,我們會在self-attention之後引入bottleneck結構的非線性層來增加網絡的表達能力,計算如下:

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

3)網絡輸出層,在生成器的最後一層,我們以最後一個位置壓縮的資訊作為使用者表征,使用者對候選商品的打分借助内積方式進行計算,是以整個商品池上的使用者偏好分布為:

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

其中,M_G是商品ID對應的embedding矩陣。

3.2判别子產品

判别器的設計,網絡結構同樣參考transformer。但像前面提到的,我們采用了多判别器架構,每個判别器負責一個資訊次元上的判别任務。具體的,我們有m個判别器D_Φ = { D_(ϕ_1 ),D_(ϕ_2 ),…,D_(ϕ_m ) },每個判别器對應網絡參數ϕ_j。判别器不共享參數,獨立工作,網絡結構包括embedding表征、multi-head self-attention子產品、網絡輸出三個部分:

1)embedding表征主要負責将不同次元的資訊轉換為連續向量。對于離散特征,我們直接one-hot後進行embedding;對于連續特征,我們先進行離散化再embedding。判别器ϕ_j對應的特征embedding為C_j,位置資訊embedding為P(與生成器共享參數),最終網絡輸入為E_D^j=C^j+P;

2)multi-head self-attention子產品,網絡結構基本與生成器相同,具體實作的過程,我們發現一層self-attention結構,對于判别器就是足夠的,判别任務相對簡單,網絡複雜度也相對可控。不同的是,判别器可以引入雙向的監督資訊,分别從前向和後向角度判别生成器生成的序列在對應資訊次元上的合理性。一層self-attention實作如下:

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

3)網絡輸出層,每個判别器是一個二分類任務,我們将self-attention最後一個位置的輸出,經過前向神經網絡和sigmoid激活函數,最終輸出模型的預測值:

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

事實上,我們有m個判别器,最後得到一組判别器的預測分數{ y ̂_1,y ̂_2,,…,y ̂_m},分别從不同資訊次元判别生成器生成推薦商品的合理性。

3.3對抗學習

由于生成器生成推薦商品是一個離散過程,整個模型的優化在對抗學習的架構下需要引入policy gradient進行求解。在t時刻:

1)狀态s為使用者之前的曆史行為i_(1:t-1)={i_1,i_2,…,i_(t-1)};

2)動作a為下一時刻推薦的商品,動作的輸出由政策π即生成器模型G_( θ)來決定;

3)獎勵r為采用動作後獲得的回報,我們借助多判别器D_Φ的輸出作為獎勵r,來評價生成器生成推薦商品的合理性;

我們定義獎勵期望函數Q(s,a)為判别器輸出的權重函數:

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

其中,λ作為模型超參數,調整不同判别器之間的權重。預設情況下λ=0,我們采用平均權重,綜合考慮每個次元上的監督信号。訓練過程整理在算法1.,判别器的監督信号借助policy gradient回傳給生成器,生成器和判别器在預訓練後,采用交叉訓練的方式,在每一輪疊代過程中提升彼此的性能。

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

算法1. 多判别器序列推薦模型訓練架構

4.實驗結果

最後,我們通過實驗結果,來說明模型的效果,實驗資料集分别采用Movielens-1M、YAHOO Music、STEAM GAME,我們主要設計三類實驗:

1)對比多判别器推薦模型和近幾年推薦系統相關工作的推薦效果,驗證判别器的引入能夠改善模型訓練過程,提供極大似然估計以外的監督資訊;

2)驗證該架構下不同元件的有效性,尤其是判别器的設計;

3)說明多判别器架構對于模型可解釋性的可行性;

4.1實驗結果對比

模型對比上,一方面對比經典的非序列模型如PopRec、BPR、FM、IGRAN,另一方面對比近幾年提出的序列模型如FPMC、GRU、GRUF、SASRec[6]。評價名額采用NDCG、HIT Rate和MRR。從表1.中,我們可以看到序列模型能夠更加有效的壓縮使用者曆史資訊,刻畫使用者表征,進而提升推薦效果。尤其是在Movielens和Yahoo Music資料集上,序列模型提升在15個點左右。MFGAN是在SOTA模型SASRec的基礎上引入多判别器子產品,借助額外的監督資訊,我們看到在三個資料集上均有2到3個點位的提升。

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

表1. 模型性能對比

4.2判别器元件分析

圖2.中給出了不同資料集所用到的資訊次元,每個資訊次元對應一個判别器。圖中的評價名額采用NDCG@10。紅色表示當采用全部資訊次元時模型取得的性能,¬表示删除對應的資訊次元的推薦效果。從實驗結果中,我們能夠觀察到每個資料集上不同資訊次元的重要性排名,像是MovieLens,知識圖譜的引入能夠顯著改善推薦結果,Music資料集和Game資料集則分别是Artist和Popularity次元。

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

圖2. 不同資料集判别器資訊次元對于推薦結果的影響

4.3可解釋性分析

像我們前面一直提到的,多判别器架構為模型的可解釋性提供可能,我們分别以Movielens影視資料和Yahoo Music音樂資料集來分析。圖3和圖4分别給出了樣本中使用者的曆史互動行為,以及不同資訊次元判别器的打分,我們用紅色标注在每個時間點上所主導的資訊特征。以圖3為例,使用者的頭兩次觀影行為(Star War: episode VI和E.T. the Extra-Terrestrial)由popularity因素所主導,第三次行為由category主導,觀看電影JURASSIC PARK,後續的第六次和第七次行為回歸Star War系列和E.T.系列,主導因素為category。整個行為序列跟判别器的信号回報直覺看下來是比較合理的,我們能夠推進一步斷該使用者可能是一個星戰迷或者動作電影迷。類似地,圖4中使用者的聽歌記錄中,第一、四、七次行為的曲目來自同一個歌手,對應的判别器給出的信号也是artist。從這樣的用例分析中,我們能夠發現判别器的判别信号能夠作為模型可解釋性的一個代理,幫助我們了解使用者的行為和轉移規律。

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

圖3. MovieLens資料集用例分析

Sequential Recommendation with Self-Attentive Multi-Adversarial Network

圖4. Music資料集用例分析

5.總結

本文的工作主要是提出一個多判别器的序列推薦架構,将生成推薦任務和資訊次元的判别解耦開,無論是生成推薦任務還是資訊次元的擴充,都能夠在一個相對靈活的架構下進行,以及判别器結構的引入也提供了推薦系統深度模型可解釋性的不同思路。整個工作後續還可以有更多的發散性,無論是應用領域擴充next-basket推薦還是理論研究上分析對抗架構下的資訊互動方式,都是很有意義的方向。

6.參考文獻

[1] Hidasi, Balázs, et al. "Session-based recommendations with recurrent neural networks." arXiv preprint arXiv:1511.06939 (2015).

[2] Yu, Lantao, et al. "Seqgan: Sequence generative adversarial nets with policy gradient." Thirty-first AAAI conference on artificial intelligence. 2017.

[3] Wang, Jun, et al. "Irgan: A minimax game for unifying generative and discriminative information retrieval models." Proceedings of the 40th International ACM SIGIR conference on Research and Development in Information Retrieval. 2017.

[4] Mirza, Mehdi, and Simon Osindero. "Conditional generative adversarial nets." arXiv preprint arXiv:1411.1784 (2014).

[5] Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems. 2017.

[6] Kang, Wang-Cheng, and Julian McAuley. "Self-attentive sequential recommendation." 2018 IEEE International Conference on Data Mining (ICDM). IEEE, 2018.

更多資訊檢索技術内容請檢視:

獨家下載下傳!《SIGIR 頂會論文解讀》電子書重磅釋出

繼續閱讀