基於強化學習的 Contextual Bandits 算法在推薦場景中的應用

2021-02-24 DataFunTalk


文章作者:楊夢月、張露露

內容來源:滴滴科技合作

出品平臺:DataFunTalk

註:轉載請聯繫原作者。

導讀:本文是對滴滴 AI Labs 和中科院大學聯合提出的 WWW 2020 Research Track 的 Oral 長文 "Hierarchical Adaptive Contextual Bandits for Resource Constraint based Recommendation" 的詳細解讀。

在這篇文章中,滴滴 AI Labs 提出了一種基於強化學習的層次自適應的多臂老虎機的資源限制下的個性化推薦方法 ( HATCH )。該方法將資源限制下的用戶推薦問題建模成一個資源限制下的上下文老虎機問題,並使用層次結構同時達到資源分配策略和個性化推薦策略同時優化的目的。

多臂老虎機是一個非常典型的決策方法,被廣泛的應用於推薦系統中。一般情況下,當多臂老虎機算法觀察到系統當中的狀態 ( state ) 時,會從候選的多個動作 ( action ) 當中選擇一個在環境當中執行,之後得到環境的反饋回報 ( reward )。算法的目標是最大化累計回報,在推薦系統當中,state 一般對應用戶上下文,比如用戶特徵等,action 對應於可供推薦的項目,比如廣告,商品等等。reward 一般為用戶在得到推薦結果之後的反饋,通常情況下會使用點擊率等。多臂老虎機作為一種決策方法,其最重要的就是提供探索 ( exploration ) - 開發 ( exploitation ) 功能。開發是指策略 ( policy ) 採用當前預估出的最佳推薦,探索則是選擇更多非最佳策略從而為深入挖掘用戶喜好提供了可能性。

本文所考慮的問題是,有些時候推薦行為會在系統中產生資源消耗,該資源消耗會影響策略的表現。比如對於一個成熟的電商網站,一般情況下其每天的流量可以被看作一個定值,如果將流量看作一種資源,那麼廣告展示的行為就可以看作一種資源消耗。並且這種消耗是單元消耗,即一次推薦產生的資源消耗為1。資源限制不僅會限制推薦的次數,並且會對探索開發功能產生很大的影響。

目前有很多貪心策略用於資源限制下的上下文多臂老虎機問題,即在訓練的時候完全不考慮資源的分配,而採用"有即分配"的方法。該方法會產生比較大的問題,假設系統每天之內有一個資源預算總量,並且該資源總量比一天總共的推薦次數少得多,那麼這種方法就會在算法執行的早期花掉所有的資源,從而忽視後來的高質量用戶的請求。貪心策略可以被看作"短視"的策略,因為其分配策略不會考慮剩餘的資源以及用戶信息這種較為高級的信息。但是同時考慮資源分配和用戶推薦實際上是一個比較複雜的問題,因為這兩種策略在執行過程中會相互影響,從而很難直接得到比較好的策略結果。

本文為了資源分配的長期規劃,解決貪心策略的短視問題,提出了一種層次自適應的上下文多臂老虎機方法。該方法能夠使用層級結構同時優化資源分配策略與用戶個性化推薦策略。該方法分別設置了兩層策略,上層策略為資源分配,下層策略為個性化推薦,如上圖所示。該方法首先需要做一些預處理,即將系統中存在的大量用戶特徵信息收集起來,並將其進行聚類,得到不同的用戶種類,並得到每個類別出現的概率 ∮ 和類別的特徵中心點 x~。這麼做的原因是,本文假設了在推薦系統當中,雖然用戶反饋會根據推薦策略的不同而產生變化,但是用戶的特徵在一段時間滿足一個固定不變的分布。這個假設使得在學習過程當中,用戶類別的概率和類別特徵的中心點不會產生變化。通過這個假設,可以將上下文多臂老虎機的目標函數將最大化累計回報轉化為最大化單輪期望回報,設每個類別的用戶類別價值為 u,單輪期望回報如下:

其中 p 表示分配資源的概率,但是由於 u 不能直接獲得,所以設計了資源分配層用於估計 u。

設為用戶特徵集合,為用戶反饋集合,則該層在每一輪學習步 t 中,都通過一個線性方程預估出每個用戶類別的價值,則存在以下的線性方程。在得到估計用戶價值的 û 之後,通過解決一個線性規劃問題可以得到資源分配概率,在執行推薦結果之後,使用用戶反饋更新該層參數 θ~。該層使用一個標準的上下文多臂老虎機方法作為推薦方法,採用線性方程估計該方法當中基於用戶特徵的每個推薦項目 action 的預估回報,並採用探索策略進行推薦探索,其策略選擇方法遵循下式:該式子當中第一項為期望回報預估,第二項為置信度,作為探索策略的方法。這種探索策略可以使得較少被執行過的 action 有比僅使用第一項估計產生的被選擇概率更大的機率被選擇。在該用戶被分配了資源之後,將以該個性化推薦結果進行推薦,並得到用戶反饋。得到用戶反饋之後,採用以下式更新個性化推薦層的參數:由於上下文多臂老虎機方法是一種在線學習方法,其沒有一個標準的經驗損失函數用來更新參數,所以一般情況下會使用累計遺憾的程度來描述模型效果。本文中累計遺憾為:表示真實情況中的最佳回報與算法提供的最佳的 action 真實回報之間的差距。本文通過證明,得到累計遺憾為 。模擬實驗採用一個模擬數據生成器,該生成器滿足線性生成規則,在該實驗上分析累計遺憾在不同的實驗設置下與基線之間的對比:

實驗結果說明本文提出的 HATCH 能夠得到低的累計遺憾。

真實數據採用 Yahoo Today Model 的公開數據集,並篩選出了推薦數量最多的6種新聞推薦 action 的 event ( x ( 用戶特徵 ),a ( 推薦新聞 ),r ( 是否點擊 ) ) 進行拒絕採樣的離線驗證。

從圖中看出,在不同的實驗設置下,HATCH 均能達到最佳的平均 CTR。

並且本文分析了探索效果,發現在早期學習過程中,擁有較小估計價值的用戶類別,也存在有稍微大的概率被分配資源的情況。說明不僅在個性化推薦層,事實上在資源分配層該算法也具有一定的探索性,這種探索性使得在分配資源的過程中能夠首先對用戶類別的價值做充分的探索之後才進行開發策略。避免在早期的策略不合適造成整個訓練過程策略分布的偏差。

滴滴團隊指出,該方法雖然能夠動態自適應的分配資源,但是真實世界的環境其實在隨著時間的變化而變化。所以指出可以將該方法在動態變化的環境中進行推廣。

論文地址:

Hierarchical Adaptive Contextual Bandits for Resource Constraint based Recommendation

https://arxiv.org/abs/2004.01136

本文方法代碼 github 可見:

https://github.com/ymy4323460/HATCH

今天的分享就到這裡,謝謝大家。

如果您喜歡本文,點擊右上角,把文章分享到朋友圈~~

歡迎加入 DataFunTalk 推薦系統技術交流群,跟同行零距離交流。如想進群,請加逃課兒同學的微信(微信號:DataFunTalker),回覆:推薦系統,逃課兒會自動拉你進群。

關於我們:

DataFunTalk 專注於大數據、人工智慧技術應用的分享與交流。發起於2017年,在北京、上海、深圳、杭州等城市舉辦超過100場線下沙龍、論壇及峰會,已邀請近500位專家和學者參與分享。其公眾號 DataFunTalk 累計生產原創文章400+百萬+閱讀,5萬+精準粉絲。

一個在看,一段時光👇

相關焦點

  • 一文讀懂 Netflix 的推薦探索策略 Contextual Bandits
    第三個挑戰,在於理解一副封面圖和同一頁面或同一session中其他封面圖和展示元素之間的關係。一張包含主角大幅特寫的圖片可能會非常吸引人,因為這可以使得該圖片脫穎而出。但如果整個頁面中都是這樣的圖片,這個頁面作為一個整體就不那麼吸引人了。此外,封面圖的效果可能和故事梗概和預告片的效果也緊密相關。所以候選圖片需要能夠涵蓋該劇集吸引用戶的多個方面。
  • 一分鐘整明白Netflix的Contextual Bandits的推薦探索策略
    這篇文章講述了Netflix對用戶看到的視頻封面進行個性化篩選的方法,但更具有普適性意義的是以此案例為載體的contextual bandit exploration方法,以及基於replay的離線效果無偏評估方法。
  • 深度強化學習算法與應用研究現狀綜述
    概述了基於值函數和策略梯度的兩類深度強化學習算法,詳細闡述了深度Q網絡、深度策略梯度及相關改進算法的原理,並綜述了深度強化學習在視頻遊戲、導航、多智能體協作以及推薦系統等領域的應用研究進展。最後,對深度強化學習的算法和應用進行展望,針對一些未來的研究方向和研究熱點給出了建議。
  • 強化學習應用簡介
    需要考察監督學習或情境老虎機(contextual bandits)是否更適合要解決的問題;如果是那樣,強化學習則不是最好的解決方案。強化學習的應用場景一般需要一定的資源,包括人才、計算力、大數據等。目前成功的強化學習應用一般需要有足夠的訓練數據;可能來自完美的模型、很接近真實系統的仿真程序、或通過與環境交互收集到的大量數據。收集到的數據根據問題做相應處理。
  • 深度強化學習在遊戲中的應用
    基於上述原因,我們認為基於深度強化學習技術優化遊戲研發流程是一個很有前景的方案,在遊戲研發的一些場景中進行了嘗試,並取得了一定成果。在真實的商業遊戲中,我們會有其他更多的需求,比如成本要足夠低、Bot的行為要足夠擬人、訓練速度要足夠快以適應遊戲開發和更新的進度等,這些都是實際應用中更需關注的問題,我們也將在後續的文章中再仔細闡述。
  • 我們如何利用AI和機器學習將遊戲引入現實生活?
    在過去的幾年間,數據導向型的「機器學習」已經逐漸取代了一些企業(比如亞馬遜、Netflix和優步)中的規則導向型系統。在Unity,我們探究了「機器學習」技術的使用,包括「深度學習」在文本創作中的應用,以及「深度加強學習」在遊戲開發中的應用。在機器學習和人工智慧的浪潮中,我們看到了巨大的希望和發展空間。對於那些數據導向型的大企業來說,機器學習已經不算是新興技術了。
  • 【乾貨書】強化學習算法,98頁pdf綜合講解人工智慧和機器學習
    強化學習是一種學習範式,它關注於如何學習控制一個系統,從而最大化表達一個長期目標的數值性能度量。
  • 強化學習應用簡述
    需要考察監督學習或情境老虎機(contextual bandits)是否更適合要解決的問題;如果是那樣,強化學習則不是最好的解決方案。強化學習的應用場景一般需要一定的資源,包括人才、計算力、大數據等。目前成功的強化學習應用一般需要有足夠的訓練數據;可能來自完美的模型、很接近真實系統的仿真程序、或通過與環境交互收集到的大量數據。收集到的數據根據問題做相應處理。
  • Adversarial bandits之Exp3算法
    翻譯並改編自:banditalgs.com/2016/10/前言:(引用下納米醬關於強化學習的思考,作為飯錢開胃菜~)
  • 《高級機器學習》第十七講 在線學習--隨機老虎機
    授課教師主頁:http://keg.cs.tsinghua.edu.cn/jietang/課程主頁:https://www.aminer.cn/aml第十七講 在線學習--隨機老虎機1 引言1.1 離線模型 v.s.
  • 【強化學習實戰】基於gym和tensorflow的強化學習算法實現
    1新智元推薦【新智元導讀】知乎專欄強化學習大講堂作者郭憲博士開講《強化學習從入門到進階》,我們為您節選了其中的第二節《基於gym和tensorflow的強化學習算法實現》,希望對您有所幫助。同時,由郭憲博士等擔任授課教師的深度強化學習國慶集訓營也將於 10 月 2 日— 6 日在北京舉辦。
  • 智能決策論壇系列解讀 | 深度強化學習理論和算法
    在上述複雜環境下的決策任務中,以深度強化學習方法作為核心決策優化算法均已達到甚至超越人類頂尖玩家水平。除遊戲之外,近年來深度強化學習正被逐漸應用於許多工程領域,如機器人控制、自然語言處理、自動駕駛、推薦搜索系統等。到目前為止,深度強化學習仍處於興起階段,屬於人工智慧方向的新興研究領域,擁有廣闊的發展前景。
  • 【演講實錄】強化學習在 TensorFlow 中的應用 | 個推*GDG
    這是一個自動駕駛的環境,就是汽車通過強化學習,這是綜合的,有路徑規劃,強化學習的一個方向的控制,行駛的控制,也有圖象識別和3D圖象識別出位置,還有很多的雷達,綜合的應用場景自動駕駛,至少在一些已知環境中自動駕駛做到還不錯的。
  • 強化學習 | 強化學習的算法
    我們選擇什麼樣的算法來指導Agent行動?本身強化學習算法有很多種,關於強化學習算法如何分類,有很多種分類方式。從多個角度對強化學習算法進行分類,其中包括基於模型(Model_based)和無模型的(Model_free)學習方法;基於值(Value-based),基於策略(Policy-based)和兩者相結合的(Actor-Critic)的學習方法;蒙特卡洛(Monte Carlo)和時間差分(Temporal-Difference)學習方法;在線策略(On-policy)和離線策略(Off-Policy
  • HFSS算法及應用場景介紹
    對使用者而言,每個工程師遇到的工程問題不一樣,工程經驗不能夠直接複製;對軟體而言,隨著HFSS版本的更新,HFSS算法越來越多,針對不同的應用場景對應不同的算法。因此,只有實際工程問題切合合適的算法,才能做到速度和精度的平衡。工程師在了解軟體算法的基礎上,便能夠針對自己的需求進行很好的算法選擇。
  • CB算法:基於內容的推薦算法的基本原理
    推薦系統能有效幫助用戶快速發現感興趣和高質量的信息,增加用戶使用產品的時長。推薦系統越精準,用戶的使用體驗就越好,產品越容易留住用戶。近幾年,今日頭條、抖音等產品的誕生,也使得基於內容的推薦算法這一古老算法的崛起。本文將簡要闡述基於內容的推薦算法的基本原理,enjoy~基於內容的推薦算法是眾多推薦算法中的一種,是一種機器學習算法。
  • Tensroflow練習,包括強化學習、推薦系統、nlp等
    DQN三大改進(二)-Prioritised replayDQN三大改進(三)-Dueling Network深度強化學習-Policy Gradient基本實現深度強化學習-Actor-Critic算法原理和實現深度強化學習-DDPG算法原理和實現Pointer-network理論及tensorflow實戰探秘多智能體強化學習-MADDPG算法原理及簡單實現
  • 圍觀RecSys2020 | 推薦系統頂會說了啥?
    基於個人閱讀習慣抓取了幾個思路進行總結。1. 今年的RecSys有相當數量的文章關注了Bandits方法以及強化學習的思路。在之前,Bandits算法簇就已經廣泛應用在推薦系統中,但是大多數情況下用來處理冷啟動問題,例如湯普森採樣等。在今年的會議中,我們可以看到,大家已經將Bandits的指針指向了在線學習、上下文環境以及貝葉斯方法。此外,這其中還有一篇文章將Bandits方法與隱私問題相結合。此外,也有強化學習的加入。使用強化學習的博弈的思想可以很好的解決推薦系統中的偏差問題。
  • 12個場景應用,百餘種算法,AI是如何攻佔經濟學的?
    4、深度學習下的銀行和在線市場在網上購物和信用卡場景中對欺詐檢測要求非常高,當前強化學習最先進的研究成果如下表所示: [90]應用基礎實驗證實了其中,LSTM-SVR模型應用於最終交易的預測。 [102]提出了一種新的學習遺傳算法,該算法利用R-NN模型來模擬人類的行為。具體採用了複雜的深度學習結構,包括:強化學習用於快速決策,深度學習用於構建股票身份,聚類用於整體決策目的,遺傳用於轉移目的。 [103]通過超參數的多樣化選擇使模型更加準確。