陳卓 姜偉豪 杜軍威
摘要:推薦系統(tǒng)旨在從用戶-項(xiàng)目的交互中進(jìn)行建模,為用戶推薦感興趣的內(nèi)容,從而提高用戶體驗(yàn).然而大多數(shù)用戶-項(xiàng)目的序列并不總是順序相關(guān)的,而是有更靈活的順序甚至存在噪聲.為解決這一問(wèn)題,提出一種基于策略記憶的深度強(qiáng)化學(xué)習(xí)序列推薦算法,該算法將用戶的歷史交互存入記憶網(wǎng)絡(luò),使用一個(gè)策略網(wǎng)絡(luò)將用戶當(dāng)前的行為模式更細(xì)致地劃分為短期偏好、長(zhǎng)期偏好以及全局偏好,并引入注意力機(jī)制,生成相應(yīng)的用戶記憶向量,利用深度強(qiáng)化學(xué)習(xí)算法識(shí)別對(duì)未來(lái)收益較大的項(xiàng)目.在用戶和項(xiàng)目的交互中不斷更新、強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)的策略以提高推薦準(zhǔn)確性.在兩個(gè)公共數(shù)據(jù)集的實(shí)驗(yàn)中表明,本文所提出的算法與最先進(jìn)的基線算法相比,召回率指標(biāo)在2個(gè)數(shù)據(jù)集上分別提升了8.87%和11.20%.
關(guān)鍵詞:推薦系統(tǒng);強(qiáng)化學(xué)習(xí);策略網(wǎng)絡(luò);注意力機(jī)制
中圖分類號(hào):TP181文獻(xiàn)標(biāo)志碼:A
Research on Deep Reinforcement Learning Sequential Recommendation Algorithm Based on Policy Memory
CHEN Zhuo,JIANG Weihao,DU Junwei
(School of Information Science and Technology,Qingdao University of Science and Technology7,Qingdao 266061,China)
Abstract:The recommender system aims to build a model from the user-item interaction and recommend the content of interest to users,so as to improve the user experience. However,most user-item sequences are not always sequentially related but have more flexible sequences and even noise. In order to solve this problem,a deep reinforcement learning sequence recommender algorithm based on strategy memory is proposed. The algorithm stores the user's historical interaction in the memory network,and then uses a strategy network to divide the user's current behavior pattern into short-term preference,long-term preference,and global preference,and introduces the attention mechanism to generate the corresponding user memory vector. The deep reinforcement learning algorithm is used to identify the projects with great benefits in the future. The strategy of the reinforcement learning network is continuously updated in the interaction between users and items to improve the accuracy of the recommender. Experiments on two public data sets show that the proposed algorithm improves the recall index by 8.87% and 11.20%,respectively,compared with the most advanced baseline algorithm.
Key words:recommender systems;reinforcement learning;policy network;attention mechanism
隨著科學(xué)技術(shù)的發(fā)展,信息過(guò)載的問(wèn)題也越來(lái)越嚴(yán)重,推薦系統(tǒng)的成功應(yīng)用可以有效地緩解這一難題.然而,用戶興趣總是隨著時(shí)間的推移而產(chǎn)生變化,因此,序列推薦系統(tǒng)(Sequential Recommender Systems,SRS)[1]應(yīng)運(yùn)而生.序列推薦系統(tǒng)將用戶-項(xiàng)目交互視為一個(gè)動(dòng)態(tài)序列,捕捉用戶當(dāng)前和最近的偏好,以獲得更準(zhǔn)確的推薦,該系統(tǒng)在購(gòu)物以及影音網(wǎng)站等都有著很好的應(yīng)用.
不同于基于內(nèi)容的協(xié)同過(guò)濾[2]以及基于矩陣分解[3]的傳統(tǒng)推薦系統(tǒng),序列推薦系統(tǒng)根據(jù)模型的復(fù)雜程度可以分為兩類,包括傳統(tǒng)的序列模型和神經(jīng)網(wǎng)絡(luò)模型.傳統(tǒng)的序列模型例如基于馬爾科夫鏈的模型對(duì)序列中的用戶-項(xiàng)目交互進(jìn)行建模,并計(jì)算相互之間的轉(zhuǎn)移概率,該方法只能捕獲短期依賴并且忽略用戶的總體興趣.神經(jīng)網(wǎng)絡(luò)模型例如基于循環(huán)神經(jīng)網(wǎng)絡(luò)的模型通過(guò)給定的用戶-項(xiàng)目交互序列來(lái)預(yù)測(cè)下一交互,但該方法假設(shè)任何相鄰交互都是有關(guān)系的并忽略多個(gè)項(xiàng)目的共同作用.
大多數(shù)的序列推薦系統(tǒng)只專注于當(dāng)前收益,對(duì)于即時(shí)回報(bào)較小但有較大未來(lái)收益項(xiàng)目的識(shí)別度不高.比如用戶在觀看了有關(guān)游戲和天氣的短視頻后,可能不會(huì)再關(guān)注今天的天氣;但是看了喜歡的游戲之后,更傾向于觀看更多與游戲相關(guān)的視頻.深度強(qiáng)化學(xué)習(xí)可以統(tǒng)一優(yōu)化即時(shí)收益和長(zhǎng)期收益[4],將用戶的狀態(tài)進(jìn)行動(dòng)態(tài)建模,并學(xué)習(xí)到最優(yōu)推薦策略,以提高推薦準(zhǔn)確率.現(xiàn)有的深度強(qiáng)化學(xué)習(xí)狀態(tài)的表示是將用戶之前交互的項(xiàng)目按照一定的順序進(jìn)行建模,無(wú)法區(qū)分用戶交互序列中的不同行為模式,因而無(wú)法較為準(zhǔn)確地預(yù)測(cè)用戶的當(dāng)前興趣偏好.深度強(qiáng)化學(xué)習(xí)做預(yù)測(cè)時(shí),可選擇的動(dòng)作空間較大且數(shù)據(jù)較為稀疏,導(dǎo)致算法收斂困難.本文使用深度強(qiáng)化學(xué)習(xí)中的深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法,該算法不再計(jì)算每個(gè)項(xiàng)目的概率而是基于確定的策略,這更有利于處理連續(xù)動(dòng)作,并且提高了算法的收斂速度.
本文提出了一種將用戶策略記憶與DDPG算法結(jié)合的方式來(lái)解決以上問(wèn)題.本文的貢獻(xiàn)可以總結(jié)為以下幾點(diǎn):
1)使用記憶網(wǎng)絡(luò)存儲(chǔ)用戶歷史交互序列,并訓(xùn)練一個(gè)策略網(wǎng)絡(luò),通過(guò)用戶和其歷史交互對(duì)用戶當(dāng)前行為模式進(jìn)行劃分.引入注意力機(jī)制,根據(jù)策略網(wǎng)絡(luò)的輸出對(duì)記憶網(wǎng)絡(luò)使用不同的注意力表示方法并生成用戶當(dāng)前的記憶向量表示.
2)提出結(jié)合策略記憶的深度強(qiáng)化學(xué)習(xí)推薦算法(Deep Reinforcement Recommendation with Policy Memory,DRRM),將用戶表示、用戶當(dāng)前偏好以及用戶記憶作為狀態(tài)輸入,利用DDPG算法預(yù)測(cè)用戶喜好,在交互中不斷更新推薦策略,該算法同時(shí)考慮了推薦項(xiàng)目對(duì)用戶的當(dāng)前收益及其對(duì)用戶的長(zhǎng)期影響.使用探索策略提高推薦多樣性.
3)通過(guò)在兩個(gè)公共數(shù)據(jù)集上進(jìn)行的實(shí)驗(yàn),驗(yàn)證了所提出算法的有效性,其效果明顯強(qiáng)于基線算法.
1相關(guān)工作
1.1序列推薦系統(tǒng)
序列推薦系統(tǒng)是近年來(lái)的研究熱點(diǎn),通過(guò)對(duì)用戶的行為序列進(jìn)行建模,考慮用戶興趣的依賴性,為其推薦下一時(shí)刻所感興趣的項(xiàng)目.傳統(tǒng)的序列推薦算法有:Feng等人[5]提出了基于距離嵌入的個(gè)性化排序算法(Personalized Ranking Metric Embedding,PRME),將用戶序列建模為馬爾可夫鏈,并嵌入歐氏空間,基于距離計(jì)算項(xiàng)目相互之間的轉(zhuǎn)移概率.Liu等人[6]提出了基于上下文感知的序列推薦算法(Context-Aware Recurrent Neural Networks,CA- RNN),該算法使用特定輸入矩陣和轉(zhuǎn)移矩陣進(jìn)行推薦,但該算法不利于捕獲交互序列中高度相關(guān)的項(xiàng)目信息.Wang等人[7]提出的基于注意力機(jī)制的事務(wù)嵌入推薦算法(Attention-Based Transaction Embedding Model,ATEM)通過(guò)注意力機(jī)制來(lái)觀察和識(shí)別與下一個(gè)項(xiàng)目相關(guān)的上下文信息.Kang等人[8]提出的基于自注意力的序列推薦算法(Self-Attentive Sequential Recommendation,SASRec)將自注意力機(jī)制應(yīng)用于序列推薦系統(tǒng),用于捕獲序列的長(zhǎng)期語(yǔ)義,并在訓(xùn)練速度上有一定的提升.
上述算法進(jìn)行序列推薦時(shí),總是假定相鄰兩交互是相關(guān)的,而對(duì)于具有靈活順序的長(zhǎng)序列的識(shí)別能力不強(qiáng).
1.2基于記憶網(wǎng)絡(luò)的推薦算法
由于需要長(zhǎng)期記憶來(lái)存儲(chǔ)問(wèn)答知識(shí)或聊天的語(yǔ)境信息,記憶網(wǎng)絡(luò)(Memory Networks,MN)[9]由Weston首次提出,以這種有效的方式來(lái)簡(jiǎn)單地讀寫(xiě)此類信息,該模型最初被應(yīng)用于智能問(wèn)答領(lǐng)域.Chen等人[10]提出了一種基于用戶記憶網(wǎng)絡(luò)的推薦算法(Recommender system with User Memory networks,RUM),該算法首次將記憶網(wǎng)絡(luò)應(yīng)用于推薦系統(tǒng),通過(guò)對(duì)用戶交互項(xiàng)目的讀取、寫(xiě)入等操作更好地利用用戶的歷史記錄;但該算法并沒(méi)有對(duì)用戶興趣進(jìn)行區(qū)分.Ebesu等人[11]提出了一種將用戶協(xié)同過(guò)濾與記憶網(wǎng)絡(luò)相結(jié)合的推薦系統(tǒng)(Collaborative Memory Networks,CMN),分別利用潛在因素的全局結(jié)構(gòu)以及鄰域的局部結(jié)構(gòu)進(jìn)行推薦.Ouyang等人[12]提出了一種基于記憶增強(qiáng)的深度神經(jīng)網(wǎng)絡(luò)推薦算法(Memory Augmented Deep Neural Networks,MADNN),該算法為每一個(gè)用戶都創(chuàng)建喜歡和不喜歡兩個(gè)外部記憶向量,以此來(lái)對(duì)用戶點(diǎn)擊率進(jìn)行預(yù)測(cè).
上述基于記憶網(wǎng)絡(luò)的推薦算法僅能夠識(shí)別記憶向量對(duì)當(dāng)前交互的作用,無(wú)法識(shí)別未來(lái)收益較大的交互項(xiàng)目,并且沒(méi)有利用更深層的神經(jīng)網(wǎng)絡(luò)模型對(duì)用戶偏好進(jìn)行預(yù)測(cè).
1.3基于深度強(qiáng)化學(xué)習(xí)的推薦算法
近幾年來(lái),隨著強(qiáng)化學(xué)習(xí)的發(fā)展,與推薦系統(tǒng)的結(jié)合也越來(lái)越多.深度強(qiáng)化學(xué)習(xí)的目標(biāo)是智能體在與環(huán)境的不斷交互中學(xué)習(xí)到最佳策略,因此,有利于序列推薦的動(dòng)態(tài)建模.Wang等人[13]提出了基于遞歸神經(jīng)網(wǎng)絡(luò)的監(jiān)督強(qiáng)化學(xué)習(xí)算法(Supervised Reinforcement Learning with Recurrent Neural Network,SRL-RNN),該算法使用演員-評(píng)論家框架處理多種藥物、疾病以及個(gè)體之間的關(guān)系,以進(jìn)行個(gè)性化藥品推薦.Zhao等人[14]提出了一種基于多智能體強(qiáng)化學(xué)習(xí)的DeepChain算法,該算法使用多個(gè)智能體協(xié)同優(yōu)化,捕捉多場(chǎng)景中用戶行為順序相關(guān)性,以獲得整體的最大回報(bào).Zheng等人[15]將深度強(qiáng)化學(xué)習(xí)中的深度Q網(wǎng)絡(luò)(Deep Q Learning,DQN)與推薦系統(tǒng)相結(jié)合,提出了基于深度強(qiáng)化學(xué)習(xí)的新聞推薦框架(Deep Reinforcement Learning Framework for News Recommendation,DRN),該框架同時(shí)使用Dueling Bandit梯度下降方法來(lái)進(jìn)行有效的探索.Liu等人[16]利用DDPG算法提出了用于解決電影等推薦的深度強(qiáng)化學(xué)習(xí)推薦算法(Deep Reinforcement Learning based Recommendation,DRR).
上述基于深度強(qiáng)化學(xué)習(xí)的推薦算法僅使用單一的方式對(duì)用戶當(dāng)前狀態(tài)進(jìn)行建模,對(duì)用戶興趣的劃分存在一定偏差,且無(wú)法對(duì)用戶歷史喜好的不同權(quán)重進(jìn)行建模.
2DRRM模型
2.1符號(hào)定義
本文將深度強(qiáng)化學(xué)習(xí)應(yīng)用于序列推薦,推薦代理(Agent)根據(jù)時(shí)間順序?qū)τ脩艉晚?xiàng)目進(jìn)行交互,以獲得最大化的累計(jì)回報(bào).將此過(guò)程建模為一個(gè)馬爾可夫決策過(guò)程,其中包括狀態(tài)、動(dòng)作、獎(jiǎng)勵(lì)、衰減因子等四元組,具體定義如下:
狀態(tài)S:由用戶及其之前交互項(xiàng)目的集合組合而成,交互過(guò)的項(xiàng)目按照時(shí)間順序依次排列,并將其輸入演員-評(píng)論家網(wǎng)絡(luò)中進(jìn)行預(yù)測(cè).
動(dòng)作A:采用基于策略的DDPG算法,每次交互時(shí)根據(jù)策略網(wǎng)絡(luò)生成一個(gè)確定的動(dòng)作A,該動(dòng)作表示用戶當(dāng)前的喜好,再與項(xiàng)目集進(jìn)行內(nèi)積得到為用戶推薦的項(xiàng)目.
即時(shí)獎(jiǎng)勵(lì)R:推薦代理將一個(gè)項(xiàng)目推薦給用戶,根據(jù)用戶是否在當(dāng)前時(shí)刻與該項(xiàng)目進(jìn)行過(guò)交互,并給予一定的獎(jiǎng)賞或懲罰.
衰減因子γ:γ∈[0,1],是衡量短期收益與累計(jì)收益的標(biāo)準(zhǔn),當(dāng)γ越接近于零,代表算法越重視推薦的短期回報(bào),反之則更加重視累計(jì)回報(bào).
2.2模型框架
DRRM模型框架如圖1所示,該模型分為3 部分.
第1部分為圖中下半部,即用戶記憶網(wǎng)絡(luò)部分,該部分引入注意力機(jī)制用來(lái)區(qū)分用戶歷史交互項(xiàng)目的不同權(quán)重關(guān)系,從而學(xué)習(xí)用戶的興趣變化;根據(jù)不同的行為模式生成不同的用戶記憶向量,并將用戶的歷史記錄存入外部的記憶網(wǎng)絡(luò)中,為狀態(tài)的更新提供依據(jù).第2部分為策略網(wǎng)絡(luò)部分,該部分對(duì)用戶當(dāng)前行為模式進(jìn)行劃分.本文使用基于策略梯度算法的策略網(wǎng)絡(luò)對(duì)其進(jìn)行劃分(詳見(jiàn)2.2.2節(jié)),從而使記憶網(wǎng)絡(luò)選擇不同的注意力計(jì)算方式,得到用戶記憶向量,并結(jié)合用戶向量生成當(dāng)前狀態(tài)S.第3部分為DDPG網(wǎng)絡(luò)部分,該部分用戶預(yù)測(cè)動(dòng)作A.該網(wǎng)絡(luò)由演員和評(píng)論家兩個(gè)網(wǎng)絡(luò)組成,演員網(wǎng)絡(luò)通過(guò)輸入的狀態(tài)S,來(lái)輸出用戶當(dāng)前的喜好;評(píng)論家網(wǎng)絡(luò)通過(guò)該部分輸出來(lái)更新演員網(wǎng)絡(luò).該算法在與用戶的交互中不斷更新,以達(dá)到最優(yōu)策略的輸出.
2.2.1記憶網(wǎng)絡(luò)模塊
本文將用戶的歷史交互信息存儲(chǔ)在一個(gè)外部的組件——記憶網(wǎng)絡(luò)中,記憶網(wǎng)絡(luò)的具體構(gòu)建如下:
偏好、長(zhǎng)期偏好和全局偏好.
式中:n、j∈[1,t-2];wn為最近一次交互的項(xiàng)目向量與記憶網(wǎng)絡(luò)中每個(gè)向量的乘積,輸出為一個(gè)一維的數(shù)值;exp()表示以e為底的指數(shù)函數(shù);zn為第n個(gè)項(xiàng)目向量在此記憶網(wǎng)絡(luò)中的權(quán)重值.在得到權(quán)重值之后,計(jì)算當(dāng)前狀態(tài)下的權(quán)重向量.經(jīng)過(guò)注意力機(jī)制的權(quán)重向量的計(jì)算如式(2)所示.
式中:At為所求的前t-2個(gè)項(xiàng)目的注意力向量,以此來(lái)表示該用戶的記憶向量.
計(jì)算注意力權(quán)重,再通過(guò)式(2)計(jì)算用戶記憶向量.
3)當(dāng)用戶行為與歷史交互無(wú)直接關(guān)系即為全局偏好時(shí),對(duì)使用用戶向量與該用戶的歷史交互向量進(jìn)行注意力權(quán)重的計(jì)算,并計(jì)算用戶的記憶向量.
對(duì)于用戶記憶網(wǎng)絡(luò)的寫(xiě)入操作,本文采用先入先出的策略進(jìn)行更新.將每個(gè)用戶的記憶網(wǎng)絡(luò)設(shè)置為固定的長(zhǎng)度,先將每個(gè)用戶的前兩次交互放入網(wǎng)絡(luò)中,從第3次交互開(kāi)始訓(xùn)練.若用戶的記憶數(shù)小于記憶網(wǎng)絡(luò)可存放的記憶個(gè)數(shù),則直接將最近一次交互寫(xiě)人記憶網(wǎng)絡(luò),否則將最開(kāi)始的用戶交互記憶刪除并寫(xiě)入最近交互.
2.2.2基于策略梯度的策略網(wǎng)絡(luò)
本文將訓(xùn)練一個(gè)策略網(wǎng)絡(luò)來(lái)對(duì)用戶當(dāng)前行為的3種模式進(jìn)行劃分,記憶網(wǎng)絡(luò)將根據(jù)該網(wǎng)絡(luò)的輸出結(jié)果選擇如2.2.1節(jié)所示的不同的注意力計(jì)算方式,生成用戶記憶向量.
該策略網(wǎng)絡(luò)基于策略梯度(Policy Gradient)算法,通過(guò)用戶向量和用戶歷史交互向量的平均值作為輸入,計(jì)算得到用戶3種行為模式的概率πθ(at丨st)并輸出該交互的行為模式.在經(jīng)過(guò)記憶網(wǎng)絡(luò)以及DDPG網(wǎng)絡(luò)預(yù)測(cè)出的結(jié)果得到獎(jiǎng)勵(lì)值R(at),通過(guò)該獎(jiǎng)勵(lì)值計(jì)算策略網(wǎng)絡(luò)的損失,該損失函數(shù)如式(3)所示.
Loss_p=-R(at)ln πθ(at丨st)(3)
在得到損失函數(shù)后,使用梯度下降來(lái)優(yōu)化損失,更新網(wǎng)絡(luò)參數(shù).
2.2.3基于DDPG算法的訓(xùn)練框架
用戶當(dāng)前狀態(tài)的表示模型由用戶表示、用戶記憶網(wǎng)絡(luò)以及用戶當(dāng)前偏好3部分組成,以此來(lái)表示用戶與項(xiàng)目交互的序列關(guān)系.用戶u在t時(shí)刻的偏好即當(dāng)前狀態(tài)的表示如式(4)所示.
使用DDPG算法對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練,DDPG算法是演員-評(píng)論家網(wǎng)絡(luò)的一種,它輸出的是一個(gè)確定的動(dòng)作,結(jié)合DQN以及策略梯度算法的優(yōu)勢(shì),加速網(wǎng)絡(luò)的收斂,可以更好地解決連續(xù)動(dòng)作空間上的求解問(wèn)題.該算法由兩個(gè)網(wǎng)絡(luò)組成,即演員網(wǎng)絡(luò)和評(píng)論家網(wǎng)絡(luò).同時(shí),為了提高網(wǎng)絡(luò)的穩(wěn)定性和收斂性,設(shè)置兩個(gè)更新較慢的目標(biāo)網(wǎng)絡(luò)來(lái)提高兩個(gè)預(yù)測(cè)網(wǎng)絡(luò)的更新效率.兩個(gè)預(yù)測(cè)網(wǎng)絡(luò)的功能及其更新過(guò)程如下所述:
演員網(wǎng)絡(luò)將輸入的用戶當(dāng)前狀態(tài)St經(jīng)過(guò)幾層神經(jīng)網(wǎng)絡(luò)后輸出一個(gè)確定的用戶喜好向量at.為了增加推薦的多樣性,防止算法得到局部最優(yōu)解,在訓(xùn)練過(guò)程中,使用高斯噪聲進(jìn)行探索,探索過(guò)程計(jì)算如式(5)所示.
at~N(μ,σ2)×β(5)
式中:μ為數(shù)學(xué)期望;σ2為方差;β為探索時(shí)的衰減系數(shù).使用經(jīng)過(guò)探索得到的喜好向量跟項(xiàng)目集合T相乘,將得到的值經(jīng)過(guò)sigmoid函數(shù)變換為每個(gè)項(xiàng)目的得分Gi,并將此得分進(jìn)行排序?yàn)橛脩敉扑]前n個(gè)項(xiàng)目.具體計(jì)算如式(6)所示.
每輪預(yù)測(cè)都將向經(jīng)驗(yàn)回放池傳入B={St,A,R,St+1}四元組,其中St+1為下一時(shí)刻的狀態(tài).演員網(wǎng)絡(luò)更新的損失函數(shù)梯度如式(7)所示.
式中:θa為演員網(wǎng)絡(luò)中的參數(shù);N為經(jīng)驗(yàn)回放池中的batch大小;Q(s,a,θa)為評(píng)論家網(wǎng)絡(luò)的輸出.
評(píng)論家網(wǎng)絡(luò)用來(lái)評(píng)估演員網(wǎng)絡(luò),通過(guò)從經(jīng)驗(yàn)回放池中獲得一個(gè)batch的數(shù)據(jù),利用現(xiàn)實(shí)Q值和估計(jì)Q值的均方差來(lái)更新其網(wǎng)絡(luò)參數(shù).更新的損失函數(shù)如式(8)所示.
式中:Q(si,ai,θc)為估計(jì)的Q值網(wǎng)絡(luò)得到的值.yi的計(jì)算如式(9)所示.
yi=ri+γQ′(si+1,ai+1,θc′)(9)
式中:γ為衰減因子,用于權(quán)衡即時(shí)收益與未來(lái)總收益之間的關(guān)系;Q′(si+1,ai+1,θc′)為使用現(xiàn)實(shí)Q網(wǎng)絡(luò)對(duì)下一步交互所計(jì)算的值;ri為當(dāng)前狀態(tài)的獎(jiǎng)勵(lì)值.獎(jiǎng)勵(lì)值R的計(jì)算如式(10)所示.
若推薦的項(xiàng)目集合中存在用戶當(dāng)前的喜好項(xiàng)目則獎(jiǎng)勵(lì)值為1;若推薦的項(xiàng)目集合中沒(méi)有當(dāng)前喜好,但出現(xiàn)在用戶的交互序列中則獎(jiǎng)勵(lì)值為1/2;其他情況獎(jiǎng)勵(lì)值為-1.以此來(lái)區(qū)分不同動(dòng)作所獲得的回報(bào).
3實(shí)驗(yàn)與結(jié)果分析
3.1數(shù)據(jù)集與評(píng)價(jià)指標(biāo)
本文使用Amazon Instant Video 以及Amazon Automotive(http://jmcauley.ucsd.edu/data/amazon/)兩個(gè)公開(kāi)的數(shù)據(jù)集來(lái)進(jìn)行實(shí)驗(yàn)分析.為保證序列的長(zhǎng)度,將交互個(gè)數(shù)小于10個(gè)項(xiàng)目的用戶刪除,經(jīng)過(guò)預(yù)處理后的可用數(shù)據(jù)量如表1所示.兩個(gè)數(shù)據(jù)集都具有時(shí)間戳信息,因此,可對(duì)用戶序列按時(shí)間進(jìn)行排序并進(jìn)行序列推薦.使用每個(gè)用戶前80%的數(shù)據(jù)進(jìn)行訓(xùn)練,后20%進(jìn)行測(cè)試,以證明本文所提出觀點(diǎn)的有效性.
為了研究超參數(shù)對(duì)模型性能的影響,首先對(duì)DDPG網(wǎng)絡(luò)使用不同學(xué)習(xí)率、batch_size進(jìn)行實(shí)驗(yàn).學(xué)習(xí)率和batch_size是兩個(gè)最重要的模型超參數(shù),合適的學(xué)習(xí)率和batch_size,不僅可以加速模型收斂,防止陷入局部最優(yōu),還可以提高模型的性能.在Amazon Instant Video數(shù)據(jù)集上進(jìn)行參數(shù)設(shè)置,不同學(xué)習(xí)率、batch_size的對(duì)比實(shí)驗(yàn)如表3所示.
本文所使用的評(píng)價(jià)指標(biāo)[10]由精準(zhǔn)度(Precision)、召回率(Recall)、F1值(F1-score)以及HR值(Hit-ratio)組成,從多個(gè)方面評(píng)估模型的好壞.
3.2實(shí)驗(yàn)環(huán)境
本實(shí)驗(yàn)采用的軟硬件環(huán)境如表2所示,本算法所使用的Python版本為3.7.3,并基于Tensorflow深度學(xué)習(xí)框架實(shí)現(xiàn)本算法的深度強(qiáng)化學(xué)習(xí).
3.3實(shí)驗(yàn)參數(shù)設(shè)定
DRRM模型所使用的超參數(shù)有學(xué)習(xí)率batch_size以及衰減因子.
從表3可以看出,當(dāng)學(xué)習(xí)率為0.001且batch_size為8時(shí),所得到的Precision以及F1-score指標(biāo)最高,模型達(dá)到最佳性能.
衰減因子是深度強(qiáng)化學(xué)習(xí)中最重要的參數(shù)之一,是衡量當(dāng)前收益與未來(lái)總收益的標(biāo)準(zhǔn),通過(guò)設(shè)置不同的大小來(lái)表明當(dāng)前動(dòng)作對(duì)未來(lái)的影響.當(dāng)學(xué)習(xí)率和batch_size分別為0.001和8時(shí),進(jìn)行衰減因子的設(shè)定對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖2所示.
3.4對(duì)比實(shí)驗(yàn)
為了證明所提出的DRRM算法的有效性,本文從傳統(tǒng)的序列推薦模型、基于神經(jīng)網(wǎng)絡(luò)的模型、基于強(qiáng)化學(xué)習(xí)的模型以及記憶網(wǎng)絡(luò)模型4個(gè)方面,使用以下5種具有代表性的基線算法進(jìn)行對(duì)比實(shí)驗(yàn).
貝葉斯個(gè)性化排序算法[17](Bayesian Personalized Ranking,BPR):該算法基于貝葉斯的個(gè)性化Top-N推薦方法,提出了一個(gè)通用的準(zhǔn)則BPR-Opt來(lái)優(yōu)化推薦排序.
個(gè)性化馬爾科夫鏈算法[18](Factorizing Personalized Markov Chains,F(xiàn)PMC):該算法將矩陣分解和馬爾科夫鏈模型相結(jié)合來(lái)學(xué)習(xí)用戶對(duì)應(yīng)的轉(zhuǎn)移矩陣,并引入BPR算法來(lái)處理數(shù)據(jù)進(jìn)行序列推薦.
動(dòng)態(tài)遞歸推薦算法[19](Dynamic Recurrent Basket Model,DREAM):該算法的主要思想為基于遞歸神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)用戶的動(dòng)態(tài)興趣表示,并捕捉用戶的全局序列特征.
深度強(qiáng)化學(xué)習(xí)推薦算法[16](Recommendation Based on Deep Reinforcement Learning,DRR):該算法基于顯式用戶-項(xiàng)目交互的深度強(qiáng)化學(xué)習(xí)推薦系統(tǒng),僅使用用戶和項(xiàng)目的交互向量作為輸入項(xiàng),并使用DDPG算法進(jìn)行預(yù)測(cè).
用戶記憶網(wǎng)絡(luò)推薦算法[10](Recommender with User Memory Networks,RUM):該模型的主要思想是在序列推薦算法中引入用戶記憶網(wǎng)絡(luò),存放用戶的歷史交互并進(jìn)行Top-N推薦.
Amazon Instant Video和Amazon Automotive數(shù)據(jù)集模型性能比較如表4所示.相較于最優(yōu)基線算法,DRRM算法的精準(zhǔn)度在Amazon Instant Video數(shù)據(jù)集上有8.89%的提升,在Amazon Automotive數(shù)據(jù)集上略有下降;召回率在2個(gè)數(shù)據(jù)集上分別有8.87%和11.20%的提升;F1值在2個(gè)數(shù)據(jù)集上分別有18.10% 和7.23%的提升;HR在2個(gè)數(shù)據(jù)集上分別有8.89% 和1.07%的提升.由此證明了本文所提算法的有效性.
3.5消融實(shí)驗(yàn)
為了研究本文所提出的策略網(wǎng)絡(luò)以及基于優(yōu)先記憶模型在用戶記憶網(wǎng)絡(luò)和DRRM模型中的作用,在Amazon Instant Video數(shù)據(jù)集上進(jìn)行多組消融實(shí)驗(yàn),并使用精準(zhǔn)度以及召回率指標(biāo)進(jìn)行對(duì)比.
具體實(shí)驗(yàn)設(shè)置如下:①將用于生成用戶行為模式的策略網(wǎng)絡(luò)去除,僅使用用戶最近交互對(duì)用戶的記憶向量表示進(jìn)行計(jì)算的DRRM_s模型;②將策略網(wǎng)絡(luò)去除,僅使用與用戶最近交互項(xiàng)目權(quán)重最高的記憶項(xiàng)目對(duì)用戶的記憶向量進(jìn)行計(jì)算的DRRM_1模型;③將策略網(wǎng)絡(luò)去除,僅使用用戶向量計(jì)算注意力權(quán)重并生成用戶記憶向量表示的DRRM_h模型.實(shí)驗(yàn)對(duì)比圖如圖3所示.
由圖3可知,沒(méi)有加入策略網(wǎng)絡(luò)的3種單一記憶向量表示方法的精準(zhǔn)度與召回率均低于DRRM算法,從而說(shuō)明用戶策略網(wǎng)絡(luò)對(duì)用戶當(dāng)前行為模式的預(yù)測(cè)起著重要的作用.
3.6用戶行為模式
為了證明所提出的3種用戶行為模式,即短期偏好、長(zhǎng)期偏好以及全局偏好的可解釋性,使用Amazon Instant Video數(shù)據(jù)集的實(shí)例進(jìn)行實(shí)驗(yàn)驗(yàn)證. 如圖4~圖6所示,實(shí)驗(yàn)使用的記憶網(wǎng)絡(luò)內(nèi)存長(zhǎng)度為5,x軸和y軸均表示用戶的交互序列,每一個(gè)小格代表對(duì)應(yīng)兩個(gè)向量之間的相關(guān)度,顏色越深則說(shuō)明兩向量越相關(guān),對(duì)角線元素均為1.
由圖4可知,在用戶的第6~9次交互時(shí),策略網(wǎng)絡(luò)預(yù)測(cè)為短期偏好,最近一次交互對(duì)當(dāng)前交互的影響最大,對(duì)應(yīng)的顏色也越深.對(duì)應(yīng)于Amazon Instant Video數(shù)據(jù)集中的實(shí)例是該用戶在看了一集某電視劇后又接連觀看了后面的3集.
由圖5可知,在用戶的第8~11次交互時(shí),策略網(wǎng)絡(luò)預(yù)測(cè)為長(zhǎng)期偏好.用戶的第6次交互對(duì)其影響最大,對(duì)應(yīng)顏色也越深,即為用戶的長(zhǎng)期偏好.對(duì)應(yīng)于Amazon Instant Video數(shù)據(jù)集中的實(shí)例是該用戶當(dāng)看了一部之前沒(méi)看過(guò)的喜劇類型電影(第6次交互)后,又連續(xù)看了幾部該類型(第8~11次交互)但互相關(guān)聯(lián)不大的電影.
由圖6可知,在用戶的第6~9次交互時(shí),策略網(wǎng)絡(luò)預(yù)測(cè)為全局偏好.其之前的幾次交互權(quán)重值相差不大且顏色近似,說(shuō)明此次交互為用戶的全局偏好. 對(duì)應(yīng)于Amazon Instant Video數(shù)據(jù)集中的實(shí)例是該用戶當(dāng)看了一部驚悚類型(第6次交互)的電影之后,又看了喜劇、愛(ài)情、傳記類型的電影.
4結(jié)論
本文研究了結(jié)合用戶策略記憶和深度強(qiáng)化學(xué)習(xí)的序列推薦算法,提出一個(gè)新的DRRM模型框架.該算法通過(guò)策略網(wǎng)絡(luò)對(duì)用戶與項(xiàng)目交互的行為模式進(jìn)行更加細(xì)致的劃分,以解決用戶-項(xiàng)目交互序列并不總是順序相關(guān)甚至存在噪聲的問(wèn)題.通過(guò)對(duì)衰減因子的設(shè)定,證明深度強(qiáng)化學(xué)習(xí)對(duì)DRRM的影響;在消融實(shí)驗(yàn)中,驗(yàn)證了用戶策略網(wǎng)絡(luò)以及注意力機(jī)制在記憶網(wǎng)絡(luò)中的重要性.通過(guò)在兩個(gè)數(shù)據(jù)集上對(duì)比先進(jìn)序列推薦模型的大量實(shí)驗(yàn),證明了本文所提算法的有效性.
本文只是對(duì)數(shù)據(jù)集中的用戶和項(xiàng)目進(jìn)行矩陣分解得到相應(yīng)的向量,此外還有許多可以利用的信息比如用戶的身份信息、社交信息等,來(lái)更新用戶、項(xiàng)目表示,以提高模型的可解釋性.
參考文獻(xiàn)
[1] WANG S,HU L,WANG Y,et al. Sequential recommender systems:challenges,progress and prospects [C]//Proceedings of the 28th International Joint Conference on Artificial Intelligence. Amsterdam:Elsevier,2019:6332-6338.
[2] MOONEY R J,ROY L. Content-based book recommending using learning for text categorization [C]// Proceedings of the 5th ACM Conference on Digital Libraries. New York:ACM,2000:195-204.
[3]劉勝宗,樊曉平,廖志芳,等.基于PMF進(jìn)行潛在特征因子分解的標(biāo)簽推薦[J].湖南大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,42(10):107-113.
LIU S Z,F(xiàn)AN X P,LIAO Z F,et al. A tag recommending algorithm with latent feature factor jointly factorizing based on PMF [J]. Journal of Hunan University (Natural Sciences),2015,42(10):107113. (In Chinese)
[4]劉朝陽(yáng),穆朝絮,孫長(zhǎng)銀.深度強(qiáng)化學(xué)習(xí)算法與應(yīng)用研究現(xiàn)狀綜述[J].智能科學(xué)與技術(shù)學(xué)報(bào),2020,2(4):314-326.
LIU Z Y,MU C X,SUN C Y. An overview on algorithms and applications of deep reinforcement learning[J]. Chinese Journal of Intelligent Science and Technology,2020,2(4):314-326. (In Chinese)
[5] FENG S,LI X,ZENG Y,et al. Personalized ranking metric embedding for next new POI recommendation[C]//Proceedings of the 24th International Joint Conference on Artificial Intelligence. Amsterdam:Elsevier,2015:2069-2075.
[6] LIU Q,WU S,WANG D Y,et al.Context-aware sequential recommendation[C]//Proceedings of the IEEE 16th International Conference on Data Mining. Stroudsburg:IEEE,2016:1053-1058.
[7] WANG S,HU L,CAO L,et al. Attention-based transactional context embedding for next-item recommendation[C]//Proceedings of the 32nd AAAI Conference on Artificial Intelligence. Menlo Park,CA:AAAI,2018:2532-2539.
[8] KANG W C,MCAULEY J. Self-attentive sequential recommendation[C]//Proceedings of the 2018 IEEE International Conference on Data Mining(ICDM). Piscataway,NJ:IEEE,2018:197-206.
[9] WESTON J. Memory networks for recommendation[C]//Proceedings of the 11th ACM Conference on Recommender Systems. New York:ACM,2017:4.
[10] CHEN X,XU H T,ZHANG Y F,et al. Sequential recommendation with user memory networks[C]// Proceedings of the 11th ACM International Conference on Web Search and Data Mining. New York:ACM,2018:108-116.
[11] EBESU T,SHEN B,F(xiàn)ANG Y. Collaborative memory network for recommendation systems[C]//Proceedings of the 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. New York:ACM,2018:515-524.
[12] OUYANG W T,ZHANG X W,REN S K,et al. Click-through rate prediction with the user memory network[C]//Proceedings of the 1st International Workshop on Deep Learning Practice for HighDimensional Sparse Data with KDD 2019. New York:ACM,2019:1-4.
[13] WANG L,ZHANG W,HE X F,et al. Supervised reinforcement learning with recurrent neural network for dynamic treatment recommendation[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. New York:ACM,2019:2447-2456.
[14] ZHAO X,XIA L,ZOU L,et al. Model-based reinforcement learning for whole-chain recommendations[C]//Proceedings of the 13th ACM International Conference on Web Search and Data Mining. New York:ACM,2019:4-8.
[15] ZHENG G J,ZHANG F Z,ZHENG Z H,et al. DRN:a deep reinforcement learning framework for news recommendation[C]//Proceedings of the 2018 World Wide Web Conference. New York:ACM,2018:167-176.
[16] LIU F,TANG R,LI X,et al. State representation modeling for deep reinforcement learning based recommendation [J]. Knowledge-Based Systems,2020,205(1):106170.
[17] RENDLE S,F(xiàn)REUDENTHALER C,GANTNER Z,et al. BPR:bayesian personalized ranking from implicit feedback[C]//Proceedings of the 25th Conference on Uncertainty in Artificial Intelligence. Montreal:AUAI Press,2009:452-461.
[18] RENDLE S,F(xiàn)REUDENTHALER C,SCHMIDT-THIEME L. Factorizing personalized Markov chains for next-basket recommendation[C]// Proceedings of the 19th International Conference on World Wide Web. New York:ACM,2010:811-820.
[19] YU F,LIU Q,WU S,et al. A dynamic recurrent model for next basket recommendation[C]//Proceedings of the 39th International ACM SIGIR Conference on Research and Development in Information Retrieval. New York:ACM,2016:729-732.