之前學(xué)習(xí)了強(qiáng)化學(xué)習(xí)的一些內(nèi)容以及推薦系統(tǒng)的一些內(nèi)容寂汇,二者能否聯(lián)系起來(lái)呢!今天閱讀了一篇論文停巷,題目叫《DRN: A Deep Reinforcement Learning Framework for News Recommendation》榕栏。該論文便是深度強(qiáng)化學(xué)習(xí)和推薦系統(tǒng)的一個(gè)結(jié)合,也算是提供了一個(gè)利用強(qiáng)化學(xué)習(xí)來(lái)做推薦的完整的思路和方法吧庆揪。本文便是對(duì)文章中的內(nèi)容的一個(gè)簡(jiǎn)單的介紹妨托,希望對(duì)大家有所啟發(fā)兰伤。
1、引言
新聞?lì)I(lǐng)域的個(gè)性化推薦十分重要均澳,傳統(tǒng)的方法如基于內(nèi)容的方法符衔、協(xié)同過(guò)濾判族、深度學(xué)習(xí)方法在建模user-item交互關(guān)系時(shí),經(jīng)常面臨以下三個(gè)問(wèn)題:
1)難以處理新聞推薦的動(dòng)態(tài)變化颗品。這種動(dòng)態(tài)變化體現(xiàn)在兩個(gè)方面,首先新聞具有很強(qiáng)的時(shí)效性则吟,其次是用戶(hù)對(duì)于新聞閱讀的興趣是不斷變化的锄蹂,如下圖所示:
因此得糜,在建模過(guò)程中,不僅要考慮用戶(hù)對(duì)當(dāng)前推薦的反饋啥箭,還要考慮長(zhǎng)期的影響治宣。就好比買(mǎi)股票侮邀,不能只考慮眼前的收益,而是要考慮未來(lái)的預(yù)期收益铝宵。
2)當(dāng)前的推薦算法通常只考慮用戶(hù)的點(diǎn)擊/未點(diǎn)擊 或者 用戶(hù)的評(píng)分作為反饋华畏,然而唯绍,用戶(hù)隔多久會(huì)再次使用服務(wù)也能在一定程度上反映用戶(hù)對(duì)推薦結(jié)果的滿(mǎn)意度枝誊。
3)目前的推薦系統(tǒng)傾向于推薦用戶(hù)重復(fù)或相似內(nèi)容的東西,這也許會(huì)降低用戶(hù)在同一個(gè)主題上的興趣度绝骚。因此需要進(jìn)行exploration压汪。傳統(tǒng)方法 e -greedy strategy 或者 Upper Con dence Bound (UCB) 都會(huì)在短期對(duì)推薦系統(tǒng)的效果造成一定的影響古瓤,需要更有效的exploration策略腺阳。
因此亭引,本文提出了基于強(qiáng)化學(xué)習(xí)的推薦系統(tǒng)框架來(lái)解決上述提到的三個(gè)問(wèn)題:
1)首先皮获,使用DQN網(wǎng)絡(luò)來(lái)有效建模新聞推薦的動(dòng)態(tài)變化屬性洒宝,DQN可以將短期回報(bào)和長(zhǎng)期回報(bào)進(jìn)行有效的模擬。
2)將用戶(hù)活躍度(activeness score)作為一種新的反饋信息宏浩,用戶(hù)活躍度在后面會(huì)詳細(xì)介紹靠瞎。
3)使用Dueling Bandit Gradient Descent方法來(lái)進(jìn)行有效的探索较坛。
算法的框架如下圖所示:
本文的貢獻(xiàn)主要有:
1)提出了一種強(qiáng)化學(xué)習(xí)的框架用于在線(xiàn)新聞的個(gè)性化推薦
2)使用用戶(hù)活躍度作為一種新的反饋丑勤,來(lái)提高推薦的準(zhǔn)確性
3)使用了一種更加高效的探索算法:Dueling Bandit Gra- dient Descent
4)模型可以進(jìn)行在線(xiàn)學(xué)習(xí)和更新,在離線(xiàn)和在線(xiàn)實(shí)驗(yàn)上的表現(xiàn)都超過(guò)了傳統(tǒng)的算法耙厚。
2岔霸、問(wèn)題定義
下面是本文中的一些符號(hào)約定:
3呆细、模型詳解
3.1 模型整體框架
模型整體框架如下圖所示:
有幾個(gè)關(guān)鍵的環(huán)節(jié):
PUSH:在每一個(gè)時(shí)刻絮爷,用戶(hù)發(fā)送請(qǐng)求時(shí),agent根據(jù)當(dāng)前的state產(chǎn)生k篇新聞推薦給用戶(hù)岖寞,這個(gè)推薦結(jié)果是exploitation和exploration的結(jié)合
FEEDBACK:通過(guò)用戶(hù)對(duì)推薦新聞的點(diǎn)擊行為得到反饋結(jié)果仗谆。
MINOR UPDATE:在每個(gè)時(shí)間點(diǎn)過(guò)后,根據(jù)用戶(hù)的信息(state)和推薦的新聞(action)及得到的反饋(reward)厌处,agent會(huì)評(píng)估exploitation network Q 和 exploration network Q ? 的表現(xiàn)岁疼,如果exploitation network Q效果更好捷绒,則模型保持不動(dòng),如果 exploration network Q ? 的表現(xiàn)更好椭住,exploitation network Q的參數(shù)將會(huì)向exploration network Q ?變化字逗。
MAJOR UPDATE:在一段時(shí)間過(guò)后葫掉,根據(jù)DQN的經(jīng)驗(yàn)池中存放的歷史經(jīng)驗(yàn),對(duì)exploitation network Q 模型參數(shù)進(jìn)行更新户魏。
3.2 特征設(shè)計(jì)
DQN每次的輸入有下面四部分的特征:
新聞的特征:包括題目挪挤,作者扛门,排名,類(lèi)別等等星立,共417維
用戶(hù)的特征:包括用戶(hù)在1小時(shí)贞铣,6小時(shí)沮明,24小時(shí)窍奋,1周,1年內(nèi)點(diǎn)擊過(guò)的新聞的特征表示江场,共413*5=2065維址否。
新聞和用戶(hù)的交互特征:25維。
上下文特征:32維的上下文信息樊诺,如時(shí)間词爬,周幾权均,新聞的新鮮程度等叽赊。
在這四組特征中,用戶(hù)特征和上下文特征用于表示當(dāng)前的state芽唇,新聞特征和交互特征用語(yǔ)表示當(dāng)前的一個(gè)action取劫。
3.3 深度強(qiáng)化學(xué)習(xí)作推薦
這里深度強(qiáng)化學(xué)習(xí)用的是Dueling-Double-DQN谱邪。之前我們介紹過(guò)DQN的三大改進(jìn),包括Double-DQN咆课,Dueling-DQN和優(yōu)先經(jīng)驗(yàn)回放扯俱,這里用到了兩個(gè)迅栅。將用戶(hù)特征和上下文特征用于表示當(dāng)前的state,新聞特征和交互特征用語(yǔ)表示當(dāng)前的一個(gè)action为流,經(jīng)過(guò)模型可以輸出當(dāng)前狀態(tài)state采取這個(gè)action的預(yù)測(cè)Q值敬察。
Q現(xiàn)實(shí)值包含兩個(gè)部分:立即獲得的獎(jiǎng)勵(lì)和未來(lái)獲得獎(jiǎng)勵(lì)的折現(xiàn):
立即的獎(jiǎng)勵(lì)可能包含兩部分莲祸,即用戶(hù)的點(diǎn)擊獎(jiǎng)勵(lì)和用戶(hù)活躍度獎(jiǎng)勵(lì)。由于采取了Double-DQN 的結(jié)構(gòu)田盈,Q現(xiàn)實(shí)值的計(jì)算變?yōu)椋?/p>
再加上Dueling的考慮抹估,模型的網(wǎng)絡(luò)結(jié)構(gòu)如下:
文章中關(guān)于DQN的理論部分沒(méi)有詳細(xì)介紹药蜻,可以參考我之前寫(xiě)過(guò)的強(qiáng)化學(xué)習(xí)系列的文章進(jìn)行理解语泽。
3.4 用戶(hù)活躍度
用戶(hù)活躍度(User Activeness) 是本文提出的新的可以用作推薦結(jié)果反饋的指標(biāo)。用戶(hù)活躍度可以理解為使用app的頻率廊驼,好的推薦結(jié)果可以增加用戶(hù)使用該app的頻率惋砂,因此可以作為一個(gè)反饋指標(biāo)西饵。
用戶(hù)活躍度的圖示如下:
如果用戶(hù)在一定時(shí)間內(nèi)沒(méi)有點(diǎn)擊行為眷柔,活躍度會(huì)下降,但一旦有了點(diǎn)擊行為镶苞,活躍度會(huì)上升鞠评。
在考慮了點(diǎn)擊和活躍度之后,之前提到過(guò)的立即獎(jiǎng)勵(lì)變?yōu)椋?/p>
3.5探索
本文的探索采取的是Dueling Bandit Gradient Descent 算法御板,算法的結(jié)構(gòu)如下:
在DQN網(wǎng)絡(luò)的基礎(chǔ)上又多出來(lái)一個(gè)exploration network Q ? ,這個(gè)網(wǎng)絡(luò)的參數(shù)是由當(dāng)前的Q網(wǎng)絡(luò)參數(shù)基礎(chǔ)上加入一定的噪聲產(chǎn)生的淹朋,具體來(lái)說(shuō):
當(dāng)一個(gè)用戶(hù)請(qǐng)求到來(lái)時(shí)础芍,由兩個(gè)網(wǎng)絡(luò)同時(shí)產(chǎn)生top-K的新聞列表数尿,然后將二者產(chǎn)生的新聞進(jìn)行一定程度的混合右蹦,然后得到用戶(hù)的反饋。如果exploration network Q ?的效果好的話(huà)晨汹,那么當(dāng)前Q網(wǎng)絡(luò)的參數(shù)向著exploration network Q ?的參數(shù)方向進(jìn)行更新贷盲,具體公式如下:
否則的話(huà)巩剖,當(dāng)前Q網(wǎng)絡(luò)的參數(shù)不變佳魔。
總的來(lái)說(shuō),使用深度強(qiáng)化學(xué)習(xí)來(lái)進(jìn)行推薦筹陵,同時(shí)考慮了用戶(hù)活躍度和對(duì)多樣性推薦的探索镊尺,可以說(shuō)是一個(gè)很完備的推薦框架了庐氮!
4、實(shí)驗(yàn)比較
4.1 數(shù)據(jù)集
使用的數(shù)據(jù)集是新聞app得到的數(shù)據(jù):
數(shù)據(jù)中存在明顯的長(zhǎng)尾特點(diǎn):
4.2 評(píng)估指標(biāo):
主要用的評(píng)估指標(biāo)有CTR输涕、top-K準(zhǔn)確率慨畸,nDCG寸士,三者的計(jì)算公式如下:
在nDCG中弱卡,r是新聞的排序婶博,n是推薦新聞列表的長(zhǎng)度。
4.3 實(shí)驗(yàn)設(shè)定
4.4 對(duì)比模型
本文選取了五個(gè)基準(zhǔn)模型:LR名党,F(xiàn)M兑巾,Wide&Deep忠荞,LinUCB委煤,HLinUCB。同時(shí)根據(jù)組件的不同(U代表用戶(hù)活躍度府框,EG代表e-greedy讥邻,DBGD代表Dueling Bandit Gradient De- scent )強(qiáng)化學(xué)習(xí)模型又分為以下幾種:
DN:沒(méi)有考慮未來(lái)收益的Double-DQN
DDQN:考慮未來(lái)收益的Double-DQN
DDON+U:考慮未來(lái)收益兴使,同時(shí)考慮用戶(hù)活躍度的Double-DQN
DDQN+U+EG:采用e-greedy作為探索策略的Double-DQN
DDQN+U+DBGD:采用DBGD作為探索模型的Double-DQN
4.5 離線(xiàn)實(shí)驗(yàn)
離線(xiàn)實(shí)驗(yàn)的結(jié)果如下所示:
本文提出的模型效果明顯好于基準(zhǔn)模型发魄。
4.6 在線(xiàn)實(shí)驗(yàn)
在線(xiàn)實(shí)驗(yàn)的效果分兩部分俩垃,準(zhǔn)確率和Diversity口柳。
準(zhǔn)確率
準(zhǔn)確率用CTR來(lái)表征有滑,如果CTR高俺孙,我們認(rèn)為模型準(zhǔn)確率較好掷贾,實(shí)驗(yàn)結(jié)果如下:
多樣性
多樣性這里采用的指標(biāo)是ILS想帅,用來(lái)表示推薦列表中item的相似性,如果這個(gè)相似性較低旨剥,可以認(rèn)為推薦結(jié)果的多樣性較好轨帜,計(jì)算公式如下:
實(shí)驗(yàn)結(jié)果如下:
可以看到DDQN+U+DBGD的多樣性明顯好于其他模型蚌父。