成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

快手強化學習與多任務推薦

人工智能
本次分享題目為《強化學習與多任務推薦》,將介紹快手在強化學習和多任務推薦結合方面的探索工作。這篇工作主要針對的是短視頻的一個比較專業化的場景,多任務的用戶反饋分為觀看時長和互動,比較常見的互動包括點贊、收藏、關注還有評論,這些反饋各有特點。

一、Two-Stage Constrained Actor-Critic for Short Video Recommendation

第一篇工作是快手自研的,主要針對的是帶約束的多任務場景。

1. 短視頻多任務推薦場景

圖片

這篇工作主要針對的是短視頻的一個比較專業化的場景,多任務的用戶反饋分為觀看時長和互動,比較常見的互動包括點贊、收藏、關注還有評論,這些反饋各有特點。我們通過線上系統觀察發現,時長信號實際上非常稠密,而且因為它是連續值,能夠非常準確地反映用戶對該視頻的喜好程度,所以我們在優化過程中,把這個信號作為主要優化目標。相比之下互動信號更加稀疏,而且一般都是離散值,隨機性也更高,準確度不足,但是又需要進行一定優化,所以在我們的系統中將它作為輔助目標進行優化。在整個系統的目標設定上,基于之前的觀察,將時長作為主要目標,互動作為輔助優化,盡量保證互動的信號不損失,作為優化的整體目標。

圖片

這樣就可以非常直觀地將問題描述成一個帶約束的優化問題,有一個主目標 utility 的優化,輔助目標是滿足一個下界即可。有別于常見的 Pareto 優化問題,這里是需要分主次的。

圖片

解決這個問題的一個常用手段,就是把它轉化成拉格朗日對偶問題,這樣就可以直接合到一個優化的目標函數里面,無論是整體優化還是交替優化,可以合成一個整體目標進行優化。當然,需要去控制不同目標的相關性以及影響因子。

圖片

這種直觀的 formulation 仍存在一些問題,因為用戶狀態動態變化,尤其是在短視頻場景下,變化速度非常快。另外因為信號不統一,尤其是主要目標優化和稀疏的輔助目標優化存在非常不一致的分布問題,現有的解決方案很難處理。如果把它統一到一個目標 function,其中一個信號就可能 dominate 另外一個信號。

2. Multi-task Reinforcement Learning

圖片

基于第一點,考慮到用戶的動態變化問題經常被描述成 MDP,也就是用戶與系統的交替互動的 sequence,而這個 sequence 描述成 Markov Decision Process 之后就可以使用強化學習的手段求解。具體地,在描述成 Markov Decision Process 之后,因為同時還需要區分主要目標和輔助目標,所以需要額外聲明一下,在用戶反饋時,要區分兩種不同目標,此外輔助目標也可能有多個。強化學習在定義長期優化目標時,會將要優化的主目標定義成一個長期價值函數,叫做 value function。同樣對于輔助目標,也會有對應的 value function。相當于每一個用戶的反饋,都會有一個長期價值評估,相比于之前做 utility function,現在變成了一個長期價值的 value function。

圖片

同樣地,結合強化學習時會產生一些新的問題,比如強化學習如何區分不同的折扣系數。另外,因為引入了更多的 constraints,參數的搜索空間也變得更大,強化學習將變得更困難。

3. Solution: Two-Stage Multi-Critic Optimization

圖片

這篇工作的解決方案是把整個優化分成兩個階段,第一個階段優化輔助目標,第二個階段優化主要目標。

在第一個階段輔助目標優化時,采取了典型的 actor critic 優化方式,針對例如點贊和關注等輔助目標的優化,分別優化一個 critic,用來預估當前 state 的優劣。長期價值預估準確之后,再去優化 actor 時就可以使用 value function 來引導它的學習。公式(2)是 critic 的優化,公式(3)是 actor 的優化,針對 critic 的優化,在訓練時會用到當前的 state 和下一步的 state 以及當前 action 的采樣。根據 Bellman equation 可以得到 action,再加上未來的 state 的 value 預估,應該趨近于當前 state 的預估,這樣去優化就可以逐漸逼近準確的長期價值預估。在引導 actor 學習,也就是推薦策略學習時,會采用一個 advantage function。Advantage function 就是當采用某個 action 之后,其效果是否比平均預估更強,這個平均預估叫做 baseline。Advantage 越大,說明 action 越好,采用這個推薦策略的概率就會越大。這是第一階段,輔助目標的優化。

圖片

第二階段是優化主要目標,我們采用的是時長。輔助目標在約束主要目標時,采用了近似的策略,我們希望主要目標輸出的 action 分布盡可能接近不同的輔助目標,只要不斷接近輔助目標,輔助目標的結果應該就不會太差。在得到近似的 formulation 之后,通過 completion of square 就可以得到一個閉式解,即加權的方式。整個主要目標的 actor critic 的優化方式,在 critic 層面和 value function 估計層面上,其實沒有太大區別。但在 actor 時,我們引入了通過閉式解得到的權重。該權重的含義是,某個輔助策略 I 對應的影響因子越大,它對整體權重的影響也越大。我們希望策略輸出的分布盡可能接近所有輔助目標策略的平均值,得出來的閉式解的 behavior 時有這樣的現象。

4. Experiments

圖片

我們在 offline 的數據集上測試了多目標優化的效果,這里的主要目標是 watch time 即觀看時長,輔助目標是 click、like、comment 和 hate 等互動指標。可以看到我們提出的 two-stage 的 actor-critic 能夠拿到最優效果。

圖片

同樣我們也在線上系統做了相應的對比實驗,線上系統的設定采用了 actor 加 ranking 的推薦模式,這里的 action 是權重,最終的 ranking 是由每一個 item 和權重做內積得出來的結果。線上實驗也可以看到,watch time 能夠在提升的同時對其它互動有約束效果,相比于之前的優化策略,它能夠更好地約束互動指標。

以上就是對第一篇工作的介紹。

二、Multi-Task Recommendations with Reinforcement Learning

第二個工作同樣也是強化學習在多任務優化的應用,只不過這是比較傳統的優化。這篇工作是快手和港城大的合作項目,一作是 Liu Ziru。

1. Background and Motivation

圖片

這篇工作主要討論的問題是典型的多任務聯合訓練,其挑戰是需要平衡不同任務之間的系數,傳統的 MTL 的解決方案一般會考慮線性組合方式,且會忽略 session 維度,即長期的動態變化。這篇工作提出的 RMTL 通過長期的預估來改變加權方式。

2. Problem Formulation

圖片

問題設定是定義 CTR 和 CVR 的預估的聯合優化。同樣我們也有一個 MDP(Markov Decision Process)的定義,但這里 action 不再是推薦列表,而是對應的 CTR 和 CVR 預估。如果要預估準確,reward 就應該定義為 BCE 或者對應的任何一個合理的 loss。在整體的目標定義上,一般情況下會定義成不同的任務加權之后再對整個 session 以及所有的 data sample 進行求和。

圖片

可以看到,它的權重系數除了 Gamma 的 discount 之外,還會受到一個需要調整的系數的影響。

3. Solution Framework

圖片

我們的解決方案是讓這個系數的調整和 session 維度的預估相關。這里給出了一個 ESMM 的 backbone,當然其它 baseline 的使用也是通用的,都可以用我們的方法進行改進。

下面詳細介紹一下 ESMM,首先有一個 task specific 的 actor,對每一個任務都會有一個 target 和 current actor 的優化,優化時用到了類似之前提到的 actor critic 的 framework。優化過程中,BCE loss 在引導 actor 學習時,需要對 task specific 的權重進行調整。在我們的解決方案里,這個權重需要根據未來的價值評估進行相應的更改。該設定的意思是,如果未來的評估價值較高,說明當前 state 和當前 action 是比較準確的,對它的學習就可以放慢。相反,如果對未來的預估較差,說明該模型對 state 和 action 的未來并不看好,就應該增加它的學習,weight 采用這種方式進行了調整。這里的未來評估同樣采用前文提到的 critic network 進行學習。

圖片

critic 的學習也同樣采用未來 state 和當前 state 的差值,但區別于 value function,這里差值的學習采用的是 Q function,需要用到 state 和 action 的聯合評估。在做 actor 更新時,還要同時使用不同 task 對應的 actor 的學習。這里 soft update 是一個通用的 trick,在增加 RL 學習穩定性的時候比較有用,一般會同時優化 target 和當前的 critic。

4. Experiment

圖片

通過對兩個公開數據集的對比實驗,可以看出,我們的方法可以結合現有的優化方式包括 ESMM、MMoE 以及 PLE,得到的效果都能夠對之前的 baseline 有所提升。

圖片

PLE 在我們的觀測中是最好的 baseline,我們根據觀測現象的歸因是在學習不同 task 時,PLE 能夠更好地學習到 shared embedding。

圖片

相比之下,ESMM 在 Kuairand task 上面可以達到更好的 CVR 的評估。我們推測這與 click 和 conversion 在這個 dataset 里更強的相關性有關。

5. Transferability Study

圖片

除此之外我們也做了 transferability 的 test,因為我們的 critic 是可以直接嫁接到其他模型上的。比如可以通過最基礎的 RMTL 學習出 actor critic,然后用 critic 直接去提升其他模型的效果。我們發現,在嫁接時都能夠穩定提升效果。

6. Ablation Study

圖片

最后我們做了 ablation study,對不同的加權方式進行了對比,目前最好的效果都是由我們的 RMTL 得出來的。

三、Conclusion

最后總結一下 RL 和 MTL 的一些經驗。

圖片

我們發現推薦系統在長期優化時,尤其是在長期優化復雜指標時,是非常典型的強化學習和多任務優化的場景。如果是主副目標聯合優化,可以通過 soft regularization 去約束主要目標學習。多目標聯合優化時,如果考慮到不同目標的動態變化,也能夠提升其優化效果。

除此之外也存在一些挑戰,比如在強化學習不同模塊結合時,會對系統的穩定性帶來很多挑戰。我們的經驗是,對數據質量的把控、label 的準確性的把控和模型預估準確率的監督是非常重要的途徑。除此之外,由于推薦系統和用戶是直接交互的,不同目標僅能片面反映用戶體驗,所以得到的推薦策略也會非常不同。如何在不斷變化的用戶狀態下,聯合優化全面提升用戶體驗,在未來將是一個非常重要的課題。

四、Q&A

Q1:快手的時長信號和互動信號一般用的是什么 loss,是分類還是回歸,互動目標和觀看目標離線評估一般看哪些指標?

A1:時長指標是一個典型的回歸任務。但是我們同樣也注意到,時長預估是和視頻本身的長度強相關的,比如短視頻和長視頻的分布會非常不一樣,所以在預估時會先對它做分類處理,然后再做 regression。最近我們在 KDD 也有一篇工作,講用樹方法拆分時長信號預估的方法,如果大家感興趣可以關注。大概意思是,比如把時長分成長視頻和短視頻,長視頻預估會有一個預估的范圍,短視頻會有一個短視頻的預估范圍。也可以用樹方法進行更細致的下分,長視頻可以分成中視頻和長視頻,短視頻也可以分成超短視頻和短視頻。當然也有純用分類方法解決時長預估的,我們也有做測試。整體效果上來看,目前還是在分類的框架下,再做 regression,效果會稍微好一點。其他的互動的指標預估,一般和現有的預估方法差不多。離線評估時,一般 AUC 和 GAUC 是比較強的信號,目前看這兩個信號還是比較準確的。

Q2:回歸類的比如時長指標離線看什么指標?

A2:我們的系統主要看的是 online 的指標,離線一般是用 MAE 和 RMSE。但我們同樣看到離線和線上的評估也存在差異,如果離線評估沒有比較明顯的提升,那線上也不一定能看到對應的提升效果,它的實際對應關系在沒有達到一定顯著性的時候,區別不會太大。

Q3:類似轉發等比較稀疏的目標,建模上有沒有方法可以使其估得更準?

A3:對用戶轉發的理由分析,做一些觀測等可能會有比較好的收效。目前我們在做轉發預估的時候,在我們的鏈路下做和其他的互動目標的預估方式差距不太大。有個比較通用的思路,就是 label 的定義尤其是負反饋信號的定義,會非常大程度上影響模型訓練準確率。除此之外就是數據來源的優化,數據和線上的分布是否有偏,也會影響到預估準確率,所以我們很多工作也在做消偏。因為在推薦場景下,很多預估的指標實際上是間接的信號,它在下一步才會影響到推薦效果。所以以推薦效果為主導去優化指標,是我們這邊的應用場景。

Q4:快手這邊這個多目標融合是怎么做的?是強化學習調參嗎?

A4:在多目標融合時,一開始有一些 heuristic 的方法,一些手調的參數平衡的方法。后面逐漸開始使用調參方式,強化學習調參也嘗試過。目前的經驗是自動化調參比手調好一些,它的上限稍微高一些。

Q5:假如線上數據或者要調的某個目標本身特別稀疏,如果基于線上數據調參,反饋周期或者觀察置信需要比較久,這樣調參效率會不會比較低,這種情況下有什么解決辦法?

A5:我們最近也有一些工作討論極其稀疏、甚至幾天才有反饋的這種信號。其中最典型的一個信號就是用戶的留存,因為用戶可能離開之后過幾天才會回來,這樣我們拿到信號時,模型已經更新好幾天了。解決這些問題有一些折中方案,一個解決方案是可以去分析實時的反饋信號有哪些和這種極其稀疏的信號有一定的相關性。通過優化這些實時的信號采用組合方式去間接優化長期信號。以剛才的留存作為例子,在我們的系統中,我們發現用戶的留存和用戶實時的觀看時長存在非常強的正相關,用戶觀看時長就代表用戶對系統的粘度,這樣基本能夠保證用戶留存的下界。我們優化留存時,一般會使用優化時長組合一些其他相關指標去優化留存。只要是我們分析發現和留存有一定相關性的,都可以引入進來。

Q6:有沒有試過其他的強化學習方法,actor critic 有什么優勢,為什么使用這種方式?

A6:Actor critic 是我們迭代了幾次之后的結果,之前也試過 DQN 和Reinforce 等稍微直觀的方法,有的在一些場景下確實會有效果,但目前 actor critic 是一個相對穩定且好調試的方法。舉個例子,比如用 Reinforce 需要用到長期信號,而長期的 trajectory 信號波動性比較大,想提升它的穩定性會是比較困難的問題。但 actor critic 的一個優點是可以根據單步信號進行優化,這是非常符合推薦系統的一個特點。我們希望每一個用戶的反饋都能作為一個 training sample 去學習,對應的 actor critic 和 DDPG 方法會非常符合我們系統的設定。

Q7:快手多目標融合用強化學習方法時,一般會使用哪些 user 特征,是否存在一些很精細的特征例如 user id 導致模型收斂困難,怎么解決這個問題?

A7:user id 其實還好,因為我們 user 側的特征還是會用到各種各樣的特征的。user 除了有 id 特征以外,還會有一些統計特征。除此之外在推薦鏈路上,因為 RL 在我們應用的模塊處于比較靠后的階段,比如精排和重排,在前面的一些階段也會給出預估還有模型的排序信號,這些實際上都有用戶的信號在里面。所以強化學習在推薦的場景下拿到的 user 側的信號還是很多的,基本上不會出現只用一個 user id 的情況。

Q8:所以也用了 user id,不過暫時還沒有出現收斂困難的問題,對吧?

A8:對的,而且我們發現如果不用 user id,對個性化影響還是挺大的。如果只用一些用戶的統計特征,有的時候不如一個 user id 的提升效果大。確實 user id 的影響比較大,但是如果讓它的影響占比太大,會有波動性的問題。

Q9:有些公司的一些業務中,用戶的行為數據可能比較少,是不是也會遇到如果用 user id 就不好收斂這個問題,如果遇到類似問題,有什么解決方案?

A9:這個問題偏向于 user cold start,偏 cold start 場景下在推薦鏈路一般會用補全或自動化 feature 填充,先把它假設成一個默認 user,可能會在一定程度上解決這個問題。后面隨著 user 和系統不斷交互、session 不斷充實,實際上可以拿到一定的用戶反饋,會逐漸訓的越來越準。保證穩定性方面,基本上只要控制好不讓一個 user id 去 dominate 訓練,還是能夠很好地提升系統效果的。

Q10:前面提到的對時長目標建模先做分類再做回歸,具體是時長先做分桶,分完桶再回歸嗎?這種方式還是不是無偏估計?

A10:那篇工作是直接去做分桶,然后用每一個分桶到達的概率去聯合評估時長,不是分桶之后再做 regression。它僅用分桶的概率,再加上分桶的值去做整體的帶概率的評估。分桶之后再 regression 應該確實不再是無偏的,畢竟每一個分桶還是有它自己的分布規律的。

Q11:剛才老師提到一個問題,對于兩個目標 a 和 b,我們的主目標是 a,對 b 的要求就是不降就行。我們實際場景中可能還存在 a 是主目標,對 b 沒任何約束的場景。例如,把 CTR 目標跟 CVR 目標一起優化,但模型本身是一個 CVR 模型,我們只關注 CVR 的效果,不關心 CTR 效果會不會變差,我們只是希望 CTR 盡可能地幫助到 CVR。類似這種場景,如果想把它們放在一起聯合訓練,是否有什么解決辦法?

A11:這實際上已經不再是多目標優化了,CTR 的指標甚至都可以直接作為一個輸入去優化 CPR,因為 CTR 不再是優化目標了。但這樣可能對用戶不太好,因為用戶的 CTR 更大程度上代表了對系統的喜好程度和粘性。不過不同系統可能也有所差別,這取決于推薦系統是以賣商品還是以流量為主。由于快手短視頻這種是以流量為主的,所以說用戶 CTR 是一個更直觀、更主要的指標,CVR 只是流量引流之后的一個效果。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2023-11-07 07:13:31

推薦系統多任務學習

2023-04-23 10:12:14

算法強化學習

2023-03-09 08:00:00

強化學習機器學習圍棋

2020-08-10 06:36:21

強化學習代碼深度學習

2024-10-12 17:14:12

2022-09-28 15:34:06

機器學習語音識別Pytorch

2023-11-29 07:25:58

2024-12-18 07:20:00

2022-11-02 14:02:02

強化學習訓練

2025-05-08 09:16:00

模型強化學習訓練

2021-09-17 15:54:41

深度學習機器學習人工智能

2020-11-12 19:31:41

強化學習人工智能機器學習

2024-12-09 08:45:00

模型AI

2024-05-30 16:37:29

2017-07-25 16:04:31

概念應用強化學習

2020-06-05 08:09:01

Python強化學習框架

2020-01-23 15:33:07

AI 數據人工智能

2023-07-20 15:18:42

2023-06-25 11:30:47

可視化

2024-08-28 13:53:42

多代理強化學習機器人
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩免费毛片 | 日韩在线观看视频一区 | 国产91av视频 | 在线三级网址 | 天天久久 | 成人免费视频网站在线看 | 成人精品国产 | 日韩欧美国产电影 | 久久小视频 | 伊人久久免费视频 | av免费在线观看网站 | 亚洲精品一级 | 久久99视频免费观看 | 超碰最新在线 | 在线视频一区二区三区 | 亚洲精品高清视频 | www国产亚洲精品 | 秋霞在线一区二区 | 亚洲看片 | 天天操天天拍 | 在线播放第一页 | 色综合久久久久 | 国产亚洲一区二区三区 | 在线观看国产视频 | 欧美成人精品一区二区男人看 | 懂色av蜜桃av | 精品欧美在线观看 | 国产91丝袜在线熟 | 国产乱人伦 | 亚洲激情一级片 | av成年人网站 | aaaaaaa片毛片免费观看 | 国产福利在线小视频 | 欧美猛交 | 日韩精品中文字幕在线 | 成人在线视频免费观看 | 欧美一级黄带 | 日韩欧美一区二区三区 | 中文字幕久久精品 | 欧美午夜精品久久久久久浪潮 | 色综合久久天天综合网 |