前景美好:多輪推薦的推薦系統,只有考慮為決策問題,纔有逼近最優策略的可能

難度不小:最大的難度在於難在真實的推薦系統上做實驗,於是不少工作還是按照監督學習的測試方式,用測試數據集來測,然而

決策模型是無法用靜態數據測試的,因為新的決策導致的結果根本不在數據集中

除非數據集包含了幾乎所有的可能性,如果有這樣的數據集,那麼也不需要強化學習了。因此唯一可以準確評估決策模型的方法,是騾子是馬拉出來溜溜,也就是要做實際在線評估,做AB測試。

其實更糟糕的是,用靜態數據集做測試的論文會帶歪整個發展方向。因為,雖然可以說測試數據是模型訓練過程中沒有見過的,但是論文的產生過程,本身就包含了對模型的篩選:那些在測試數據上表現的很不好的模型,不會被發表,只有表現好的模型才會被發表。由此可見,一個錯誤的評估方式,會導致本來優秀的方法被評估為無效,而本來無效的方法,確會被認為是有效。用靜態數據集做測試,只會篩選出擬合靜態數據的方法,而放棄了真正做好決策的方法。

另外打個廣告,希望這個項目有幫助:

https://github.com/eyounx/VirtualTaobao?

github.com


我是勸退來的!要罵我不理性隨意,我是有幾點悲慘的人生認識是要想說的。

目前做的強化學習推薦,分召回側,還是排序側做,一般來說,方法是不一樣的,悲慘度也不一樣。

召回側的 RL,我個人建議從業者要判斷公司推薦召回層,歷史上有沒有進行傳統擴召回演算法的探索,擴召回迭代是否有效提升效果。否則,你的 RL 迭代過程會面臨非常頭疼的樣本傾斜和覆蓋問題,以及難以描述的排序端和召回層衝突(比如某個二貨排序都特麼擠掉特定領域的 term,我40米大刀都拔出來了),會讓你迭代上線不僅沒效果,而且死相難看。

排序側做 RL,直接作用到用戶上的那種,你就要保證整個頁面注意力都是你團隊的演算法在支持,而且有良好的數據系統,線上線下一致性都被很好地解決。如果有其他隨時在迭代的策略和你並著跑,目前 RL 理論上的與人類合作演算法還不成熟,理論上收斂到啥不清楚,用的不放心。瞎扯淡一堆 AxC,DxN真心是你們業務強勢才能玩這套模式呀,大部分地方玩不了這種全鏈路迭代模式,都是和其他策略並跑,還會被虐的那種呀。

最好別在金融領域做 RL,這是一個超級保守,且政策紅線壓得很嚴的場景,RL 對他們來說,太兇殘了,溝通太心累了。

最後,做這東西,一定要加入強勢業務團隊,保證前端兜底聽命於你們老大,否則他們動不動在你演算法前面外掛一個監控和兜底,還不和你說,寫日記還專註坑你一萬年。千萬別在技術中臺部門,AI lab,或者其他技術部門以賦能合作形式給業務端提供演算法,爹不疼娘不愛。

還有,我智商特別低,學術界灌水大佬別老笑話我發不出文章整天酸,我也快煩死你們發幾篇頂會就整天尬吹演算法多牛逼呀。。。


強化學慣用於推薦系統,特別是序列化推薦(Sequential Recommendation, SR)是一個直觀的解決方案。很多現有的SR文章其實都在做「根據前k個interaction推薦第(k+1)個」的工作[1],然而要做到真正的序列化推薦,其實更應該採用連續決策(sequential decision making)優化的思路。

我認為基於user-item interaction的推薦系統研究接下去有兩個大的發展方向,一個是「向後看」,即根據用戶過去的長期交互行為,更好地建模用戶行為,得到綜合的用戶畫像[2,4];另一個則是「向前看」,即連續推薦優化綜合收益[5,8]。這些綜合收益不一定是cumulative user actions,更可以是複合用戶行為,例如(點擊+轉化),或者用戶參與度[7]等綜合指標。

前景一定是廣闊的,因為這裡面有很多難點沒有解決,例如:

1)離線評估與在線效果之間的巨大鴻溝,這個鴻溝的背後原因有很多,不是一兩個因素所造成。誠如之前答案所述,RL4Rec難以做到客觀全面地離線評估,這主要是離線模擬過程的泛化性問題,特別是用戶端連續決策行為的建模方面。現有方法其實還是有很多問題,例如沒有刻畫用戶反饋行為的連續性與前後相關性;沒有考慮用戶反饋背後的多因素影響等等。

2)動作空間偏大。在真實的推薦系統中,可能面臨巨大無比的離散化行為空間,因為待推薦item集合巨大無比。當然現在的推薦系統會使用粗排再精排,但在我們的討論上下文中,我傾向於全程使用RL方法。那麼這就帶來行為空間過大的問題(遠大於目前的game environment)。這個問題我們實驗室的論文[6]已經作出了一些探索,但還沒有完全解決這類問題。

3)在線效果容易受到其它策略的影響。例如推薦端在使用RL演算法,用戶還在看到很多其它推薦、展示策略在其它位置、時段、平臺推給他的結果,較難精確建模用戶反饋與行為歸因。

4)如何去做更好地探索,因為真實場景中沒有遊戲環境那樣豐富的樣本數據,每一次探索都有巨大的顯性成本或隱性成本。更快地探索、更好地採用效率是RL4Rec實際應用中的難題。

5)強化學慣用於推薦系統,更難的是說服部門領導上線一個真實環境中可能會表現得較為弱智的強化學習策略,因為他需要你證明現在或未來它能產生更大的收益。

等等。

作為一種搜索方法,RL解決方案還是需要配合在線平臺的實踐數據,才能在推薦系統這個應用領域更好地往前走,解決實際問題。所以我覺得:

一方面,學術界難以獨立完成這方面的研究,需要配合工業界的平臺進行數據收集、實驗,讓模型進行E-E;否則只能作出一些基於靜態數據的simulator(想了想感覺還能作出一些fancy的研究課題,但我覺得paper可能不太好中了,因為現在有太多處於工業界平臺的大佬在review你的論文)。

另一方面,作為互聯網AI應用最快最深入的領域,RL和推薦結合才剛剛開始探索,背後有太多問題值得去挖掘和探索。可以看到現在有很多RL4Rec的論文,方法還是RL領域十幾年前的方法,結果發的都是頂會;只要稍微claim在線實驗(其實很多規模、效果經不起推敲),這paper在過去的一年半裡面都很好中。但是現在這時候,我想動手之前最好有一個工業平臺能讓你較好地做實驗,至少收集數據;然後需要真正去想那些實際存在的問題和對應的解決方案,例如我前面提到的一些挑戰。

最後,一個工業公司的部門老大在自家平臺的未來規劃中,敢不敢上這種前沿課題的探索與實驗甚至上線接大流量,就看老大的魄力了。

以上是我的一些個人想法;不過我本人不是做RL4Rec這個方向的,很多思考還比較淺,歡迎討論拍磚。

參考文獻:

[1] Kang W C, McAuley J. Self-attentive sequential recommendation[C]//2018 IEEE International Conference on Data Mining (ICDM). IEEE, 2018: 197-206.

[2] Zhou G, Zhu X, Song C, et al. Deep interest network for click-through rate prediction[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery Data Mining. ACM, 2018: 1059-1068.

[4] Ren K, Qin J, Fang Y, et al. Lifelong Sequential Modeling with Personalized Memorization for User Response Prediction[C]. SIGIR 2019.

[5] Chen X, Li S, Li H, et al. Generative Adversarial User Model for Reinforcement Learning Based Recommendation System[C]//International Conference on Machine Learning. 2019: 1052-1061.

[6] Chen H, Dai X, Cai H, et al. Large-scale Interactive Recommendation with Tree-structured Policy Gradient[C]. AAAI 2019.

[7] Zou L, Xia L, Ding Z, et al. Reinforcement Learning to Optimize Long-term User Engagement in Recommender Systems[J]. arXiv preprint arXiv:1902.05570, 2019.

[8] Zhao X, Xia L, Tang J, et al. Reinforcement Learning for Online Information Seeking[J]. arXiv preprint arXiv:1812.07127, 2018.


我想用一句話來描述現在強化學習推薦系統上的工作,就是「自嗨成分」居多。話不好聽,為什麼這麼說?像俞老師說的,靜態數據根本不可能用來評價強化學習演算法。那現在很多工作要麼直接上線實驗,要麼做一個Simulator。但是大家標準都不統一,產品都不一致,這樣的情況下,大部分方法只能自說自話,連和前人對比的事情都沒法做。

相比起來現階段確實「Simulator」是一個比較合理的方式來做。而且最好有一個大家都能認可的Simulator,能夠在一個Simulator上來進行有效對比。 但是,Simulator的合理性在哪裡?誰來證明?我感覺這塊的工作還是太少。太多工作執著於自己用了強化學習演算法取得了更好的效果,但沒人去證明這個「Simulator」又有多大合理性。

另外一個非常不贊同現在很多做法是,用了DRL做上線,但baseline用的是低級別模型的Supervised Learning。 我甚至極少見到有文章能在同等的模型上做Reinforcement Learning和Supervised Learning對比。很多用高一個級別的模型+RL來吊打低一個級別的模型 + SL, 這種做法完全無法令人信服。

實際上,我們真實很多產品實驗中,發現有很多替代方法能夠獲得類似RL效果,或者至少能拿到90% RL能拿到的收益,而其實用性,便利性遠高於RL。現有較多RL很多設計過於理想化,和現在真實線上應用感覺仍有不少差距。


等待大神來分享practical experience。推薦幾個resource:

google的這篇文章:Top-K Off-Policy Correction for a REINFORCE Recommender System,用REINFORCE給youtube做推薦。在netflix PRS2019 workshop上Minmin Chen大神也提到online experiments顯示這個是youtube單個項目近兩三年最大的reward增長,平均提升了&>1%。

在亞馬遜Seattle office的小夥伴感興趣推薦明天來聽 Tony Jebara, Director of ML, Netflix Professor, Columbia University 的talk:Personalization via Deep, Meaningful, and Long-Term Learning。錯過的可以到時候搜索內部video channel。

然後阿里的小黃書 強化學習在阿里的技術演進與業務創新 也可以借鑒。

Virtual Taobao: RL在搜索上的應用。整體上來說,search, personalization and recommendation的很多問題有很多相似性。

Deep Reinforcement Learning for Page-wise Recommendations: 京東的一篇文章,我還沒來得及看。


魔鬼吊兒郎:Youtube推薦系統最大提升:RL Off policy + 推薦系統?

zhuanlan.zhihu.com圖標

難度是不小的,前景感覺也是廣闊的,谷歌18年底發了一篇off policy + 推薦系統的論文,據說獲得了Youtube近兩年單次上線的最高收益:Top-K Off-Policy Correction for a REINFORCE Recommender System

谷歌這篇paper將強化學習應用於推薦系統之中,獲得了很明顯的收益,文中仔細的介紹了在Youtube上的具體實踐方案,以及每個細節帶了什麼樣的收益,解決了哪些常見推薦系統中存在的問題,非常值得一讀。因為知乎排版問題大家也可以去博客中閱讀 。

Top-K Off-Policy Correction for a REINFORCE Recommender System on Youtube | 王鳴輝的博客?

wd1900.github.io圖標

另外發個廣告,位元組跳動抖音火山技術團隊開啟2020屆校招提前批,內推可免筆試,失敗也不影響正常秋招流程, 需要內推可發我郵箱 [email protected],社招同學也歡迎,演算法,大數據,服務端等都要

傳統監督學習的方案在推薦系統中有侷限

  1. system bias
  2. 新推薦系統訓練使用的樣本是當前推薦系統推薦給用戶的,而沒被推薦的item的反饋無從而知
  3. Pigeon-hole(tends to provide myopic recommendations)
  4. optimize to maximize directly immediate response
  5. 傾向於推薦大眾化的or用戶熟悉的item

強化學習在推薦系統中的困難

  1. Large action space
  2. Expensive exploration
  3. Learning off-policy
  4. Partial observability
  5. Noisy reward

Contributions

  • REINFORCE Recommender: We scale a REINFORCE policygradient-based approach to learn a neural recommendation policy in a extremely large action space.
  • Off-Policy Candidate Generation: We apply off-policy correction to learn from logged feedback, collected from an ensemble of prior model policies. We incorporate a learned neural model of the behavior policies to correct data biases.
  • Top-K Off-Policy Correction: We offer a novel top-K offpolicy correction to account for the fact that our recommender outputs multiple items at a time.
  • Benefits in Live Experiments: We demonstrate in live experiments, which was rarely done in existing RL literature, the value of these approaches to improve user long term satisfaction.

基本定義

  • Agent: candidate generator
  • State: user interest, context
  • reward: user satisfaction
  • Action: nominate from a catalogue of millions of videos

Data Source

user trajectory

State Representation

嘗試了LSTM,GRU,最後使用的Chaos Free RNN(CFN),因為其比較穩定並且高效。

Adding Context

Reward

Discounted Future Reward

Youtube online metric

| | All | Desktop | Mobile | Tablet | | -------------- | ----- | ------- | ------ | ------ | | Online Metrics | 0.30% | 0.13% | 0.35% | 0.17% | Action

Policy-based RL

Learn a stochastic policy $pi_{ heta}left(a_{t} | s_{t}
ight)=operatorname{Pr}left[a_{t} | s_{t} ; heta
ight]$ to maximize cumulative reward

Trajectory generated by following the policy

Cumulative reward of the trajectory

Method: Maximize cumulative reward with gradient ascent

gradient of weighted log-likelihood

softmax over actions

Sampled softmax training, serving is preformed by fast nearest neighbor lookup before sampling.

Off-Policy Learning

不像傳統RL,由於環境場景的限制,我們無法通過當前策略與生成的軌跡在線更新策略,而是收集歷史的策略(不同於當前更新策略的分佈)的反饋行為。 實際情況是以幾個小時為週期收集數據,在舊策略下的軌跡數據上更新策略參數。 由於軌跡數據是由歷史策略生產來,公式(2)的naive policy gradient estimator 就不再是無偏的了。

Address the distribution mismatch with importance weighting.

不論怎樣從β採樣,都可以校正成無偏估計。但importance weight的值會因為鏈式相乘而迅速變得很大或者很小,從而導致估計的方差變得很大。

為了減少梯度的方差,忽略t時間後的鏈式乘積,並採用一階近似

a biased estimator of the policy gradient with lower variance:

Achiam et al. [1] 證明瞭在總獎勵的一階近似影響限制在 $Oleft(E_{s sim d^{eta}}left[D_{T V}(pi | eta)[s]
ight]
ight)$, $D_{T V}$ 是 $pi(cdot | s)$ 和 $eta(cdot | s)$ 的variance, $d^{eta}$ 是discounted future state distribution

This estimator trades off the variance of the exact off-policy correction while still correcting for the large bias of a non-corrected policy gradient, which is better suited for on-policy learning.

Parametrising the policy π

Estimating the behavior policy β

公式(3)中有個困難是獲取策略$eta$, 理想情況下我們可以記錄策略選擇的action的概率,但是在這個場景下 1. 系統中有很多agents,其中許多我們無法控制 2. 一些agents有確定性策略,設$eta$為0或1無法高效利用logged feedback.

因此採用[39]中提出的方法,用記錄下來的行為來估計多agents的混合策略$eta$.

Given a set of logged feedback $mathcal{D}=left{left(mathbf{s}{i}, a{i}
ight), i=1, cdots, N
ight}$, Strehlet al. [39] estimates $hat{eta}(a)$ independent of user state by aggregate action frequency throughout the corpus.

相反,我們採用了上下文獨立的neural estimator。對每一個被收集的state-action pair,用另一個softmax估計$hat{eta}_{ heta^{prime}}(a|s)$

如圖1,我們重複利用了從RNN生成出來的用戶狀態 s, 用另一個softmax層對混合策略進行建模。為了避免其對生成用戶狀態的主策略影響,block掉其對梯度的回傳。我們也嘗試過將兩個策略分開建模,不過這帶來了額外的計算開銷,並且沒有任何指標在離線和線上實驗有提升。

儘管兩個策略共享參數,但是他們之間有兩個顯著的區別: 1. 考慮到長期獎勵,主策略$pi_{ heta}$使用帶權的softmax訓練,而$eta_{ heta^{prime}}$僅用 state-action pairs訓練。 2. $pi_{ heta}$用軌跡上非零獎勵的item訓練,而$eta_{ heta^{prime}}$使用軌跡上的全部item,以免在估計$eta$中引入bias

In [39], it is argued that that a behavior policy that is deterministically choosing an action a given state s at time t1 and action b at time t2 can be treated as randomizing between action a and b over the timespan of the logging.

本文也同樣認同上邊的觀點,這也解釋了為什麼行為策略可以是0或者1的確定性策略。除此之外,因為我們同時有多個策略,如果一個策略固定在狀態s下選擇行為a,而另一個策略會固定選擇行為b,那麼估計$hat{eta}_{ heta^{prime}}$ 將近似於在狀態s下動作a發生的頻率。

Top-K Off-Policy Correction

另一個挑戰是我們會一次性給用戶推薦一頁共K個item,用戶可能會全部看到也可能只會看到一部分,並可能與不止一個item發生交互,我們需要選擇一系列相關的item而非一個item。也就是說我們要找到一個策略$Pi_{Theta}(A | s)$,每個動作A選擇k個items,去最大化預期累計收益。

$$max {Theta} mathbb{E}{ au sim Pi_{ heta}}left[sum_{t} rleft(s_{t}, A_{t}
ight)
ight]$$

通過策略動作 $s_{0} sim
ho_{0}, A_{t} sim Pileft( | s_{t}
ight), s_{t+1} sim mathbf{P}left(cdot | s_{t}, A_{t}
ight)$ 可以得到軌跡$ au=left(s_{0}, A_{0}, s_{1}, cdots
ight)$ 但是這樣動作空間會呈指數級增長,當候選集有幾百萬的時候,更是大的可怕。 為瞭解決問題,我們假定一組不重複items的預期獎勵等於每個item預期獎勵的總和(This assumption holds if users inspect each item on a page independently)

另外我們限制自己通過softmax 策略獨立採樣每個item a 並去重,生成一組動作A。 $$Pi_{Theta}left(A^{prime} | s
ight)=prod_{a in A^{prime}} pi_{ heta}(a | s)$$ 這裡$A^{prime}$包含重複items,A是去重後的集合。

在上述假設下,我們可以通過簡單修改方程式(2)的梯度更新邏輯,來調整強化學習演算法。

$alpha_{ heta}(a | s)=1-left(1-pi_{ heta}(a | s)
ight)^{K}$ 是item a出現在非重複集合A的概率。這裡 K = |A『| &> |A| = k。 我們可以通過將$pi_{ heta}$替換為$alpha_{ heta}$去更新公式(3),來引入top-K off-policy 修正因子。

比較公式(6)和公式(3),top-K policy增加了一個額外的乘數

我們可以仔細的看一下這個額外的乘數: - 隨著$pi_{ heta}(a|s)
ightarrow 0, lambda_{K}(s, a)
ightarrow K$, 相比於標準的off-policy correction,top-K off-policy correction 的更新增大K倍。 - 隨著$pi_{ heta}(a|s)
ightarrow 1, lambda_{K}(s, a)
ightarrow 0$, 乘數會使策略更新趨向於0 - 隨著K的增加,乘數減少梯度到0會快於$pi_{ heta}(a|s)$來達到一個合理的範圍

總之,當期望項目在softmax策略πθ中具有小質量時,前K校正比標準校正更積極地推高其可能性。 一旦softmax政策πθ(·| s)在理想項目上投入合理的質量(以確保它可能出現在前K項),則校正後將梯度歸零並且不再試圖推高其可能性。 這反過來允許其他感興趣的項目在softmax policy中佔據一些質量。 正如我們將在模擬和實時實驗中展示的那樣,當標準的off-policy correctuib收斂於選擇單個項目時最優的策略時,top-K correction會產生更好的top-K 推薦。

Variance Reduction Techniques

如前文所說,我們使用一階近似去減少梯度估計得方差。但是由於大的importance weight,梯度仍然會有很大的方差.大的importance weight是由於新策略和舊策略偏差大,尤其在舊策略探索比較少的區域。That is,$pi(a | s) gg eta(a | s)$ and d (2) large variance in the β estimate. 我們測試了在counterfactual learning和RL文獻中提出的幾種技術來控制梯度估計的方差。這些技術中的大部分可降低方差,但代價是在梯度估計中引入一些偏差。

Weight Capping.

Normalized Importance Sampling (NIS).

n是batch size,n增加等價於調低學習率

Trusted Region Policy Optimization (TRPO). TRPO 通過增加正則項,懲罰兩個策略間的KL散度,來預防新策略π偏離行為策略,取得的效果類似於梯度裁剪。

Address System Bias

實驗組可以更傾向於尾部

Exploration

訓練數據的分佈對於學習一個好策略很重要。現在,探索現有系統很少採取的行動的Exploration policies已經被廣泛研究。實踐中,暴力探索如 ?-greedy,在Youtube中是不合適的,它大概率會導致一些不合適宜的推薦和不好的用戶體驗。, Schnabel et al. [35] 研究了探索的成本。 我們使用了Boltzmann exploration [12] 在不影響用戶體驗的情況下得到探索數據的好處。我們考慮採用隨機策略,即推薦item是從$pi_{ heta}$採樣而來,而非概率最高的K個items。這裡計算開銷是個挑戰,我們需要計算完整的softmax。因此我們使用最近鄰方案去尋找top M個items,算一個小的softmax,再據此進行採樣。通過讓 M &>&> K,我們仍可以得到大部分probability mass,限制不好推薦項的風險,保證計算效率。實踐中,我們通過返回K個prob最高的items,和從M-K中採樣K-K個items來平衡EE問題(exploration and exploitation)

Simulation

我們首先設計模擬實驗,以便在更加可控的環境下闡明off-policy correction。 為了簡化我們的模擬,我們假設問題是無狀態的,換句話說,獎勵R獨立於用戶狀態,並且動作也不會改變用戶狀態。因此,可以獨立地選擇軌跡上的每個動作.

Off-policy correction

第一個模擬實驗中,我們假設有10個items $mathcal{A}=left{a_{i}, i=1, cdots, 10
ight}$,$rleft(a_{i}
ight)=i$。當我們選擇一個item時,最優策略就是一直選第十個,因為其獎勵最大。 $$ pi^{*}left(a_{i}
ight)=mathbb{I}(i=10) $$ 我們用無狀態softmax參數化$pi{ heta}$, $$ pileft(a_{i}
ight)=frac{e^{ heta_{i}}}{sum_{j} e^{ heta_{j}}} $$ 從行為策略β採樣,不考慮數據bias,如公式(1)簡單地用用策略梯度 $$ pileft(a_{i}
ight)=frac{rleft(a_{i}
ight) etaleft(a_{i}
ight)}{sum_{j} rleft(a_{j}
ight) etaleft(a_{j}
ight)} $$ 這有一個明顯的缺點,行為策略越選擇次優item,新的策略就約會偏向選同一個item。

圖2比較了當策略β傾向選擇獎勵最少的item時,有無off-policy修正下的$pi{ heta}$。如圖2所示,左邊為不考慮數據偏差簡單應用策略梯度,導致sub-optimal policy。最壞情況,行為策略一直選獎勵最少的,我們也會學到一個類似舊策略的不好的策略(比如一直選獎勵最少的)。而應用off-policy correction讓我們學到一個最優策略$pi{*}$,不論收集的數據如何,如圖(2)右邊所示

Top-K off-policy correction

為了理解標準off-policy correction和top-K off-policy correction的區別,我們設計了個可以推薦多個items的實驗。同樣我們假設有10 items,$rleft(a_{1}
ight)=10, rleft(a_{2}
ight)=9$ , 剩下的獎勵都是1,$rleft(a_{i}
ight)=1, forall i=3, cdots, 10$。我們專註於推薦兩個item,即K = 2。行為策略β是均勻分佈,每個item有同等的機會。

從β中採樣到$left(a_{i}, r_{i}
ight)$,標準的off-policy correction有以下形式的SGD更新,

SGD持續增加$a_i$與$π_θ$下的預期獎勵成比例的可能性,直到

當$pi_{ heta}left(a_{i}
ight)$很小時,$lambda_{K}left(a_{i}
ight) approx K$, SGD會更激進的增加$a_i$的可能性。當$pi_{ heta}left(a_{i}
ight)$到一個足夠大的值時$lambda_{K}left(a_{i}
ight)$ 接近於0。因此,即使$pi_{ heta}left(a_{i}
ight)$仍然小於1,SGD也不再強制增加item的可能性。這反過來使第二好的項目在學習的策略中佔有一些地位。

圖3左邊展示了標準方式和top-K學到的策略$pi_ heta$.我們可以看到雖然從標準off-policy correction學到的策略已經被校準[23]過,切它也按獎勵的大小保證了順序,但是收斂的策略幾乎將整個質量全部集中於top-1 item,即$pileft(a_{1}
ight) approx 1.0$。這導致策略基本沒有學到次優項(本例中的$a_2$)和其餘之間的區別.而top-K correction的收斂策略在保證item順序於獎勵順序一致的情況下,也為第二的item保留了significant mass。因此,我們可以為用戶推薦兩個高獎勵的items,獲得更高的整體獎勵。

Live Experiments

這是Youtube近兩年以來單次上線取得的最大收益

| | All | Desktop | Mobile | Tablet | | -------------- | ----- | ------- | ------ | ------ | | Online Metrics | 0.86% | 0.36% | 1.04% | 0.68% |

我們在Youtube的RNN候選生成模型做了一些列AB實驗。這個模型是眾多候選生成模型中的一個,在展示前會有一個獨立的rank model去進行打分排序。模型根據上述RL演算法來訓練,實時獎勵反應著用戶的行為,推薦的視頻沒被點擊的獎勵為0.長期獎勵R會在4-10小時內做聚合。每個實驗中control model和test model用相同的reward函數。實驗運行了很多天,模型在線上持續訓練,新事件會在24小時內訓練。實驗期間,我們關注了各種線上指標,不過這裡我們主要關注用戶觀看視頻時長,ViewTime.

這裡介紹的實驗描述了對生產系統的多個連續改進。 所以,最新的推薦系統為下一個實驗提供訓練數據,這導致一旦生產系統採用新方法,後續實驗就不能與早期系統進行比較。 因此,以下每個實驗會作為組件單獨分析,並在每個部分中說明新方法接收數據是由什麼推薦系統提供的。

Exploration

我們首先要理解exploratory data 在提高模型質量方面的價值。 特別是,我們想衡量是否要在之前描述的採樣softmax模型下使用隨機策略,要比一直根據softmax推薦概率最高的K個item的模型要好。 我們先弄一組實驗對比隨機策略和確定性出一個。在實驗中,控制羣體使用確定性策略,而一小部分測試流量用隨機策略,如Exploration節所述。 兩個實驗都是基於公式(2)裏的softmax模型訓練。為了控制隨機策略的隨機性,我們調整公式(5)的temperature.一個較低的T是隨機策略偏向於確定性策略,而T值變大會導致item的推薦偏向於等概率隨機。 當T設為1時,ViewTime沒有統計顯著性變化,這表明採樣所引入的這些隨機性沒有直接傷害用戶體驗。

但是這個實驗的設置沒有考慮有探索數據對於訓練的益處。從歷史記錄數據中學習的一個主要偏差是模型沒有觀察到前一個推薦策略未選擇的Action的反饋,探索性數據會緩解這一問題。我們有搞了一個跟進實驗,在訓練中引入了探索數據。為此,我們首先將平臺用戶分為了3個buckets,90%,5%,5%。前兩個buckets基於確定性模型使用確定性策略,最後一個bucket用基於帶探索性數據訓練模型的stochastic policy。確定性模型用前兩個buckets訓練,隨機模型用第一個和第三個bucket訓練。這樣兩個模型訓練使用的數據量時相等的,但隨機模型會因為探索數據更容易觀察到一些罕見的state,action pair.

按此實驗流程,我們觀察到測試羣體中的ViewTime統計學顯著性地增加了0.07%。 雖然改進不大,但它來自相對少量的勘探數據(只有5%的用戶在用隨機政策)。隨著隨機政策的全面啟動,我們預計會有更高的收益。

Off-policy Correction

使用完隨機策略之後,我們在訓練中引入off-policy correction。這塊我們用了更傳統的A/B測試設置,都使用了全部數據。實際上,我們用了很少的用戶作為測試人羣,所以數據基本全部來自control model。control model由公式(2)確定,只用reward調整樣本的權重。測試模型使用圖1的結構,即用來學習 serving policy $pi_{ heta}$ 也學習 behavior policy $eta_{ heta_{prime}}$. serving policy 用公式(3)中off-policy correction 訓練,樣本權重不止依賴與reward,還依賴importance weight$frac{pi_{ heta}}{eta_{ heta^{prime}}}$ 去解決data bias。

在實驗期間,我們觀察到學習策略(測試)的開始是通過行為策略(控制)獲取的數據。圖4繪製了由我們的提名者根據對照人羣中的視頻等級在對照和實驗中選擇的視頻的CDF(rank 1是control model中推薦最多的視頻,最右邊是最少被推薦的視頻)。我們可以看到test model(綠色)更傾向於那些較少被control model探索過的視頻。我們看到top ranks之外的視頻被推薦數提升了三倍,這與我們在圖2中展現的模擬實驗結論是一致的。當忽略數據收集與處理的bias會產生強者恆強的現象。因此視頻被推薦,可能僅僅是因為他在behavior policy裏曾大量被推薦,而off-policy correction可以幫忙解決這個問題。

有趣的是,在線上實驗中,我們並沒有觀察到control與test羣體之間的 ViewTime 發生統計顯著性變化。然而,我們看到視頻數量增加了0.53%,這在統計學上是顯著的,這表明用戶確實得到了更多的享受。(註:個人覺得這個對發文側會有一個顯著的促進,作者留存應該會提升,長期看也對用戶也是正向的,不過谷歌這篇論文沒有提

Top-K Off-Policy

我們現在聚焦於理解是否Top-K off-policy比標準的off-policy提升用戶體驗。我們用同樣的模型結構使用公式6的top-K off-policy corrected梯度更新訓練,然後和上一節的off-policy模型比較。在本實驗中,我們讓方程 (8)的 K = 16 和上限 c=e^3 ;後邊我們會更詳細地探討這些超參數。

雖然我們之前測試過的標準off-policy correction過於關注top-1 item,而top-K off-policy correction收斂於更平穩的政策,其中會有non-zero mass在用戶其他感興趣的項目上。 這反過來導致更好的top-K推薦。 鑒於我們可以推薦多個項目,top-K policy讓我們向用戶提供比標準off-policy correction更好的整體體驗。 特別是,我們發現測試流量中ViewTime增加了0.85%,觀看的視頻數量略微減少了0.16%。(註:短視頻的話,可以再關注下finish指標的變化

Understanding Hyperparameters

最後,我們直接比較不同的超參數的選擇如何影響top-K off-policy correction對平臺上的用戶體驗。我們在top-K off-policy correction成為生產模型後進行了這些測試。

Number of actions

我們先測了下top-K中的K。我們用$K in{1,2,16,32}$訓練了三個結構相同的模型。The control (production) model is the top-K off-policy model with K = 16. 我們在圖5畫了5天實驗的結果。當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)

Capping

這裡我們來探討下方差減小技術對學到的推薦系統的最終質量的影響。論文Section4.4裏weight capping在最初實驗裏拿到了最大的收益。我們沒有觀察到normalized importance sampling,or TRPO [36]對指標的提升。我們搞了個回歸測試研究weight capping的影響,比較了c = e^3和c = e^5。當我們取消對importance weight的限制時,學到的策略$π_θ$可能會過度適應一些意外獲得高回報的logged actions。 Swaminathan和Joachims [43]描述了傾向過擬合的類似效果。 在線上實驗中,當the cap on importance weight被增大時,我們觀察到ViewTime顯著下降了0.52%。

Conclusion and Future Works

這篇paper講了policy gradient-based top-K推薦系統在Youtube上的應用。我們將REINFORCE的action space擴展到數百萬這個級別,並且穩定的運行在線上生產環境中。為了展示這種方法的全部收益,我們演示瞭如何通過結合a learned logging policy和新穎的top K-off-policy correction來解決logged data中的bias。我們進行了廣泛的分析和實驗,來衡量了解和解決這些潛在的biases的重要性。 我們認為這些是使強化學習對推薦產生實際影響的重要步驟,並為研究人員和從業人員探索將RL應用於推薦系統提供了堅實的基礎。

  • Reinforement Learning Framework for Recommender Systems
  • Future Work
  • Better state representation through LRD
  • Better exploration and planning
  • Beyond systems and user:improve Youtube ecosystem

參考

  • https://www.youtube.com/watch?v=HEqQ2_1XRTs
  • https://arxiv.org/pdf/1812.02353.pdf


曾在美團做過一年強化學習在推薦系統的落地工作,本文是期間工作的總結

美團技術團隊:強化學習在美團「猜你喜歡」的實踐?

zhuanlan.zhihu.com圖標

幾點主觀感受:

1. 業務場景和MDP決定效果的上界。RL適用於真正存在多輪交互,且推薦能力能夠決定長期用戶價值的場景。比如信息流和短視頻比電商更合適一些。

2. 現階段的RL不是推薦系統的標配,甚至多數情況下不是ROI最高的選擇,但這部分長期收益有監督的方法拿不到。總有人將走上陡峭的山路,因為山就在那裡。

3. 山腳的旅人遠遠地觀望,談論,質疑,但對於有幸攀上一座山峯的旅人而言,veni, vidi, vici.

最近有點忙,有空整理一下思路回答。


不怎麼樣,原理上就不符合強化學習的原則,St到St_1基本上不可控,線上開發極為複雜且不穩定。一旦出現大的問題,是不可承受的損失。

之前看過幾篇論文,比如京東那個,不過也就是看看而已,尤其是國人寫的文章,可信度和可復現各個方面極其值得存疑。

推薦系統,在線實時的監督學習是一個能極大提高指標的方法。但不是強化學習。 (Bandit不包括在內)


過去幾個月合作做了一篇RL應用在推薦領域的論文。

感觸很深,RL優點在於確實能緩解longTail和coldStart問題,缺點是迭代運算真的太慢,而且用不起百級別的原始特徵,這導致的結果就是一眾爛大街的boosting演算法加上千級別原始特徵,F1基本不差於RL,訓練時間幾乎1/10,更不用談監督模型得到後輸入特徵立刻就得到標籤。

RL在推薦領域研究,目前個人看好的是針對推薦系統三大問題下手,比精確率等一眾指標以目前算力看還是緩緩。


我對目前強化學習應用於推薦系統不太看好,原因在推薦系統中的推薦列表好比智能體,則用戶就好比環境,用戶對於推薦列表的好壞會給予反饋,從而不斷迭代優化推薦列表使得累計回報達到最大,而目前對於強化學習演算法的測試要麼基於離線靜態數據集,要麼建立一個模擬器,試問靜態數據集能否包含真實環境中產生的所有可能性即(s,a,r),如果包含所有可能性則強化學習就變成了監督學習,如果不能,如何通過靜態數據集去評估決策模型的好壞,可能這個決策模型針對於現有數據集表現良好,而對於其它數據集則無效,所以永遠不上線去測試模型都無法說明該模型的優劣,即使設計一個模擬器,但模擬器終究是基於已有數據集構造的,能否保證模擬器的泛化能力包含所有可能性,這幾乎不可能,這其實是一個強化學習的一個分支sim2real問題,還有待於解決,所以RL4Rec對目前來說還有點太前沿了,還有很多問題亟待解決^_^。


推薦閱讀:
相關文章