基于對(duì)抗梯度的探索模型及其在點(diǎn)擊預(yù)估中的應(yīng)用
1. 摘要
排序模型在廣告、推薦和搜索系統(tǒng)中起到了至關(guān)重要的作用。在排序模塊中,點(diǎn)擊率預(yù)估技術(shù)又是重中之重。目前工業(yè)界的點(diǎn)擊率預(yù)估技術(shù)大多采用深度學(xué)習(xí)算法,基于數(shù)據(jù)驅(qū)動(dòng)來訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),然而數(shù)據(jù)驅(qū)動(dòng)帶來的相應(yīng)問題是推薦系統(tǒng)中的新進(jìn)項(xiàng)目會(huì)存在冷啟動(dòng)問題。
探索與利用(Exploration-Exploitation,E&E)方法通常用于處理大規(guī)模在線推薦系統(tǒng)中的數(shù)據(jù)循環(huán)問題。過去的研究通常認(rèn)為模型預(yù)估不確定度高意味著潛在收益也較高,因此大部分研究文獻(xiàn)聚焦到對(duì)不確定度的估計(jì)上。對(duì)于采用流式訓(xùn)練的在線推薦系統(tǒng)而言,探索策略會(huì)對(duì)訓(xùn)練樣本的收集產(chǎn)生較大影響,進(jìn)而影響模型的進(jìn)一步學(xué)習(xí)。然而,當(dāng)前大多數(shù)探索策略并不能很好的建模被探索的樣本如何對(duì)后續(xù)模型學(xué)習(xí)產(chǎn)生影響。因此,我們?cè)O(shè)計(jì)了一個(gè)擬探索(Pseudo-Exploration) 模塊來模擬樣本被成功探索并展現(xiàn)后對(duì)推薦模型后續(xù)學(xué)習(xí)的影響。
擬探索過程通過在模型輸入中添加對(duì)抗擾動(dòng)來實(shí)現(xiàn),我們同時(shí)也給出了該過程相應(yīng)的理論分析以及證明?;诖耍覀儗⒃摲椒麨榛趯?duì)抗梯度的探索策略( A dversarial G radient driven E xploration,以下簡(jiǎn)稱 AGE )。為了提高探索的效率,我們還提出了一個(gè)動(dòng)態(tài)門控單元用來過濾低價(jià)值樣本,避免將資源浪費(fèi)在低價(jià)值的探索上。為了驗(yàn)證AGE算法的有效性,我們不僅在公開學(xué)術(shù)數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn),也將AGE模型部署到了阿里媽媽展示廣告平臺(tái)上并取得了良好的線上收益。該工作已被KDD 2022 Research Track收錄為Full Paper,歡迎閱讀交流。
論文: Adversarial Gradient Driven Exploration for Deep Click-Through Rate Prediction
下載: https://arxiv.org/abs/2112.11136
2. 背景
在廣告系統(tǒng)中,點(diǎn)擊率(CTR)預(yù)估模型通常采用流式方式加以訓(xùn)練,而流式數(shù)據(jù)的來源又是由部署在線上的CTR模型產(chǎn)出,這就產(chǎn)生了所謂的 數(shù)據(jù)循環(huán) 問題。冷啟動(dòng)與長(zhǎng)尾廣告由于沒有充分展現(xiàn),CTR模型缺乏對(duì)這部分廣告的訓(xùn)練數(shù)據(jù),這也導(dǎo)致模型對(duì)這部分廣告的估計(jì)可能存在較大誤差,會(huì)使得這些廣告更加難以展現(xiàn),進(jìn)而難以完成冷啟動(dòng)過程。具體而言,圖一給出了廣告真實(shí)點(diǎn)擊率與展現(xiàn)數(shù)量之間的關(guān)系:我們系統(tǒng)中,一個(gè)新廣告的展現(xiàn)平均需要達(dá)到約一萬次,其點(diǎn)擊率才能達(dá)到收斂態(tài)。這給許多在線系統(tǒng)帶來了一個(gè)常見的難題,即如何在保證用戶體驗(yàn)的前提下,為這些廣告做好冷啟動(dòng)。
圖一:廣告CTR和展現(xiàn)次數(shù)之間的關(guān)系
探索和利用(E&E)算法通常被用來解決上述問題。在推薦或廣告系統(tǒng)中,常見的方法(如Contextual Multi-Armed Bandits,上下文多臂老虎機(jī))一般會(huì)將該問題按照如下方式加以建模。在每步中,系統(tǒng)會(huì)基于策略P選擇一個(gè)操作(即為用戶推薦一個(gè)項(xiàng)目_ _)。為了最大化累積獎(jiǎng)勵(lì)(通常使用總點(diǎn)擊量來衡量),系統(tǒng)需要權(quán)衡當(dāng)前是偏重探索,還是偏重利用。先前的研究通常認(rèn)為,高不確定性是潛在回報(bào)的衡量指標(biāo)。一方面,策略P需要優(yōu)先選擇當(dāng)前效用較大的項(xiàng)目以最大化本輪收益;另一方面,算法也需要選擇不確定度較大的操作以實(shí)現(xiàn)探索。如果用來表示權(quán)衡探索和利用的策略,那么系統(tǒng)對(duì)項(xiàng)目最終打分可以用如下公式表示:
不確定性估計(jì)已成為許多E&E算法的核心模塊。不確定性可能源于數(shù)據(jù)的可變性、測(cè)量噪聲和模型不穩(wěn)定性(例如:參數(shù)的隨機(jī)性),典型的估計(jì)方法包括蒙特卡洛MC-Dropout、貝葉斯神經(jīng)網(wǎng)絡(luò)、預(yù)測(cè)不確定性的高斯過程,以及基于梯度范數(shù)(模型權(quán)重)的不確定性建模等。在此基礎(chǔ)上,有兩種典型的探索策略:基于UCB的方法通常采用潛在回報(bào)的上限作為最終打分[1,2],而基于湯普森采樣的方法是通過從估計(jì)的概率分布中抽樣來完成 [3]。
3. 方法介紹
我們認(rèn)為,上述方法并未考慮一個(gè)完整的探索閉環(huán)。對(duì)于數(shù)據(jù)驅(qū)動(dòng)的在線系統(tǒng)而言,探索的最終收益來自于從探索過程中獲取的反饋數(shù)據(jù),以及反饋數(shù)據(jù)對(duì)于模型的訓(xùn)練與更新。而模型預(yù)估的不確定度本身并不能完全反映整個(gè)反饋閉環(huán)。為此,我們引入了一個(gè)擬探索模塊,用于模擬完成探索動(dòng)作后反饋數(shù)據(jù)對(duì)于模型的影響,并以此來衡量探索的有效性。分析發(fā)現(xiàn),探索的有效性不僅取決于模型的預(yù)估不確定度,還取決于“對(duì)抗擾動(dòng)”的大小。所謂對(duì)抗擾動(dòng),指的是在模型的輸入上加入的固定模長(zhǎng)的擾動(dòng)中使得模型輸出變化最大的擾動(dòng)向量。在論文中,我們也證明了,模型利用被探索的數(shù)據(jù)進(jìn)行一次訓(xùn)練后,模型輸出變化的期望等價(jià)于在輸入向量中加入模長(zhǎng)為不確定度、擾動(dòng)向量為對(duì)抗梯度的增量向量。我們驗(yàn)證了按照這種方式進(jìn)行建模,可以閉環(huán)地估計(jì)出被探索樣本對(duì)模型的后續(xù)影響,從而估計(jì)出被探索樣本的真實(shí)價(jià)值。
我們將這種方法稱為 基于對(duì)抗梯度的探索(Adversarial Gradient driven Exploration) ,簡(jiǎn)稱AGE。AGE模型由擬探索模塊(Pseudo-Exploration Module)與動(dòng)態(tài)門控閾值單元(Dynamic Gating Unit)兩部分組成,其整體結(jié)構(gòu)如圖二所示。
圖二:AGE結(jié)構(gòu)圖
其中部分的詳細(xì)介紹詳見3.1節(jié),部分的詳見3.3節(jié)。
3.1 擬探索模塊(Pseudo-Exploration Module)
3.1.1 模塊簡(jiǎn)介
擬探索模塊的主要目的是定量模擬模型使用探索樣本加以訓(xùn)練后,對(duì)該樣本打分的變化,從而估計(jì)探索對(duì)于模型的閉環(huán)影響。經(jīng)過推導(dǎo),我們發(fā)現(xiàn)可以通過公式(2)來完成上述過程,其中代表了探索后模型對(duì)該樣本的打分,我們將其用于最終的排序。
上式表示我們不需要對(duì)原有模型參數(shù)進(jìn)行任何操作,只需要在輸入的表征中加上對(duì)抗梯度,預(yù)估不確定度以及手工設(shè)定的超參數(shù)的乘積,即可完成對(duì)探索后模型預(yù)估分的模擬。 其中參數(shù) 與 的計(jì)算方法,我們?cè)谙乱还?jié)中介紹。本節(jié)后續(xù)我們將介紹擬探索模塊中公式(2)的詳細(xì)推導(dǎo)過程。
3.1.2 詳細(xì)推導(dǎo)
對(duì)于每條數(shù)據(jù)樣本而言,模型的訓(xùn)練將會(huì)影響兩部分參數(shù):該樣本對(duì)應(yīng)的表征(包含商品、用戶embedding等)與模型參數(shù)。因?yàn)槟P蛥?shù)在訓(xùn)練中的目標(biāo)是適應(yīng)所有樣本而不是單條樣本,所以我們可以認(rèn)為訓(xùn)練單條樣本主要會(huì)對(duì)樣本對(duì)應(yīng)的表征產(chǎn)生影響,而模型參數(shù)本身只需要微小的調(diào)整。因此,在后續(xù)研究中,我們將忽略的調(diào)整,而僅關(guān)注樣本對(duì)應(yīng)的表征的變化。假設(shè)包含表征的樣本真實(shí)label為,訓(xùn)練時(shí),我們需要尋找到的更新量,以最小化損失函數(shù)?;诖?,我們定義:
其中代表訓(xùn)練中使用的損失函數(shù),而在CTR預(yù)估任務(wù)中一般使用交叉熵?fù)p失函數(shù)。同時(shí),我們用來約束表征的最大變化。為了簡(jiǎn)化書寫,后續(xù)我們將上述公式右側(cè)寫為。
依據(jù)拉格朗日中值定理,在的二范數(shù)接近0的情況下,我們可以將上述損失函數(shù)公式(3)推導(dǎo)為:
我們觀察公式(4),易發(fā)現(xiàn)該損失函數(shù)在與兩個(gè)向量有相反的方向時(shí),獲得最小值。在公式(3)中,我們約束對(duì)抗擾動(dòng)。因此,通過求解公式(3),我們得到:
實(shí)踐中,我們用來替代公式(5)中的歸一化梯度。通過求導(dǎo)鏈?zhǔn)椒▌t,可以展開為和兩部分。進(jìn)一步計(jì)算,得到:
在上式中,我們將重新縮放到以保持等式的成立。盡管含義不同,但它們都是手動(dòng)調(diào)節(jié)的超參數(shù),故我們可以直接以完成替換。我們進(jìn)一步簡(jiǎn)化公式(6)為:
上式中,歸一化梯度表示模型輸出相對(duì)于輸入表征的導(dǎo)數(shù)方向。由于真實(shí)的用戶反饋在探索時(shí)無法得到,我們將使用預(yù)估不確定度來衡量預(yù)測(cè)得分與真實(shí)用戶反饋之間的差值。
公式(7)中,我們找到了在的約束下可以最大化改變模型預(yù)測(cè)輸出的解析解(推導(dǎo)與公式(3)到公式(5)相同)。進(jìn)一步,我們也發(fā)現(xiàn)上述對(duì)輸入表征添加的過程與對(duì)抗擾動(dòng)(見公式(9))的形式相同。
因此,我們利用對(duì)抗梯度來的替代公式(7)中的,并將我們的方法命名為基于對(duì)抗性梯度的探索算法。
公式(9)表明,AGE最有效的探索方式為給表征輸入加入對(duì)抗擾動(dòng),以擾動(dòng)后模型的輸出結(jié)果為排序因子:以對(duì)抗梯度為輸入表征的擾動(dòng)向量方向,以及以預(yù)測(cè)不確定性度的擾動(dòng)力度。于是,在得到和后,我們可以用下述公式來計(jì)算探索后的模型預(yù)測(cè)分?jǐn)?shù),該公式即為前述公式(2)。
3.2 實(shí)現(xiàn)細(xì)節(jié)
在AGE中,我們采用MC-Dropout的方法估計(jì)不確定度。具體說來,MC-Dropout為深度模型中的每個(gè)神經(jīng)元賦予隨機(jī)Mask權(quán)重,具體做法如下公式(11)所示。該方法的一個(gè)好處是,我們可以在不改變模型原始結(jié)構(gòu)的基礎(chǔ)上直接獲取不確定性。在實(shí)際操作中,可以通過UCB的思想計(jì)算dropout的方差來表示不確定度,或者參考湯普森隨機(jī)采樣的方式通過計(jì)算采樣與均值的差異來計(jì)算不確定度,也即公式(12)和公式(13)。
歸一化對(duì)抗梯度可以根據(jù)公式(8)中的快速梯度法(FGM)來計(jì)算獲得。為了更加精確地計(jì)算出對(duì)抗梯度,我們還可以進(jìn)一步利用近端梯度下降(PGD)方法,多步迭代更新梯度,如公式(14)所示。
3.3 動(dòng)態(tài)門控閾值單元(Dynamic Gating Unit)
在實(shí)踐中,我們發(fā)現(xiàn)并非所有廣告都值得探索。在一般的Top-K廣告系統(tǒng)中,能夠?yàn)樽罱K用戶展現(xiàn)的廣告數(shù)量是相對(duì)較少。因此,本身點(diǎn)擊率低的廣告(比如廣告本身質(zhì)量較低),即使模型對(duì)這部分廣告的預(yù)估存在很高的不確定性,但考慮廣告系統(tǒng)的業(yè)務(wù)屬性,其探索價(jià)值仍然是很低的。雖然我們可以通過探索獲得了這些廣告的大量數(shù)據(jù),使得這些廣告被模型充分訓(xùn)練而估計(jì)的更加準(zhǔn)確;但因?yàn)檫@些廣告的本身過低的點(diǎn)擊率會(huì)使得即使充分探索后,這些廣告依然無法自行獲取流量,這樣的探索無疑是低效的。在本文中,我們嘗試了一種簡(jiǎn)單的啟發(fā)式方法來提高探索的效率——如果模型對(duì)該廣告的預(yù)估分?jǐn)?shù)高于該廣告在所有人群中的平均點(diǎn)擊率,我們將進(jìn)行探索;否則,探索將不會(huì)發(fā)生。
為了計(jì)算廣告的平均點(diǎn)擊率,我們引入了動(dòng)態(tài)門控閾值單元(DGU)模塊。DGU僅使用廣告?zhèn)忍卣髯鳛檩斎雭眍A(yù)估廣告的平均點(diǎn)擊率。當(dāng)模型的預(yù)估點(diǎn)擊率低于DGU模塊預(yù)估的廣告平均點(diǎn)擊率時(shí),不予探索,反之則進(jìn)行正常的探索。該過程如下式所示:
最終,我們將代入公式(10)中,獲得如下AGE探索模型最終完整的計(jì)算方式。
4. 實(shí)驗(yàn)評(píng)測(cè)
4.1 離線實(shí)驗(yàn)
我們對(duì)比了三大類基線方法,包括基于隨機(jī)采樣的探索方法,基于深度模型的探索方法,以及基于梯度的探索方法,結(jié)果如表1所示。觀察可得,基于湯普森采樣(TS)方法構(gòu)建的基線模型均優(yōu)于基于UCB的模型,證明TS是一種更好的衡量模型不確定度的算法。此外,我們可以觀察到AGE算法優(yōu)于所有的基線方法,這也證明了AGE方法的有效性。具體而言,AGE-TS和AGE-UCB的表現(xiàn)均優(yōu)于最好基線UR-gradient-TS和UR-gradient-UCB [4],提升數(shù)值分別為5.41%和15.3%。而AGE-TS方法相比于不進(jìn)行探索的基準(zhǔn)方法提高了整整28.0%的點(diǎn)擊量。值得注意的是,基于AGE的UCB和TS算法AGE-UCB和AGE-TS取得了相似的效果,基于gradient的UCB和TS算法并非如此,這也證明了AGE可以彌補(bǔ)UCB方法的不穩(wěn)定性。
表1:離線實(shí)驗(yàn)結(jié)果
我們也進(jìn)行了大量的消融實(shí)驗(yàn)來證明了各個(gè)模塊的有效性。如表2所示,閾值單元、對(duì)抗梯度、不確定度單元,三者均不可或缺。為了進(jìn)一步確定DGU的效果,我們嘗試了不同的固定閾值參數(shù),最后也發(fā)現(xiàn)其效果也不及DGU的動(dòng)態(tài)閾值。
表2:消融實(shí)驗(yàn)結(jié)果
4.2 在線實(shí)驗(yàn)
我們也將AGE模型部署到阿里媽媽展示廣告系統(tǒng)中,為了準(zhǔn)確評(píng)估模型的探索價(jià)值,我們?cè)O(shè)計(jì)了基于公平桶的評(píng)測(cè)方法。如圖三所示,我們首先設(shè)置桶C和桶D用于收集數(shù)據(jù)。在桶D中,我們部署AGE等探索算法,而在桶C中,我們采用不做探索的常規(guī)CTR模型。經(jīng)過一段時(shí)間之后,我們將桶C和桶D獲取的反饋數(shù)據(jù)分別應(yīng)用于公平桶A和B上部署模型的訓(xùn)練。最終,我們將比較公平桶A和B上的模型效果。在線實(shí)驗(yàn)中,我們使用幾個(gè)標(biāo)準(zhǔn)指標(biāo)進(jìn)行評(píng)估,包括點(diǎn)擊率CTR、被探索廣告的展現(xiàn)數(shù)量PV和預(yù)測(cè)CTR與真實(shí)CTR之比PCOC。此外,我們還引入了一個(gè)用于衡量廣告主的滿意度的業(yè)務(wù)指標(biāo)(AFR)。
圖三:公平桶實(shí)驗(yàn)方案
如表3所示,上述指標(biāo)都得到了有效的提升。其中,AGE明顯優(yōu)于所有其他方法:CTR和PV分別比基線模型高6.4%和3.0%。同時(shí)AGE模型的使用還提升了模型的預(yù)測(cè)精度,即預(yù)估準(zhǔn)度PCOC更接近1。更重要的是,AFR指標(biāo)也有5.5%的提升,這表明我們的探索方法可以有效提升廣告主的體驗(yàn)。
表3:在線實(shí)驗(yàn)結(jié)果
5. 總結(jié)
與大多數(shù)專注于估計(jì)潛在回報(bào)的探索&利用方法不同,我們的方法AGE從在線學(xué)習(xí)的數(shù)據(jù)驅(qū)動(dòng)的角度重新構(gòu)建了這一問題。除了可以估計(jì)當(dāng)前模型預(yù)測(cè)的不確定度外,AGE算法借助擬探索模塊,更進(jìn)一步地考慮探索樣本對(duì)模型訓(xùn)練的后續(xù)影響。我們?cè)趯W(xué)術(shù)研究數(shù)據(jù)集和生產(chǎn)鏈路上都進(jìn)行了A/B測(cè)試實(shí)驗(yàn),相關(guān)結(jié)果均證實(shí)了AGE方法的有效性。今后我們會(huì)將AGE部署于更多的應(yīng)用場(chǎng)景中。