Google | 创造Youtube单次上线最高收益!解决推荐中的信息茧房困境
星標/置頂小屋,帶你解鎖
最萌最前沿的NLP、搜索與推薦技術
文 |?江城
編 |? 夕小瑤
今天分享一下Google在WSDM 2019的一篇將強化學習應用于Youtube推薦的論文,作者宣稱是獲得了Youtube近兩年來單次上線的最高收益。文章仔細介紹了RL在Youtube上的實踐方案細節以及相應的收益,同時介紹了很多實踐中的Best Practice,是一篇工業界實踐色彩濃重的論文,非常值得一讀。
眾所周知,工業界大規模推薦系統一般都是有百萬、千萬級甚至更大規模的item候選集,因此從RL的角度來說,action空間異常的龐大。同時用戶規模都是數以十億計,帶來了更復雜的user state空間。當前主流做法都是從大規模用戶隱式行為日志中訓練學習,但是這樣會有一個明顯造成?信息繭房困境?的System Bias——日志中的用戶隱式反饋只包含了前一版本系統推薦選中曝光出去items,對于未被曝光/選中的item候選項則完全無法學習。
本文以Youtube推薦為場景,提出了一種基于策略梯度(例如REINFORCE)的算法來解決上述的System Bias。本文主要貢獻點:
REINFORCE Recommender:擴展REINFORCE算法應用于擁有百萬級別量級超大action空間的工業界線上系統;
Off-Policy Candidate Generation:在召回階段使用off-policy矯正來解決基于多種行為策略下積累用戶歷史數據進行學習帶來的數據偏差;
Top-K Off-Policy Correction:提出一種新穎的Top-K off-policy矯正方案來優化同時推薦多個候選item時的矯正問題;
Benefits in Live Experiments:證明了在線上實驗的效果,展示了在提升用戶長期滿意度的價值。
論文鏈接?
https://arxiv.org/abs/1812.02353?
公眾號「夕小瑤的賣萌屋」后臺回復關鍵詞【0706】下載論文PDF
介紹
傳統監督學習的方案在推薦系統中是有明顯的局限性的。一方面,新模型迭代時使用的訓練樣本是當前模型選中并推薦給用戶的,但是沒有被選中的候選集的用戶反饋則無從得知;另一方面,傳統監督學習的方案的優化目標是最大化推薦的即時收益,導致了系統更傾向于推薦大眾化或者熟悉的候選item。
與此同時,強化學習在推薦系統中的應用也存在著明顯的困難:
超大的action空間;
實行exploration的成本較大:系統復雜而且容易帶來糟糕用戶體驗;
如何從當前模型策略收集的行為日志中學習;
部分觀測性;
帶有噪聲的reward;
建模策略π
本文在Youtube中應用強化學習的建模示意圖如下所示。RL中幾個關鍵元素
Agent:candidate generator也就是召回;
State:用戶表示,包含context,user profile特征等;
Reward:用戶滿意度反饋;
Action:從百萬量級的候選video中選擇Top-K;
前面提到的一個關鍵問題:如何從當前模型策略收集的行為日志中學習新的模型策略呢??如下圖所示,將收集到的用戶行為日志一分為二。前半部分Sequential Past用來表征User state;后半部分Sequential Future用來計算Reward。
User State Representation
本文使用RNN來針對User state的變換進行建模,實驗了LSTM/GRU等單元,最后實際使用的是Chaos Free RNN,其比較穩定且高效。
Reward
Reward建模方面,則是典型的針對未來收益進行指數衰減加和。
Action
基于User state,策略π的求解就是在action空間上的softmax。為了加速計算,在訓練階段使用了?sampled softmax;在serving階段則是使用鄰近搜索算法來獲取top K的候選集。
Policy-based RL
在推薦的場景下,給定用戶的行為序列,系統需要推薦給用戶下一個感興趣的候選item(也就是action)。Policy-based RL的目標就是希望能夠學習到一個隨機策略π,來最大化期望的累積收益。
Policy-based RL的求解思路是根據策略梯度可以迭代求解出最優的隨機策略π。使用log-trick可以將上述對累積reward梯度的計算轉化為對策略π的梯度計算。
Off-Policy矯正
如果解決系統的“部分觀測性”問題?本文使用importance weighting的方式來處理推薦系統當前模型行為策略和新策略不一致的問題。
經過推導發現,為了處理系統偏差問題,Off-policy的更新迭代與On-policy的更新迭代唯一的區別只需要在梯度的基礎上乘以一個矯正系數即可,如下圖總結所示。這個矯正系數主要包含兩部分:一部分是當前學習的新策略π;另一部分是用戶行為日志保存時推薦系統的行為策略β。
預估行為策略β
上述Off-Policy Learning中的矯正系數,當前學習的新策略π可以前向傳導計算得到,那用戶行為日志保存時推薦系統的行為策略如何得到呢?理想情況下我們可以記錄當時系統選擇action對應的概率。但是在推薦場景下:
推薦系統的召回部分有很多的agents,RL只是其中的一路召回,其他的agents我們無法控制也就無法記錄對應選擇action的概率;
一些agents有確定性的策略,也就是β為0或者1時無法高效地利用用戶行為日志進行訓練;
答案是直接使用一個單獨的網絡來進行預估即可。本文采用了上下文獨立的neural estimator,對于每一個收集到的state-action pair,用另外一個softmax來估計β。如下圖所示,在主流程學習當前新策略π的基礎上,預估β的網絡重復利用了從RNN結構生成出來的用戶狀態s,用另外一個單獨的softmax層對日志中的系統行為策略進行建模。為了避免β對生成用戶狀態的主策略π產生干擾影響,本文中block掉β對用戶狀態s的梯度回傳,β策略的梯度回傳只用來更新其單獨的item embedding。本文中提到也嘗試過將兩個策略單獨分開建模,發現帶來額外計算開銷的同時并沒有任何離線和線上指標的提升。
盡管兩個策略π和β共享用戶state參數,但是他們之間有著顯著的區別:
主策略π使用考慮長期reward的softmax進行訓練,而行為策略β則僅僅使用state-action pairs進行訓練;
主策略π使用用戶行為歷史上非零reward的樣本進行訓練,而行為策略β則使用用戶行為歷史上全部的樣本進行訓練。
也正是因為針對系統行為策略β進行預估,一方面行為策略可以是0或者1的確定性策略;另外一方面,即便是有多路召回也就是多個agents選擇不同actions的時候,那么行為策略預估的便是在狀態s下動作a發生的頻率。
Top-K Off-Policy矯正
上面提到的Off-Policy Correction只是針對Top 1推薦的矯正,實際場景中系統往往會一次性地同時返回K個item,用戶可能全部看到也可能只看到一部分,并可能與不止一個item發生交互。也就是說我們的建模需要擴展一下,希望找到一個隨機策略π,每個動作action選擇K個items,去最大化預期累積收益。這里只需要改造一下原來的目標函數:
但是這樣的話有一個問題是動作空間會呈指數級增長,當候選集是百萬甚至千萬級別的時候更是大的可怕。為了解決這個問題,我們假定一組不重復items的預期獎勵等于每個item預期獎勵的總和。這樣的話就可以簡單修改下原有的梯度方程式得到新的梯度更新邏輯:
經過推導發現,Top-K的Off-Policy矯正方案的更新梯度只是在原有Top-1的更新梯度上增加了一個額外的乘數??梢远ㄐ缘乩斫庖幌逻@個額外的乘數:
隨著π?-> 0,lambda -> K,相比于標準的off-policy correction,Top-K的Off-Policy correction的梯度更新會增大K倍;
隨著π?-> 1,lambda -> 0,額外的乘數則會是策略梯度更新趨向于0;
也就是說,當候選項目在主策略π中具有較小概率時,Top-K的Off-Policy矯正比標準矯正更快地更新修正。一旦候選項目在主策略中已經占了一定概率后,則Top-K的Off-Policy矯正會將梯度趨向于零。這反過來允許其他有可能感興趣的候選item得到一定的選中機會。正如本文在模擬和線上實驗中展示的那樣,當標準的Off-Policy矯正收斂于固定選擇某個項目的最優策略時,Top-K的Off-Policy矯正會產生更好的Top-K推薦。
Variance Reduction技巧
前文在推導策略梯度時使用了一階近似來減少梯度估計的方差。但是當importance weight較大時,策略梯度仍然會有較大的方差。importance weight較大意味著新策略與舊的行為策略偏差較大,尤其發生在舊行為策略探索比較少的候選集。
我們實驗了多種在conterfactual learning和RL文獻中提出的集中技術來控制梯度估計的方差,這些技術大部分情況下都可以降低方差,但是代價就是會在梯度估計中引入一些偏差。譬如Wieght Capping、NIS、TRPO等。
Exploration
眾所周知,訓練數據的分布會非常嚴重地影響是否能夠學習到一個好的策略。探索舊的行為策略很少采取的action的探索策略已經被廣泛應用。在實際系統中,暴力探索譬如??-greedy,在Youtube推薦中是不合適的,因為在大概率情況下會帶來非常糟糕的用戶體驗。
我們使用了Boltzmann探索在不影響用戶體驗的前提下,得到探索數據的收益。我們考慮采用隨機策略,也就是并非推薦概率最高的K個items而是從主策略π中采樣而來??紤]到主策略計算完整的softmax開銷太大,因此我們使用最近鄰方案來尋找top M個(M >> K)候選集,再在此基礎上進行采樣。這樣既限制了推薦影響體驗的候選集的風險,同時又保證了計算效率,而且還可以獲得EE帶來的收益。
模擬實驗
本文首先設計模擬實驗,以便在可控的環境下闡明off-policy correction的收益。為了簡化,我們假設問題是無狀態的,換句話說,獎勵R獨立于用戶狀態,并且動作也不會改變用戶狀態。因此,可以獨立地選擇軌跡上的每個動作。
Off-Policy Correction
第一個模擬實驗中,我們假設有10個items,選中每一個item的收益就是他的index。當我們選擇Top one item時,最優策略就是一直選第十個,因為其獎勵最大。這里有一個明顯缺點,當行為策略越多地選擇次優item,那么學習到的新策略也就越偏向于選擇次優的item。
下圖比較了當行為策略β傾向于選擇獎勵最少的item時,是否有Off-Policy修正下的主策略π的分布情況。也就是最壞情況下,行為策略一直選擇獎勵最少的,發現我們也會學到一個類似行為策略一樣不好的策略(如下圖左所示)。而在應用Off-Policy修正讓我們學到了一個最優策略π,不論收集到的行為策略的數據如何(如下圖右所示)。
Top-K?Off-Policy Correction
為了理解標準Off-Policy correction和Top-K Off-Policy Correction的區別,本文設計了推薦多個items的實驗。同樣假設有10個items,r(a1)?= 10,r(a2) = 9,剩下的獎勵都是1。我們專注于推薦Top 2的實驗。同時設定行為策略β為均勻分布,每個item都有同等的機會。
從行為策略β中采樣得到action-reward的pairs,標準的Off-Policy矯正有著如下的更新梯度:
而Top-K的Off-Policy矯正則有著另外一種梯度更新形式:
對比二者的梯度更新形式就可以發現,在Top-K的Off-Policy的梯度下,當π(a_i)很小時,lambda接近于K,那么迭代更新則會激進地增加選中a_i的可能性;當π(a_i)到一個足夠大的值時,lambda接近于0。這時候即便π(a_i)仍然小于1,但是迭代更新時也不會進一步增加選中a_i的可能性。這樣反而可以使獲得第二高reward的item在主策略中得到一定的概率。下圖左、右分別展示了標準方式和Top-K矯正方式學到的策略π。可以看到標準的Off-Policy矯正幾乎全部集中于Top 1 item,也就是說策略基本沒有學到次優項。
線上實驗
作者宣稱這是Youtube近兩年以來單詞上線取得的最大收益。
我們在Youtube推薦的RNN召回模型上做了一些列AB實驗。這個模型是眾多候選生成模型中的一個,在曝光給用戶前會有一個獨立的rank model去進行打分排序。模型根據上述RL算法來訓練,實時獎勵反應著用戶的行為,推薦的視頻沒被點擊的獎勵為0。每個實驗中實驗組和對照組使用相同的reward函數。實驗運行了很多天,模型在線上持續訓練,新事件會在24小時內訓練。實驗期間,我們關注了各種線上指標,不過這里我們主要關注用戶觀看視頻時長ViewTime。
本文在線上的實驗描述了多個連續的改進,最新的推薦系統為下一個實驗提供訓練數據,這導致一旦生產系統采用新方法,后續實驗就不能與早期系統進行比較。因此,以下每個實驗會作為組件單獨分析。
探索
本文想衡量是否要像之前描述的采樣softmax模型下使用隨機策略,要比一直根據softmax推薦概率最高的K個item的模型要好。
我們首先將平臺用戶分為了3個buckets,90%,5%,5%。前兩個buckets基于確定性模型使用確定性策略,最后一個bucket用基于帶探索性數據訓練模型的stochastic policy。確定性模型用前兩個buckets訓練,隨機模型用第一個和第三個bucket訓練。這樣兩個模型訓練使用的數據量是相等的,但隨機模型會因為探索數據更容易觀察到一些罕見的state,action pair。
按此實驗流程,我們觀察到測試群體中的ViewTime統計學顯著性地增加了0.07%。雖然改進不大,但它來自相對少量的勘探數據(只有5%的用戶在用隨機政策)。隨著隨機政策的全面啟動,我們預計會有更高的收益。
Off-Policy Correction
如下圖所示繪制了由系統中的召回根據對照人群中的視頻等級在對照和實驗中選擇的視頻的CDF。當忽略數據收集與處理的bias會產生?強者恒強的現象。因此視頻被推薦,可能僅僅是因為他在behavior policy里曾大量被推薦,而Off-Policy Correction可以幫忙解決這個問題。
有趣的是,在線上實驗中,我們并沒有觀察到control與test群體之間的 ViewTime 發生統計顯著性變化。然而,我們看到視頻數量增加了0.53%,這在統計學上是顯著的,這表明用戶確實得到了更多的享受。
Top-K Off-Policy Correction
在本次實驗中,我們讓前面方程式中的超參K = 16 和上限c=e^3。鑒于我們可以推薦多個項目,Top-K Off-Policy讓我們向用戶提供比標準Off-Policy Correction更好的整體體驗。特別是,我們發現測試流量中ViewTime增加了0.85%,觀看的視頻數量略微減少了0.16%。
實驗超參比較
最后,我們直接比較不同的超參數的選擇如何影響Top-K Off-Policy Correction對平臺上的用戶體驗。
首先測了下Top-K中的K。本文用K ∈?{1, 2, 16, 32}訓練了結構相同的模型。當K = 1時, Top-K就是標準的off-policy correction。與基線K = 16相比 K = 1 導致ViewTime掉了0.66%。K = 2 也不好,不過差距變小了,ViewTime下降了0.35%,K = 32的效果類似基線。我們后續的實驗顯示K = 8 在ViewTime上有一定的正向(+0.15% statistically significant)。
其次,本文繼續探討了Variance Reduction Technique對學到的推薦系統的最終效果的影響。我們沒有觀察到NIS,或者TRPO對指標的提升。我們搞了個回歸測試研究weight capping的影響,比較了c = e^3和c = e^5。當我們取消對importance weight的限制時,學到的策略πθπθ可能會過度適應一些意外獲得高回報的logged actions。在線上實驗中,當the cap on importance weight被增大時,我們觀察到ViewTime顯著下降了0.52%。
喜歡本文的小伙伴,強烈建議加入賣萌屋的推薦系統討論群,不僅可以認識眾多志同道合的優秀小伙伴,而且還有若干賣萌屋美麗小姐姐(劃掉)、頂會審稿人、大廠研究員、知乎大V等你來撩哦。
如果提示已滿或過期,或希望加入領域大群(自然語言處理、搜索技術、推薦系統、算法崗求職等)或其他垂類討論群,請在后臺回復關鍵詞【入群】獲取入口哦。
記得掃描下方二維碼關注并星標置頂,我才能來到你面前哦。
夕小瑤的賣萌屋
_
關注&星標小夕,帶你解鎖AI秘籍
訂閱號主頁下方「撩一下」有驚喜哦
參考文獻
[1]?Top-K Off-Policy Correction for a REINFORCE Recommender System
[2]?https://www.youtube.com/watch?v=HEqQ2_1XRTs
[3]?http://wd1900.github.io/2019/06/23/Top-K-Off-Policy-Correction-for-a-REINFORCE-Recommender-System-on-Youtube/
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Google | 创造Youtube单次上线最高收益!解决推荐中的信息茧房困境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ACL'21 | debug完的神经网络
- 下一篇: 【小夕精选】如何优雅而时髦的解决不均衡分