【導(dǎo)語】:在本文中,阿里的算法人員同時考慮空間域信息和時間域信息,來進行廣告的點擊率預(yù)估。
什么是時空域?我們可以分解為空間域(spatial domain)和時間域(temporal domain)??臻g域的意思即是說,在一屏的推薦中,內(nèi)容是相互關(guān)聯(lián)的,當(dāng)推薦了第一條廣告之后,第一條廣告會對第二條廣告的點擊率產(chǎn)生影響,從而影響第二條推薦的廣告。時間域的意思即是說,用戶之前的點擊或未點擊的廣告會影響當(dāng)次的推薦。
本文介紹的論文題目為是《Deep Spatio-Temporal Neural Networks for Click-Through Rate Prediction》,論文的下載地址為:https://arxiv.org/abs/1906.03776
1、背景
CTR預(yù)估問題在廣告領(lǐng)域十分重要,吸引了工業(yè)界和學(xué)術(shù)界學(xué)者的研究。之前我們也介紹過許多比較成功的方法,如LR、FM、Wide&Deep、DeepFM等。
但上述的方法,存在一個共同的問題,即當(dāng)我們要預(yù)估對一個廣告的點擊概率時,只考慮該廣告的信息,而忽略了其他廣告可能帶來的影響。如用戶歷史點擊或者曝光未點擊的廣告、當(dāng)前上下文已經(jīng)推薦過的廣告等。因此,將這些廣告作為輔助信息,加入到模型中,也許可以提升CTR預(yù)估的準(zhǔn)確性。
總結(jié)一下,輔助廣告總共有三種類型:上下文廣告、用戶點擊過的廣告、用戶未點擊的廣告,如下圖所示:
這里還是想強調(diào)一下上下文廣告這個概念,之前的模型可能一次計算所有廣告的點擊率,然后按點擊率進行排序,取top-K進行展示。但這里我們把一次推薦K個廣告過程看作K個單次推薦的過程集合。先推薦第一個位置的廣告,再推薦第二個位置的廣告,,依次類推。在推薦第三個廣告時,推薦的第一個廣告和第二個廣告便是我們這里所說的上下文廣告。
為了將這些信息加入到模型中,必須要注意以下幾點:
1)每種類型的輔助廣告數(shù)量可能相差很多,模型必須適應(yīng)這些所有可能的情況。2)輔助的廣告信息可能與目標(biāo)廣告是不相關(guān)的,因此,模型需要具備提取有效信息,而過濾無用信息的能力。舉例來說,用戶點擊過的廣告可能有咖啡廣告、服裝廣告和汽車廣告,當(dāng)目標(biāo)廣告是咖啡相關(guān)的廣告時,過往點擊中咖啡相關(guān)的廣告可能是起比較大作用的信息。3)不同類型的輔助廣告信息,有時候起到的作用可能是不同的,模型需要能夠有能力對此進行判別。
總的來說,就是模型需要有能力有效處理和融合各方面的信息。
本文提出了DSTN(Deep Spatio-Temporal neural Networks)模型來處理和融合各種輔助廣告信息,下一節(jié),咱們就來介紹一下模型的結(jié)構(gòu)。
2、模型架構(gòu)
這里講了三種不同的DSTN的架構(gòu),分別是DSTN - Pooling Model、DSTN - Self-Attention Model和DSTN - Interactive Attention Model。但這三種模型的Embedding部分是同樣的,所以咱們先講Embedding層,再分別介紹幾種模型的結(jié)構(gòu)。
2.1 Embedding Layer
Embedding Layer的結(jié)構(gòu)如下:
可以看到,輸入有四部分信息,分別是目標(biāo)廣告的信息、上下文廣告信息、點擊廣告信息、曝光未點擊廣告信息。目標(biāo)廣告信息包括用戶特征、query特征(如果是搜索場景的話)、目標(biāo)廣告特征;上下文廣告信息包括上下文廣告特征;用戶點擊過和未點擊過的廣告信息包括廣告特征以及對應(yīng)的query特征。
這些特征可以歸為三類:
單值離散特征:如用戶ID、廣告ID等,這類特征直接轉(zhuǎn)換為對應(yīng)的Embedding。
多值離散特征:如廣告的標(biāo)題,經(jīng)過分詞之后會包含多個詞,每個詞在轉(zhuǎn)換為對應(yīng)的Embedding之后,再經(jīng)過sum pooling的方式轉(zhuǎn)換為單個向量。
連續(xù)特征:對于連續(xù)特征如年齡,這里會進行分桶操作轉(zhuǎn)換為離散值,然后再轉(zhuǎn)換為對應(yīng)的Embedding。
不同的特征轉(zhuǎn)換成對應(yīng)的Embedding之后,進行拼接操作,如目標(biāo)廣告信息中,會將用戶ID、用戶年齡、廣告ID、廣告名稱等等對應(yīng)的Embedding進行拼接;上下文廣告信息中的每一個廣告,會將廣告ID和廣告名稱對應(yīng)的Embedding進行拼接等等。
最終,對目標(biāo)廣告信息會得到一個t維的vector,計作xt;對于上下文廣告信息,我們會得到nc個c維的vector,每一個計作xci;對于點擊廣告序列,我們會得到nl個l維的vector,每一個計作xlj;對于未點擊序列,會得到nu個u維的vector,每個計作xuq。
介紹完了Embedding,接下來介紹幾種不同的上層結(jié)構(gòu)。
2.2 DSTN - Pooling Model
第一種結(jié)構(gòu)稱為DSTN - Pooling Model,其模型結(jié)構(gòu)如下:
這種方式就是對上下文廣告序列、點擊廣告序列和未點擊廣告序列中的vector進行簡單的sum-pooling,轉(zhuǎn)換為一個vector:
然后各部分進行拼接,經(jīng)過全連接神經(jīng)網(wǎng)絡(luò)之后,在輸出層經(jīng)過一個sigmoid轉(zhuǎn)換為點擊的概率:
損失函數(shù)的話選擇logloss:
這種方式,實現(xiàn)比較簡單,但是存在一定的缺點,當(dāng)對應(yīng)一個廣告位置,有多個候選目標(biāo)廣告時,只有目標(biāo)廣告信息xt發(fā)生變化,其他信息都沒有發(fā)生變化,這說明我們添加的輔助廣告信息僅僅是一個靜態(tài)信息。同時,由于使用了sum-pooling的方式,一些有用的信息可能會被噪聲所覆蓋。舉例來說,如果目標(biāo)廣告是咖啡相關(guān)的, 點擊序列中有一個咖啡相關(guān)的廣告,有10個服飾相關(guān)的廣告,那么這個咖啡相關(guān)廣告的信息很容易被忽略。
2.3 DSTN - Self-Attention Model
對于sum-pooling帶來的缺陷,文中提出了第二種結(jié)構(gòu),稱為DSTN - Self-Attention Model,這里的Self-Attention是針對每一種特定的輔助廣告信息的,也就是說,上下文廣告之間進行Self-Attention,點擊廣告序列之間進行Self-Attention等等。
如果是上下文廣告之間進行Self-Attention,其最終輸出為:
通過公式可以看出,這里并不是我們所熟知的Transformer里面的self-attention,第一次看也沒注意,第二次細看才發(fā)現(xiàn),所以有時候盡管名字一樣,但內(nèi)容也許千差萬別。
這里的self-attention的含義是,將每一個廣告對應(yīng)的embedding vector輸入到一個f中,得到一個標(biāo)量輸出βci,這里的f可以是一個多層全連接神經(jīng)網(wǎng)絡(luò)。然后通過softmax歸一化到0-1之間,得到每一個廣告的權(quán)重aci,隨后基于權(quán)重進行加權(quán)求和。
使用self-attention的好處是可以對序列中的不同廣告賦予不同的權(quán)重,能夠在一定程度上解決sum-pooling的問題,但其仍然存在一定的缺陷。首先,self-attention中計算的權(quán)重,沒有考慮target ad的信息,也就是說,針對不同的target ad,其attention權(quán)重保持不變。其次,歸一化后的權(quán)重aci,其求和是等于1的,這樣,當(dāng)所有的廣告都與目標(biāo)廣告關(guān)系不大時,部分廣告的權(quán)重由于歸一化也會變得很大。最后,每種類型的輔助廣告的數(shù)量也是會產(chǎn)生影響的,但由于對權(quán)重進行了歸一化,這個信息相當(dāng)于也丟失了。
2.4 DSTN - Interactive Attention Model
因此,再針對上面的不足,提出了DSTN - Interactive Attention Model。其模型結(jié)構(gòu)如下:
相對于self-attention,這里的權(quán)重aci沒有經(jīng)過歸一化,其計算過程加入了目標(biāo)廣告的信息,計算公式如下:
這樣,針對不同的目標(biāo)廣告,不同類型的輔助廣告信息的權(quán)重會不斷變化,同時權(quán)重也沒有進行歸一化,避免了歸一化帶來的種種問題。
3、實驗結(jié)果
論文對比了多種模型的實驗結(jié)果:
4、模型部署
看論文的時候,比較關(guān)心的一點就是模型的性能問題,因為模型中的一部分輸入是上下文廣告信息,更準(zhǔn)確的前面推薦的廣告的信息。假設(shè)我們有5個廣告位需要推薦,比較容易想到的做法過程如下:
1、得到所有的候選廣告集,并得到對應(yīng)的特征,此時的上下文廣告信息為空。2、模型計算所有廣告的點擊概率。3、選擇點擊率最高的一個廣告。隨后把這個廣告加入到上下文廣告信息中。4、對于剩下的廣告,再計算所有廣告的點擊概率。5、重復(fù)第3步和第4步,直到得到5個展示的廣告。
我們通過第2步得到了第一個位置的廣告,重復(fù)執(zhí)行3和4步4次得到剩下4個位置的廣告。
這么做無疑是十分耗時的,線上性能難以保證。因此,文中提到了一種折中的做法,每次從候選集中選擇2-3個廣告。其示意圖如下:
5、總結(jié)
感覺本文還是有一定借鑒意義的,最主要的是在推薦過程中考慮推薦結(jié)果之間的相互關(guān)系,這么做的話個人感覺可以消除點擊率預(yù)估中的坑位偏置。因為如果上下文信息有兩個廣告的話,模型會感知到這是對第三個坑位的廣告進行推薦。同時上下文信息的加入,在一定程度上也能提升推薦結(jié)果的多樣性,避免太多同質(zhì)信息推薦出來。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4778瀏覽量
101005 -
模型
+關(guān)注
關(guān)注
1文章
3290瀏覽量
49022
原文標(biāo)題:阿里最新論文解讀:考慮時空域影響的點擊率預(yù)估模型DSTN
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論