字節跳動硬核課程實例(字節跳動基於深度強化學習的廣告推薦模型)
2023-04-19 00:37:29 2
論文名稱:Deep Reinforcement Learning for Online Advertising in Recommender Systems
論文連結:https://arxiv.org/abs/1909.03602
一、創新點1、目前已有一些工業界的研究成果將強化學習應用於廣告系統中,但是通常只會考慮廣告帶來的收益最大化,並不會考慮廣告給用戶造成的影響。比如在信息流廣告的業務場景下,本文給出了一種自然結果和插入廣告的平衡,也是用戶體驗和平臺收益的trade-off
2、本文基於DQN提出一種改進的模型框架——DEAR,該框架可以自適應的對投放策略做出調整(推薦列表中是否需要插入廣告、插入什麼廣告、在什麼位置插入廣告)
二、論文背景現在各大公司最主要的變現方式還是通過投放網際網路廣告的方式來營收,而廣告的形式也是多種多樣,搜索廣告(百度、360搜索結果頁裡面插入廣告)、信息流廣告(頭條推薦內容頁、抖音等)等,搜索廣告和信息流廣告都是在自然結果的基礎上通過適當的插入一些廣告(用戶點擊廣告,平臺收取廣告主的費用)來獲取收入。文章提出的DEAR用在信息流廣告場景下,比如我們在刷今日頭條和抖音的時候中間就會偶爾刷到一些廣告,如下圖所示
抖音信息流廣告
今日頭條信息流廣告
當用戶在不亦樂乎的刷抖音的時候,如果突然出現一個質量比較差的廣告的話用戶的體驗就會非常不好的(總體來看抖音的廣告更接近原生效果,不仔細看開始根本分辨不出這是一則廣告,這個確實做得挺好的),所以在這種推薦產品中插入商業廣告主要需要考慮一下三個問題:(1)是否插入廣告;(2)插入什麼廣告;(3)在什麼位置插入廣告。本文也是在權衡平臺收益和用戶體驗的基礎上,利用深度強化學習來自適應的調整廣告投放策略,在保證用戶體驗的基礎上,最大化平臺的收益
三、模型框架1、模型結構
傳統用於廣告推薦的DQN網絡結構有兩種形式,如下圖所示
傳統DQN模型結構
首先假設每個請求的候選廣告數量為A,推薦列表的長度為L,state包括用戶歷史瀏覽的自然結果和廣告、當前的推薦列表和上下文信息;action主要值上文提到的三種行為(是否插入廣告、插入什麼廣告、在什麼位置插入廣告);reward由廣告帶來的收益和用戶體驗兩方面決定;在圖中左側的網絡中,我們輸入用戶的狀態,輸出各個位置的Q值,該網絡結構可以得到最優的廣告位置,但是無法得到具體應該插入什麼廣告,圖中右側的網絡正好相反。所以為了解決上述傳統方式的弊端,論文融合了上述兩種模型提出了如下的DEAR網絡
DEAR模型結構
對於一個給定的廣告,利用融合後的網絡可以輸出在各個位置的Q值,這樣就可以得到該廣告應該插入的具體位置信息。上述是在我們默認要插入廣告的前提下得到該廣告的最佳插入位置,但是還有一個之前提到的問題沒有考慮,就是是否應該插入廣告。整個網絡的輸出Q值是L 1個(L個自然結果,一個廣告),文章將不插入廣告這種情況設為位置0,即如果我們最後得到該廣告的最佳初入位置是0的話,那麼就認為當前不應該插入廣告。
還有一個值得注意的地方,論文中的DEAR網絡將Q值的輸出分為兩個部分,使用了類似雙塔的這種網絡結構,主要是出於如下兩點考慮:(1)一方面是否應該插入廣告主要受當前用戶的影響,如果用戶歷史上對平臺的推薦結果反饋良好的話,那麼就大概率會為這個用戶展現廣告;如果認為該用戶存在流失的風險,那麼為了保證用戶的留存,大概率不會給該用戶展現廣告,所以是否插入廣告主要由state相關的特徵來決定;(2)另一方面,對於一個給定的廣告,對於不同用戶來說展現的位置也不盡相同(千人千面),同時廣告本身的一些屬性也會對展現位置有所影響,所以一個廣告的插入位置由state和action兩方面決定。
除此之外文章還介紹了state和action兩部分各自特徵的一些處理方法,具體細節可以詳細閱讀論文
2、Reward Function和損失函數
當給用戶在具體位置推薦了某個廣告之後,用戶會對此做出相應的反饋,這裡考慮的是廣告收益和用戶體驗兩個維度,所以reward function可以具體定義為如下
用戶體驗部分的reward可以進一步定義為
如果用戶繼續瀏覽下面的推薦結果的話就認為是一個正向的反饋,如果用戶直接離開不在瀏覽了,那麼認為是一個負向的反饋。廣告部分的reward可以具體定義,比如該廣告帶來的收益等。超參數α主要用於調和兩者之間的權重,所以最終的優化目標就是得到一個最優的action-value function
上式中求max的操作需要遍歷所有位置和所有廣告(應該是召回階段後的候選廣告集)。在此基礎上損失函數定義為
其中
3、模型離線訓練和線上測試
(1)模型的離線訓練流程如下所示
模型離線訓練流程
主要包括兩個階段:第一階段是將用戶採取某種行為後的狀態轉移過程存儲到replay buffer中,供後續二階段模型訓練;第二階段是從replay buffer中採樣一個batch利用上述的損失函數進行更新。
(2)模型的線上測試流程如下所示
模型線上測試流程
線上測試流程與模型訓練的第一個階段比較類似,這裡不再贅述
四、實驗對比文章對實驗部分進行了大量的分析與對比,從如何設計實驗、實驗衡量標準、對比的參數等角度進行了詳細的闡述,具體細節可以參考論文中的表述,這裡只列出DEAR模型和其他模型的對比結果
模型整體效果對比
不同component結構效果對比
五、總結近幾年工業界也在逐漸的將強化學習引入到推薦與廣告領域中來,谷歌在去年發表了兩篇強化學習應用到YouTube業務中的論文算是開了一個好頭,字節跳動這篇論文也是一種很不錯的嘗試,但是強化學習如何普遍的應用到推薦與搜索場景下還有很多問題需要解決,如何更高的應用到商業場景中是我們每個該領域從業者需要思考的內容。
歡迎喜歡的小夥伴關注專欄:https://zhuanlan.zhihu.com/HIT-LX
作者:知乎-被包養的程序猿丶
地址:https://www.zhihu.com/people/liang-xiao-95-14-1