導(dǎo)讀:本次分享的主題為網(wǎng)易云音樂(lè)廣告算法實(shí)踐,內(nèi)容圍繞以下五個(gè)部分:
- 網(wǎng)易云音樂(lè)廣告系統(tǒng)簡(jiǎn)介
- 廣告點(diǎn)擊率預(yù)估模型
- 廣告轉(zhuǎn)化率預(yù)估模型
- 用戶向量建模與應(yīng)用
- 總結(jié)與建議
- 網(wǎng)易云音樂(lè)廣告系統(tǒng)簡(jiǎn)介
- 廣告點(diǎn)擊率預(yù)估模型
- 廣告轉(zhuǎn)化率預(yù)估模型
- 用戶向量建模與應(yīng)用
- 總結(jié)與建議

01
網(wǎng)易云音樂(lè)廣告系統(tǒng)簡(jiǎn)介
- 網(wǎng)易云音樂(lè)廣告特點(diǎn)
- MAU(月活躍用戶人數(shù))過(guò)億
- 廣告位分散,數(shù)據(jù)量適中
- 廣告推薦屬于弱推薦
- 廣告系統(tǒng)要解決的核心問(wèn)題 – 解決廣告主與媒體方的博弈

注:ROI – 投資回報(bào)率;eCPM – 每一千次展示廣告可以獲得的廣告收入;pCTR – 預(yù)測(cè)廣告點(diǎn)利率;Price – 每次點(diǎn)擊收費(fèi)價(jià)格。
對(duì)于廣告主來(lái)說(shuō),他們希望廣告能夠精準(zhǔn)投放目標(biāo)客戶,并且使自己的廣告成本盡可能的降低,從而最大化投資回報(bào)率。而對(duì)于媒體方,他們希望提高用戶對(duì)廣告的點(diǎn)擊率,希望廣告主之間有競(jìng)爭(zhēng)(引入拍賣機(jī)制),以達(dá)到收入最大化的目的。
- GFP vs GSP

GFP(廣義第一價(jià)格拍賣)的主要特點(diǎn)是明拍,廣告主之間互相知道價(jià)格。
GSP(廣義第二價(jià)格拍賣)是目前互聯(lián)網(wǎng)廣告系統(tǒng)最常用的拍賣模式。
- 經(jīng)濟(jì)學(xué)+機(jī)器學(xué)習(xí),平衡博弈雙方的利益

CTR預(yù)估的一個(gè)解決方案: 利用機(jī)器學(xué)習(xí)來(lái)預(yù)測(cè)點(diǎn)擊概率。
精準(zhǔn)投放的特點(diǎn)保障了廣告主的ROI。
拍賣機(jī)制保障了媒體方流量?jī)r(jià)值的最大化。
CTR預(yù)估扮演著非常關(guān)鍵的橋梁作用。
02
廣告點(diǎn)擊率預(yù)估模型
- CTR預(yù)估要解決的問(wèn)題
點(diǎn)擊率預(yù)估和如何出價(jià)是計(jì)算廣告中非常重要的兩塊工作。
廣告主 – 廣告平臺(tái)的CTR預(yù)估模塊根據(jù)用戶特征、廣告特征和環(huán)境特征等,計(jì)算出廣告庫(kù)中符合廣告主定向條件的所有廣告的點(diǎn)擊概率,以最大化ROI。
媒體方 – CTR預(yù)估模塊用于選擇廣告計(jì)價(jià)方式,以達(dá)到收入最大化。
- CTR預(yù)估的基本原理

我們根據(jù)歷史投放記錄來(lái)收集數(shù)據(jù)樣本,對(duì)于之前被投放過(guò)廣告并且點(diǎn)擊的用戶視為正樣本,投放過(guò)廣告但未被點(diǎn)擊的視為負(fù)樣本。輸出通過(guò)使用Sigmoid函數(shù)來(lái)得到點(diǎn)擊概率。
早期約09年期間用于CTR預(yù)估的主要是LR模型,后來(lái)常用FM和GBDT模型以及它們的變體。神經(jīng)網(wǎng)絡(luò)出現(xiàn)之后,DNN、Wide&Deep、DCN、DeepFM等深層模型逐漸代替了淺層模型的使用。
- 云音樂(lè)廣告系統(tǒng)淺層模型演進(jìn)和優(yōu)化

① 淺層模型優(yōu)化空間小, 早期主要是對(duì)數(shù)據(jù)樣本進(jìn)行優(yōu)化,涉及以下幾個(gè)方面:
樣本正確選取問(wèn)題:早期為了簡(jiǎn)化,iOS端和Android端的數(shù)據(jù)是一起訓(xùn)練的。后來(lái)把這兩個(gè)分開(kāi)了,因?yàn)镮OS和Android的用戶群體是不太一樣的,很少有一個(gè)用戶同時(shí)用兩款手機(jī)。此外,有些廣告位置誤點(diǎn)率也比較高。這些都會(huì)對(duì)CTR的預(yù)測(cè)效果有影響。拆分后,數(shù)據(jù)分布的一致性提升,在兩端訓(xùn)練后的效果也都提升了超過(guò)10%。
樣本不平衡問(wèn)題:CTR高低的樣本區(qū)域分布不平衡,這也會(huì)對(duì)訓(xùn)練和預(yù)測(cè)有一定影響。解決方法是對(duì)CTR模型正樣本上采樣10倍,對(duì)CVR(轉(zhuǎn)化率)模型負(fù)樣本降采樣10倍。處理后AUC指標(biāo)大約提升了1%。
② 特征組合與模型進(jìn)化嘗試 – FM

早期使用LR模型時(shí),由于樣本數(shù)量有限,特征稀疏,并不能很好的捕捉組合特征和學(xué)習(xí)出用戶側(cè)和廣告?zhèn)鹊钠ヅ潢P(guān)系。后來(lái)采取FM模型為每一個(gè)特征學(xué)習(xí)一個(gè)隱權(quán)重向量,泛化之前沒(méi)有出現(xiàn)過(guò)的特征組合,解決了稀疏特征組合的問(wèn)題。FM模型的線下AUC提升了0.75%,但線上效果不夠穩(wěn)定,不符合全流量標(biāo)準(zhǔn)。推測(cè)原因是模型深度不夠,非線性表達(dá)能力不足,從而對(duì)連續(xù)特征的處理不好,以及在弱個(gè)性化推薦場(chǎng)景,二階特征組合的記憶力也不算太好。
③ 特征組合與模型進(jìn)化嘗試 – GBDT

為了解決上述FM模型遇到的問(wèn)題,我們嘗試使用了GBDT模型對(duì)特征做深層交叉,增強(qiáng)數(shù)據(jù)的有效性,提供更好的記憶能力。結(jié)果顯示LR+GBDT模型相比基線LR模型的AUC指標(biāo)提升1.71%,效果非常顯著。線上CTR和eCPM提升穩(wěn)定,符合全流量標(biāo)準(zhǔn)。推測(cè)這是因?yàn)槭侨鮽€(gè)性化場(chǎng)景下需要有深度記憶功能。LR處理好了模型對(duì)稀疏特征的記憶能力,GBDT處理好了深度組合特征以及連續(xù)特征的記憶能力,這正好符合網(wǎng)易云音樂(lè)音頻流量的廣告場(chǎng)景。并且,這個(gè)思路會(huì)持續(xù)到深度學(xué)習(xí)階段。
- 云音樂(lè)廣告系統(tǒng)深度模型演進(jìn)和優(yōu)化
前面提到LR處理了稀疏特征記憶能力,GBDT處理好了深度組合特征以及連續(xù)特征的記憶能力。但如何才能進(jìn)一步提升效果? 深度模型提供了更大的靈活性,比如引入泛化能力,以及更靈活的深度特征組合。因此,為了延續(xù)LR+GBDT的優(yōu)化思路,我們引入了深度模型。
(1) DNN與LR的對(duì)比
① DNN相比LR的優(yōu)勢(shì)
DNN的非線性表達(dá)能力更強(qiáng)

可以看出,即使對(duì)于環(huán)形數(shù)據(jù),DNN也能夠通過(guò)特征工程很好的表達(dá)。
DNN能夠?qū)崿F(xiàn)自動(dòng)高階特征組合

LR模型對(duì)于這種數(shù)據(jù)情況,沒(méi)有特征組合是學(xué)不出來(lái)的,在增加了一個(gè)特征組合“性別x游戲類型”后,模型才學(xué)到了有用的信息。
泛化能力
DNN能夠?qū)⒏呔S稀疏特征編碼降為低維稠密Embedding向量,使模型具備泛化能力,并且對(duì)于從來(lái)沒(méi)出現(xiàn)過(guò)的特征組合也能通過(guò)共享特征向量分別從單個(gè)特征中學(xué)到有用的信息,類似于FM的隱向量,能有效提升模型的泛化能力。
② DNN相比LR的不足
長(zhǎng)尾特征學(xué)習(xí)不充分

在線廣告場(chǎng)景的數(shù)據(jù)特征非常稀疏,并且長(zhǎng)尾特征非常多,由于出現(xiàn)次數(shù)太少,這些特征的Embedding向量無(wú)法得到充分的學(xué)習(xí),從而導(dǎo)致預(yù)測(cè)不準(zhǔn)確。相比之下,LR模型對(duì)于高頻共現(xiàn)的特征組合具有良好的記憶能力,這種能力在廣告場(chǎng)景下非常有用。
因此,將LR的記憶力和DNN的泛化力進(jìn)行聯(lián)合成為了一個(gè)研究方向,Wide&Deep模型的提出是解決這個(gè)問(wèn)題的方案。Wide&Deep通過(guò)將淺層模型和深層模型聯(lián)合訓(xùn)練,融合了淺層模型的記憶能力和深層模型的泛化能力。通過(guò)Wide側(cè)較好地解決了長(zhǎng)尾數(shù)據(jù)的擬合,彌補(bǔ)了純DNN的不足。然而,Wide&Deep模型的效果并不顯著。推測(cè)是因?yàn)镈eep側(cè)對(duì)特征交叉訓(xùn)練不夠,純DNN模型只是隱性交叉,并且是稀疏的場(chǎng)景,隱性交叉需要足夠的樣本和足夠多的訓(xùn)練時(shí)間。后續(xù)的思路是需要在Deep側(cè)做特征交叉方面的嘗試。
PureDNN在實(shí)際應(yīng)用中特征組合能力有限
雖然理論上只要MLP的層次足夠深,算力足夠強(qiáng),樣本數(shù)量足夠且準(zhǔn)確,DNN就能擬合出任意函數(shù)。但在實(shí)際中,樣本數(shù)量和運(yùn)算能力等都是有限的。改進(jìn)辦法是改變Pure DNN的網(wǎng)絡(luò)結(jié)構(gòu),改變特征交叉。不要讓模型自己去學(xué)習(xí),需要添加一些假設(shè),使得模型更有效的學(xué)習(xí)特征組合。
(2) DCN
為了解決純DNN沒(méi)有特征顯式交叉的問(wèn)題,我們引入了DCN模型。它在Wide&Deep的基礎(chǔ)上,把Wide側(cè)改成了Cross Network :

DCN模型的離線AUC比LR+GBDT高0.69%, 線上eCPM提升幅度穩(wěn)定達(dá)到3%,達(dá)到了上線標(biāo)準(zhǔn)。
(3) DCN + Wide + Attention
DCN已經(jīng)解決了頭部數(shù)據(jù)的特征深度交叉,以及泛化的功能。但其長(zhǎng)尾數(shù)據(jù)問(wèn)題仍舊存在,因此我們自然的加入了Wide側(cè),通過(guò)優(yōu)化效果陸續(xù)得到了提升。此外,他們還加入了Attention機(jī)制(DIN),解決了用戶的短期興趣問(wèn)題。

此模型為網(wǎng)易云音樂(lè)廣告系統(tǒng)2020年年底的線上模型。它的離線AUC相比 DCN&Wide平均提升3.51%,離線AUC絕對(duì)值平均提升2.04%。線上CTR相對(duì)提升1.29%,eCPM相對(duì)提升1.78%。
(4) 深度模型優(yōu)化點(diǎn)
激活函數(shù)優(yōu)化
在優(yōu)化DeepFM的過(guò)程中,發(fā)現(xiàn)Deep側(cè)不起作用,進(jìn)一步發(fā)現(xiàn)隱藏層的很多輸出為0。這是因?yàn)榧せ詈瘮?shù)ReLU的單側(cè)抑制能力在訓(xùn)練過(guò)程中導(dǎo)致大量神經(jīng)元不可逆死亡,進(jìn)而使大量參數(shù)無(wú)法更新,導(dǎo)致訓(xùn)練過(guò)程失敗。

后來(lái)我們把激活函數(shù)換成了PReLU,解決了神經(jīng)元死亡的問(wèn)題,AUC提升了0.5%。
遞減學(xué)習(xí)率和Batch size的優(yōu)化
遞減學(xué)習(xí)率 – 太高的學(xué)習(xí)率會(huì)導(dǎo)致不收斂或者震蕩,太低的學(xué)習(xí)率則收斂速度太慢。遞降的學(xué)習(xí)率一開(kāi)始比較大可以讓模型快速收斂,后面逐步減少則可以精確收斂。這里使用了Adam優(yōu)化器,學(xué)習(xí)率初始值設(shè)置為 a,之后每n步降低0.96,AUC提升了0.2%。
Batch size – 設(shè)置為10000,以確保每個(gè)batch里有一定數(shù)量的正樣本。
優(yōu)化效果如下圖所示:

03
廣告轉(zhuǎn)化率預(yù)估模型
- 廣告主與媒體再次博弈 – 更低的成本 vs 更多的收入

注:CPT – 按時(shí)長(zhǎng)來(lái)計(jì)費(fèi)的廣告;CPM – 按照曝光展示計(jì)費(fèi);CPC – 按照點(diǎn)擊量計(jì)費(fèi);CPA – 按照有效回應(yīng)行為計(jì)費(fèi);CPS – 按照最后成交計(jì)費(fèi)。
2007年以來(lái),廣告主和媒體方就主要圍繞著CPC和CPA進(jìn)行博弈。當(dāng)前(2021年),媒體方與廣告主的博弈結(jié)果是按點(diǎn)擊計(jì)費(fèi),但按轉(zhuǎn)化考核。目前出現(xiàn)了oCPC這種折中的方案。oCPC和CPC的結(jié)算方式是一樣的,都是按點(diǎn)擊計(jì)費(fèi),不同的是oCPC是平臺(tái)通過(guò)估算廣告的CTR、CVR,幫助廣告主合理出價(jià)(點(diǎn)擊計(jì)費(fèi)的價(jià)格)。
- 解決方案: 采用多目標(biāo)優(yōu)化來(lái)達(dá)到平衡
核心思想:競(jìng)價(jià)時(shí),給轉(zhuǎn)化率高的用戶出高價(jià),轉(zhuǎn)化率低的用戶出低價(jià) (oCPC)。

targetCPA是由廣告主控制的。例如,廣告主根據(jù)能夠接受的價(jià)格范圍決定每一個(gè)轉(zhuǎn)化收費(fèi)多少。pCTR和pCVR則是由模型進(jìn)行預(yù)測(cè)和評(píng)估得來(lái)。
- CVR預(yù)估多目標(biāo)融合的策略與選擇 – 統(tǒng)一建模還是分開(kāi)
早期CTR和CVR是分開(kāi)訓(xùn)練的,一個(gè)是由曝光預(yù)估點(diǎn)擊率,另一個(gè)是由點(diǎn)擊率預(yù)估轉(zhuǎn)化率。分開(kāi)訓(xùn)練會(huì)導(dǎo)致樣本選擇有偏差,即訓(xùn)練時(shí)使用點(diǎn)擊樣本,線上預(yù)測(cè)則是使用曝光樣本。
- CVR模型成敗的關(guān)鍵: 調(diào)控和校準(zhǔn)因子

我們使用了一個(gè)經(jīng)驗(yàn)公式來(lái)做校準(zhǔn)。我們首先按照PCVR從小到大做了20個(gè)分桶,這樣每個(gè)桶就是就一個(gè)集合,就能夠把PCVR和CVR統(tǒng)計(jì)出來(lái)了。
04
用戶向量建模與應(yīng)用
問(wèn)題:面向新廣告投放冷啟動(dòng)。即因?yàn)樾聫V告、新廣告主無(wú)歷史投放記錄,會(huì)導(dǎo)致CTR/CVR模型缺少新廣告的特征和樣本,很難準(zhǔn)確預(yù)估。
解決方法:使用Lookalike擴(kuò)展相似人群。
- Lookalike怎么擴(kuò)展相似人群
① 找出種子用戶:種子用戶一般是指廣告主的歷史轉(zhuǎn)化人群,例如產(chǎn)生過(guò)APP下載、商品購(gòu)買、表單提交等轉(zhuǎn)化行為的用戶群體。
② 擴(kuò)展方法:基于廣告主提供的種子用戶,通過(guò)一定的算法模型,找到更多擁有潛在關(guān)聯(lián)性的相似人群。
人工選標(biāo)簽
二分類法(早期使用):將種子人群作為正樣本,將與種子人群無(wú)交叉的人群作為負(fù)樣本進(jìn)行訓(xùn)練。多次迭代,直到獲得達(dá)到要求數(shù)量的種子人群。這種方法的問(wèn)題在于針對(duì)不同廣告主都需要做一次二分類訓(xùn)練,資源浪費(fèi)。
基于聚類
基于協(xié)同過(guò)濾
基于社交關(guān)系
向量計(jì)算(近期使用):計(jì)算種子用戶的向量表示與候選用戶的相似度,基于相似度打分來(lái)召回相似用戶。優(yōu)點(diǎn)是用戶向量可通用,能服務(wù)于所有廣告主。難點(diǎn)在于如何有效地學(xué)習(xí)用戶的向量表示(通?;陔p塔模型)。
- DSSM雙塔點(diǎn)擊率模型

雙塔模型中,用戶側(cè)特征與廣告?zhèn)忍卣髟谳斎霑r(shí)相互獨(dú)立,并且引入向量距離度量。訓(xùn)練后,對(duì)于有過(guò)點(diǎn)擊行為的數(shù)據(jù),我們視為正樣本,認(rèn)為兩種特征的空間距離較近。沒(méi)有點(diǎn)擊的為負(fù)樣本,空間距離遠(yuǎn),余弦相似度低。
- 如何獲得用戶向量
獲得用戶向量:首先輸入用戶側(cè)特征;然后進(jìn)行模型預(yù)測(cè),用戶側(cè)DNN的最后一個(gè)隱層輸出即為用戶向量embedding。
為什么使用雙塔模型,而不使用傳統(tǒng)CTR模型? 因?yàn)樯捎脩粝蛄繒r(shí)只能使用用戶側(cè)特征,因此模型中用戶側(cè)與廣告?zhèn)炔荒苓M(jìn)行特征交叉。雙塔模型最后一層中使用余弦相似度距離度量,使得用戶向量擁有距離信息,并且處于同一空間。
以下是幾個(gè)需要注意的點(diǎn):
由于樣本正負(fù)比例過(guò)大,需要對(duì)負(fù)樣本進(jìn)行采樣,我們保持正負(fù)樣本1:7,否則將會(huì)影響收斂。
采用Adagrad優(yōu)化器,可以隨著訓(xùn)練的進(jìn)行逐步減小學(xué)習(xí)率。
采用dropout和L2正則項(xiàng)減少過(guò)擬合。
- 如何衡量候選用戶與種子人群的相似度
種子用戶的數(shù)量通常上萬(wàn),直接計(jì)算時(shí)間復(fù)雜度過(guò)高,且效果不好。解決措施:
① 對(duì)種子人群向量聚類
對(duì)種子人群進(jìn)行聚類,形成K個(gè)向量聚類中心表示種子人群,以減少種子數(shù)量。
② 對(duì)K個(gè)聚類簇的重要程度進(jìn)行衡量
方法是增加種子人群每個(gè)聚類簇的歷史統(tǒng)計(jì)CTR作為權(quán)重(提升效果顯著)。
③ 對(duì)候選用戶與種子人群的相似度打分
首先,計(jì)算候選用戶與K個(gè)聚類中心的向量余弦相似度;
之后,使用K個(gè)聚類簇的權(quán)重對(duì)相似度進(jìn)行加權(quán);
最后,選擇候選用戶與K個(gè)聚類中心的加權(quán)相似度的最大值作為候選用戶與種子人群的相似度得分。
05
總結(jié)與建議
- 個(gè)人理論總結(jié) – 人類行為可預(yù)測(cè)的認(rèn)知
人類行為有93%是可預(yù)測(cè)的,我認(rèn)為這一基本原則是很多優(yōu)化工作的指導(dǎo)基礎(chǔ)。
個(gè)體人格相對(duì)穩(wěn)定,可以根據(jù)其歷史行為預(yù)測(cè)未來(lái)。
人類具有共同的行為模式,可以用群體行為預(yù)測(cè)個(gè)體。
做算法上的優(yōu)化,應(yīng)該要遵循這兩個(gè)基本原則。
- 建議
圍繞業(yè)務(wù) – 關(guān)注業(yè)界,但要針對(duì)自己的業(yè)務(wù)和數(shù)據(jù)特點(diǎn)做優(yōu)化和創(chuàng)新。
抓住本源 – 數(shù)據(jù)要能真實(shí)反應(yīng)用戶意圖。
多交流 – 多與同行溝通交流,拓展自己的視野。
06
精彩問(wèn)答
Q:針對(duì)新廣告投放冷啟動(dòng)的經(jīng)驗(yàn)有哪些?
A:利用廣告主提供的種子人群包,使用LookLike擴(kuò)展相似人群;給新廣告一定數(shù)量的曝光,觀察數(shù)據(jù)表現(xiàn);對(duì)新廣告的行業(yè)進(jìn)行分類,使用相同行業(yè)中其他廣告的數(shù)據(jù)。
Q:使用聚類方法降低候選用戶與種子人群的相似度計(jì)算中,使用歷史統(tǒng)計(jì)CTR作為權(quán)重是如何提升候選用戶的識(shí)別準(zhǔn)確率的?
A:假設(shè)A,B兩個(gè)地點(diǎn)均有很多程序員,C地點(diǎn)是兩者的距離中心,但是幾乎沒(méi)有程序員,D比較接近地點(diǎn)A或者B的其中一個(gè),我們認(rèn)為程序員濃度相對(duì)C高。此時(shí),我們需要識(shí)別程序員密度高的地區(qū),使用距離平均中心C顯然不符合實(shí)際要求。我們更傾向于把地點(diǎn)D整個(gè)群體的屬性作為一個(gè)候選群體,以此來(lái)提高相似度計(jì)算的準(zhǔn)確率。在找出候選用戶的問(wèn)題上,地點(diǎn)D的情況就類似于歷史CTR高的用戶群體。
今天的分享就到這里,謝謝大家。
本文經(jīng)授權(quán)發(fā)布,不代表增長(zhǎng)黑客立場(chǎng),如若轉(zhuǎn)載,請(qǐng)注明出處:http://m.gptmaths.com/cgo/product/60671.html