推薦系統(tǒng)遇上深度學(xué)習(xí)(一三六)-[美團(tuán)]基于強(qiáng)化學(xué)習(xí)的信息流廣告分配方法CrossDQN

今天給大家介紹的是我們團(tuán)隊(duì)今年發(fā)表在WWW2022上的論文CrossDQN,提出了一種基于強(qiáng)化學(xué)習(xí)的信息流廣告分配方法兜喻。這也是我個(gè)人在入職美團(tuán)之后工作的主要方向。接下來我將對(duì)論文內(nèi)容進(jìn)行詳細(xì)的介紹。

1、信息流廣告分配背景

電商場景下的信息流通常包含兩部分的內(nèi)容扎瓶,一類被稱為自然結(jié)果,另一類是廣告結(jié)果泌枪。二者以混合列表的形式展現(xiàn)給用戶概荷。如下圖是工業(yè)界常見的混排系統(tǒng)的架構(gòu),廣告和自然結(jié)果首先在各自的系統(tǒng)內(nèi)進(jìn)行排序工闺,最后通過Blending Server決定廣告的插入位置并展現(xiàn)給用戶(在本文研究的混排方法中乍赫,Blending Server不會(huì)改變廣告和自然結(jié)果內(nèi)部的相對(duì)順序瓣蛀,只決策廣告插入的位置):

基于展現(xiàn)給用戶的混排列表,平臺(tái)可以通過兩個(gè)途徑獲取收入雷厂,一方面惋增,當(dāng)用戶下單(無論自然結(jié)果還是廣告結(jié)果)時(shí),可以從中獲取傭金改鲫;另一方面诈皿,當(dāng)用戶點(diǎn)擊廣告時(shí),平臺(tái)可以收取廣告主的費(fèi)用(一般為CPC計(jì)費(fèi))像棘。由于廣告的質(zhì)量往往差于自然結(jié)果稽亏,過多的廣告展示可能對(duì)用戶體驗(yàn)有損,但過少的展示廣告缕题,則有可能對(duì)平臺(tái)的收入有損截歉,因此通常將廣告的曝光占比控制在一定的范圍之內(nèi)。而本文研究的問題就是烟零,在一定的曝光約束情況下瘪松,如何合理的進(jìn)行廣告位分配,能夠使平臺(tái)收入最大化锨阿,同時(shí)能夠盡可能減少用戶體驗(yàn)的損失宵睦。

當(dāng)前的廣告位分配方法主要可以分為兩大類,固定位插入方法和動(dòng)態(tài)位置插入方法墅诡。固定位的插入方法顯然是一種次優(yōu)的結(jié)果壳嚎,不僅沒有考慮用戶個(gè)性化的信息,同時(shí)也容易被用戶所跳過(用戶容易感知廣告的插入位置末早,每次瀏覽的時(shí)候進(jìn)行跳過)烟馅。因此,近年來研究的重點(diǎn)荐吉,主要集中在動(dòng)態(tài)位置插入的方法焙糟,如領(lǐng)英提出的基于RankScore的排序方法,以及字節(jié)提出的基于強(qiáng)化學(xué)習(xí)的方法Dear样屠。

當(dāng)前的動(dòng)態(tài)位置插入方法穿撮,主要存在以下幾方面的缺陷:
1)忽略了排序過程中相鄰展示商家的相互影響,如領(lǐng)英的方法基于單位置決策痪欲,沒有考慮已決策商家對(duì)于下文的影響悦穿。
2)在個(gè)性化和廣告曝光占比之間缺少有效的平衡,如字節(jié)的Dear時(shí)四個(gè)位置插入一個(gè)廣告或不插入业踢,盡管可以控制廣告曝光在1/4之下栗柒,但決策空間相對(duì)較小。

為了解決上述的問題,我們提出了一種基于強(qiáng)化學(xué)習(xí)的廣告位置分配方法瞬沦,稱為Cross Deep Q Network (Cross DQN) 太伊。接下來,對(duì)其框架進(jìn)行詳細(xì)介紹逛钻。

2僚焦、問題定義

首先來看一下美團(tuán)外賣場景下廣告分配的問題定義。在我們場景下曙痘,用戶的一次訪問定義為一個(gè)回合芳悲,我們順序決策每屏K個(gè)位置的廣告插入結(jié)果,由于存在廣告曝光占比的約束边坤,因此可以通過如下的CMDP過程進(jìn)行定義:

狀態(tài)空間S:狀態(tài)包含了當(dāng)前屏候選的廣告結(jié)果和自然結(jié)果信息名扛,用戶信息和上下文信息
動(dòng)作空間A:動(dòng)作表示為在當(dāng)前屏哪個(gè)位置插入廣告,假設(shè)每屏決策5個(gè)位置茧痒,那么動(dòng)作01001代表在本屏的第二個(gè)和第五個(gè)位置進(jìn)行廣告插入
即時(shí)獎(jiǎng)勵(lì)r:即時(shí)獎(jiǎng)勵(lì)包含了三部分肮韧,廣告收入、傭金收入和用戶體驗(yàn)評(píng)分文黎,定義如下:

狀態(tài)轉(zhuǎn)移概率P:用戶的行為影響狀態(tài)轉(zhuǎn)移惹苗,當(dāng)在st采取了動(dòng)作at之后殿较,若用戶下拉耸峭,則st轉(zhuǎn)移到st+1,否則回合結(jié)束
折扣因子:折扣因子用于平衡短期收益和長期收益
約束條件C:約束條件主要為曝光占比約束淋纲,即一定時(shí)間范圍內(nèi)(一小時(shí)劳闹,一天等)的廣告曝光占比PAE(percentage of ads exposed,簡稱PAE)洽瞬,需要保持在一定范圍之內(nèi)本涕,來平衡收入和用戶體驗(yàn)。PAE和約束條件的定義如下:

基于如上的問題定義伙窃,接下來菩颖,就來介紹CrossDQN的內(nèi)容。

3为障、CrossDQN介紹

3.1 整體介紹

傳統(tǒng)的DQN結(jié)構(gòu)晦闰,如Dueling-DQN,以狀態(tài)s作為輸入鳍怨,如下圖左邊的部分呻右。這樣的結(jié)構(gòu)無法建模state和action的交叉信息,在我們場景下即無法建模相鄰展示item的相互影響鞋喇。那么声滥,為了建模這種item的相互影響關(guān)系,我們提出了state和action的交叉(cross)思想侦香,其主要思路是將候選的廣告和自然隊(duì)列基于候選的action進(jìn)行拼接落塑,得到action對(duì)應(yīng)的商家的排列結(jié)果纽疟。舉例來說,以每屏決策5個(gè)位置為例憾赁,假設(shè)候選廣告隊(duì)列為A1仰挣,A2,A3缠沈,A4膘壶,A5(只需要5個(gè)即可,因?yàn)樽疃嗖迦胛鍌€(gè)廣告洲愤,自然結(jié)果同理)颓芭,候選自然結(jié)果隊(duì)列為N1,N2柬赐,N3亡问,N4,N5肛宋,若action為01001州藕,則交叉后的商家排列順序?yàn)镹1,A1酝陈,N2床玻,N3,A2沉帮,若action為00100锈死,則交叉后的商家排列順序?yàn)镹1,N2穆壕,A1待牵,N3,N4喇勋。

上述的交叉模塊呢缨该,我們稱為State and Action Crossing Unit (SACU),除SACU外川背,我們還設(shè)計(jì)了Multi-Channel Attention Unit (MCAU)贰拿,用于對(duì)展示商家的相互影響以及用戶的不同特征偏好進(jìn)行建模。模型的抽象結(jié)構(gòu)如下圖的右側(cè)所示渗常。

下圖為CrossDQN的完整結(jié)構(gòu):

可以看到壮不,整體的模型可以分為兩大部分,分別是Item Representation Module (IRM)和Sequential Decision Module (SDM)皱碘,IRM采用參數(shù)共享的方式询一,得到每個(gè)商家的壓縮后的向量表示,SDM通過SACU、MCAU以及我們設(shè)計(jì)的batch粒度的曝光約束損失健蕊,完成個(gè)性化的廣告位置決策菱阵。接下來,我們對(duì)每個(gè)模塊進(jìn)行詳細(xì)介紹缩功。

3.2 Item Representation Module

IRM通過參數(shù)共享的方式晴及,得到state中每個(gè)候選商家的embedding表示,對(duì)每個(gè)商家來說嫡锌,輸入包括用戶特征虑稼,上下文特征,用戶歷史行為序列和候選商家特征势木,建模方式同DIN(公式可能符號(hào)定義比較復(fù)雜蛛倦,從模型圖看建模過程還是比較清晰的):

3.3 Sequential Decision Module

SDM為決策模塊,基于計(jì)算的所有候選action的Q值啦桌,決策以何種廣告位置展示給用戶溯壶。主要包含SACU和MCAU兩個(gè)模塊,這也是本文的主要?jiǎng)?chuàng)新點(diǎn)所在甫男。

3.3.1 SACU

SACU的基本思想在上文中已經(jīng)介紹過了且改,具體的計(jì)算過程可以從如下的圖中比較清晰的得到:

這里簡單介紹一下:
1)根據(jù)action得到廣告和自然結(jié)果的偏置矩陣:若action為01001,代表廣告的插入位置為2和5板驳,那么1-action則代表自然結(jié)果的插入位置又跛,即1-action=10110,那么基于這兩個(gè)action笋庄,可以得到偏置矩陣效扫,如圖上的Mad和Moi
2)生成候選廣告和自然結(jié)果的embedding矩陣,其實(shí)就是將IRM得到的結(jié)果進(jìn)行reshape
3)交叉相乘并相加得到最終的結(jié)果直砂,計(jì)作Mcross

3.3.2 MCAU

MCAU用于建模相鄰展示商家的相互影響,而基于SACU得到的結(jié)果使相互影響建模更加簡便浩习。

在實(shí)際點(diǎn)擊或下單時(shí)静暂,用戶可能關(guān)注商家的某一方面或某幾方面,如配送費(fèi)谱秽、折扣洽蛀、配送時(shí)間等等。若每個(gè)商家經(jīng)過IRM得到的embedding表示長度為Ne疟赊,那么每一維度可以看做是信息的一種聚合方式郊供,用戶可能對(duì)不同的維度或維度組合有著不同的偏好。因此近哟,我們通過多個(gè)通道驮审,每個(gè)通道建模單一維度或維度組合的信息,這正是Multi-Channel的含義所在。

具體的疯淫,使用多組Mask地来,對(duì)SACU得到的交叉矩陣進(jìn)行mask,再使用self-attention進(jìn)行相互影響建模:

MCAU模塊的輸出為各通道輸出的拼接:

3.3.3 Q-Value

經(jīng)過了SACU和MCAU熙掺,接下來就是Q-value的計(jì)算未斑,我們采用Dueling-DQN的結(jié)構(gòu),因此Q-value包括狀態(tài)價(jià)值V和優(yōu)勢函數(shù)A:

3.4 Auxiliary Loss for Batch-level Constraint

接下來,我們要關(guān)注的問題是模燥,如何保證廣告曝光占比在一定的范圍之內(nèi)代赁?由于強(qiáng)化學(xué)習(xí)訓(xùn)練的不穩(wěn)定性,得到的不同模型在部署到線上時(shí)载城,對(duì)應(yīng)的廣告曝光占比可能差別非常大,總不能一個(gè)一個(gè)嘗試费就。因此我們嘗試將曝光占比損失融入到模型訓(xùn)練中诉瓦。

一種簡單的思路就是我們約束每個(gè)回合的曝光占比,那么所有回合的曝光占比也可以在我們要求的范圍之內(nèi)力细,但這種思路對(duì)于個(gè)性化的損失是非常大的睬澡。因此,這里我們提出了一種Batch粒度的損失函數(shù)眠蚂,使用一個(gè)Batch的樣本對(duì)應(yīng)的廣告曝光近似一段時(shí)間內(nèi)所有請求的廣告曝光占比煞聪。損失可以寫作:

上面的式子有兩個(gè)問題值得討論:
1)PAE是如何計(jì)算的,一種簡單的方式是不考慮位置因素逝慧,那么01001和11000的曝光占比均為0.4昔脯,這種方式處理比較簡單,但并不合理笛臣,理論上越靠前的位置具有更高的曝光概率云稚,那么另一種方式就是給每一個(gè)位置賦予一定的權(quán)重,這樣不同屏不同的廣告位置分配沈堡,得到的曝光占比均是不同的静陈。
2)上式中argmax是不可導(dǎo)的,如何將其變?yōu)榭蓪?dǎo)的形式融入進(jìn)模型訓(xùn)練诞丽?我們使用soft-argmax對(duì)argmax進(jìn)行替換:

可以看到鲸拥,本質(zhì)是softmax,通過beta系數(shù)控制softmax的結(jié)果僧免,如果beta越大刑赶,那么softmax的結(jié)果越接近于argmax,同時(shí)是一種可導(dǎo)的方式懂衩。

那么我們最終的損失包含兩部分撞叨,一是基于貝爾曼方程的DQN損失金踪,二是曝光約束損失:

3.5 模型拆解和部署

到這里,模型部分的介紹就到這里了谒所,那么你可能會(huì)有疑問热康,為什么我們的整體模型需要拆解為IRM和SDM兩部分,IRM又為什么通過參數(shù)共享的方式進(jìn)行計(jì)算劣领。

這里主要是線上性能的考慮姐军,廣告位決策模塊在精排之后,耗時(shí)有嚴(yán)格的限制尖淘,同時(shí)需要完成多次的順序決策奕锌,因此我們把整個(gè)模型拆解為IRM和SDM兩部分,并分開部署村生。IRM可以與精排并行計(jì)算惊暴,而SDM使用盡可能小的模型結(jié)構(gòu),完成多次決策趁桃,整個(gè)的線上部署架構(gòu)如下圖所示:

4辽话、實(shí)驗(yàn)結(jié)果

最后簡單看一下模型試驗(yàn)結(jié)果吧:

效果還是比較不錯(cuò)的,同時(shí)整個(gè)的CrossDQN已經(jīng)全量部署在美團(tuán)外賣平臺(tái)卫病,取得了明顯的收益提升油啤。

好了,論文就介紹到這里蟀苛,由于是自己團(tuán)隊(duì)的工作益咬,也是介紹的盡可能詳細(xì),感興趣的同學(xué)可以加我微信sxw2251帜平,一起探討交流~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末幽告,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子裆甩,更是在濱河造成了極大的恐慌冗锁,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淑掌,死亡現(xiàn)場離奇詭異蒿讥,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)抛腕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來媒殉,“玉大人担敌,你說我怎么就攤上這事⊥⑷兀” “怎么了全封?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵马昙,是天一觀的道長。 經(jīng)常有香客問我刹悴,道長行楞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任土匀,我火速辦了婚禮子房,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘就轧。我一直安慰自己证杭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布妒御。 她就那樣靜靜地躺著解愤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪乎莉。 梳的紋絲不亂的頭發(fā)上送讲,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音惋啃,去河邊找鬼哼鬓。 笑死,一個(gè)胖子當(dāng)著我的面吹牛肥橙,可吹牛的內(nèi)容都是我干的魄宏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼存筏,長吁一口氣:“原來是場噩夢啊……” “哼宠互!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起椭坚,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤予跌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后善茎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體券册,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年垂涯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了烁焙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡耕赘,死狀恐怖骄蝇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情操骡,我是刑警寧澤九火,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布赚窃,位于F島的核電站,受9級(jí)特大地震影響岔激,放射性物質(zhì)發(fā)生泄漏勒极。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一虑鼎、第九天 我趴在偏房一處隱蔽的房頂上張望辱匿。 院中可真熱鬧,春花似錦震叙、人聲如沸掀鹅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乐尊。三九已至,卻和暖如春划址,著一層夾襖步出監(jiān)牢的瞬間扔嵌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國打工夺颤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留痢缎,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓世澜,卻偏偏與公主長得像独旷,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子寥裂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容