本文是工業界和學術界共同合作的產物。Layer 6 AI 和 University College Dublin 的科學家們提出一種透過整合矩陣分解(MF)模型和對抗式 Seq2Seq 模型的多工學習框架,並利用強化學習來嘗試生成評論,藉以解答推薦系統的研究和應用領域一種“殿堂”級的難題——推薦系統的評分預測的可解釋性。除此之外,該模型的預測準確性超過了現有推薦模型的效果。
作者丨薑松浩
學校丨中國科學院計算技術研究所碩士
研究方向丨機器學習、資料挖掘
模型結構
該多工學習的推薦模型架構可分為兩個部分:
第一部分為利用對抗式的 Seq2Seq 模型學習生成使用者對 item 的相關的個性化評論,將此評論作為模型推薦的潛在特徵模型生成的可解釋依據;
第二部分為一種內容敏感型 PMF 模型透過評論文字學習合併的潛在 item 特徵,最終透過一種妥協的同步學習方式完成標的,整體結構如下圖所示。
對抗式Seq2Seq
這部分模型的輸入可分為兩部分,一部分為使用者的評論資料,例如使用者 i 的評論文章定義為,這部分資料用來表示使用者的偏好。另一部分為 item 的評論資料,item j 的評論資料定義為,這部分資料則表示為 item 的情況。
模型結構方面,針對使用者的 Seq2Seq 與針對 item 的 Seq2Seq 結構一致,但其引數略有不同。經典的 Seq2Seq [2] 會存在先驗的標註情況,但是這種方式會導致 exposure bias 這樣的問題。exposure bias 就是說後一項預測依賴於前一項的預測情況,隨著時間的推測,這種方式導致錯誤會逐漸發生積累和偏移。
這篇文章中提出的 Seq2Seq 的方式與經典的 Seq2Seq 不同。文章首創一種對抗式 Seq2Seq 模型,與常見的 GAN 方式一樣包括判別網路和生成網路。
生成模型部分,該部分與經典的 Seq2Seq 基本一致,用來生成相關評論。首先將一條評論中的一系列詞彙利用預訓練的 Word2Vec 的方式表徵為 k 維的向量,然後利用雙向 GRU 單元得到潛在的向量,該向量為雙向的 concat 結果。將使用者 i 釋出的所有評論向量 h 進行平均計算得出關於使用者的特徵。
在 t 時刻,首先將預測的詞對映為對應的然後與使用者特徵進行 concat 組成 decoder 的 GRU 部分的輸入,獲得的隱藏層向量 h 經過一層矩陣相乘處理後,利用 Softmax 函式進行機率預測得出 t 時刻的預測詞。其機率預測方式如下公式所示。此外,初始化時為隱藏層向量為 0 向量。
判別模型部分,這篇論文的判別的模型目的與常見的判斷文字是不是由人生成的不同,這篇輪的判別目的不僅在於是不是由人生成的,還在於生成的文字與觀察的內容主題是不是一致。該部分模型借鑒經典的 TextCNN [3] 結構進行判別,將評論詞彙向量與使用者特徵向量進行 Concat 處理後作為輸入,模型結構如下所示。
利用強化學習訓練對抗結構。論文將生成模型 G 作為強化學習的 agent,而判別模型 D 的置信機率作為獎勵,生成的評論越能欺騙 D 獎勵越多,因此其訓練函式如下所示。
該函式不利於使用梯度上升法進行前反饋訓練,因此將利用策略梯度的方式得出梯度,梯度公式如下所示。
此外模型為了實現多工訓練的目的,利用 L1 正則對 MF 模型學習到的特徵向量與 Seq2Seq 產生的特徵向量進行正則化,最終該對抗 Seq2Seq 網路的損失函式定義如下所示。
內容敏感型PMF模型
這部分模型與 2008 年在 NIPS 發表的 PMF 模型 [4] 基本一致。評價機率計算公式如下所示。
其中,表示使用者 i 對 item j 有評論,否則為 0。此外論文還定義了與使用者和 item 的潛在特徵向量的先驗機率分佈,公式如下。
公式右側的 U、V 分別為對抗 Seq2Seq 中生成的潛在特徵向量。
最佳化方式
由於在內容敏感的 PMF 階段,利用到了 Seq2Seq 部分生成的中間結果,因此無法用常見的隨機梯度下降的方式同步進行引數最佳化。論文借鑒了經典的 EM 演演算法,保證部分引數不變的情況下進行最最佳化,反覆迭代直至收斂的過程。
首先,先將 Seq2Seq 得到的使用者與 Item 的潛在向量作為先驗知識,關於 U、V 的後驗分佈機率可以定義如下。
而相關的損失函式可已轉化為如下公式。
然後,將 U、V 固定對抗式 Seq2Seq 演演算法按照上述的損失函式定義,進行最最佳化,反覆迭代直至收斂。整個模型的演演算法最佳化過程的偽程式碼如下圖所示。
模型實驗效果
論文使用均方誤差(MSE)作為對預測評分的評價指標。對 Yelp 2013、Yelp 2014 等 5 個國際通用資料集進行試驗,結果如下所示。
MT 為本論文所提出的的多工學習的推薦演演算法模型,由實驗結果所示,該演演算法模型的 MSE 的結果最多個資料集的結果中都表現最優。
對於推薦系統的演演算法解釋效果如何,最佳的評價方式就是線上與使用者進行互動調研。但目前論文還沒有這樣做,論文采用了一種妥協的方式評價生成的評論質量如何。
利用 Perplexity [5] 的評價指標對比其他生成模型的生成效果以及 tf-idf 的相似性計算方式評價生成的評論與真實評論的近似性,結果如下所示,本論文模型生成的評論效果最佳。
論文評價
這篇論文發表於 2018 年的推薦系統頂級會議 RecSys,論文嘗試用生成評論的方式解決推薦演演算法的解釋合理性難題,並將預測評分率的效果達到了 state-of-the-art。評論生成的方式作為推薦解釋的方式雖然存在爭議,但不失為一條路徑。
論文中涵蓋了多種前沿領域的研究熱點,包括對抗式網路、AutoEncoder、強化學習、多工學習等等,是值得一看的優質應用論文。
參考文獻
[1] Lu Y, Dong R, Smyth B. Why I like it: multi-task learning for recommendation and explanation. Proceedings of the 12th ACM Conference on Recommender Systems. ACM, 2018: 4-12.
[2] Sam Wiseman and Alexander M Rush. 2016. Sequence-to-sequence learning as beam-search optimization. arXiv preprint arXiv:1606.02960 (2016).
[3] Yoon Kim. 2014. Convolutional neural networks for sentence classification. arXiv preprint arXiv:1408.5882 (2014).
[4] Andriy Mnih and Ruslan R Salakhutdinov. 2008. Probabilistic matrix factorization.In Advances in neural information processing systems. 1257–1264.
[5] Leif Azzopardi, Mark Girolami, and Keith Van Risjbergen. 2003. Investigating the relationship between language model perplexity and IR precision-recall measures.In International ACM SIGIR Conference on Research and Development in Informaion Retrieval. 369–370.