Youtube推薦雙塔模型——SBCNM

來(lái)源:知乎
作者:阿貓阿狗
時(shí)間:2020-07-02
6887
Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations是youtube推薦在2019年的一篇論文,可以把他看作2016年那篇經(jīng)典論文(Deep Neural Networks for YouTube Recommendations)里,召回模型的升級(jí)版本。

Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations是youtube推薦在2019年的一篇論文,可以把他看作2016年那篇經(jīng)典論文(Deep Neural Networks for YouTube Recommendations)里,召回模型的升級(jí)版本。

同樣,先簡(jiǎn)單介紹一下論文,再談?wù)勛约旱睦斫夂拖嚓P(guān)實(shí)踐。

論文速讀

這篇理論文是Deep Neural Networks for YouTube Recommendations中召回模型的升級(jí)版本。使用了經(jīng)典的雙塔結(jié)構(gòu),從而可以加入item側(cè)的各種特征,提升泛化和新資源的預(yù)估能力。論文的主要貢獻(xiàn)包括四點(diǎn):

Streaming Frequency Estimation:流式詞頻預(yù)估,or流式展現(xiàn)次數(shù)預(yù)估。主要為了解決batch內(nèi)負(fù)采樣時(shí),詞頻有偏的問(wèn)題。

Modeling Framework:雙塔召回模型,使用batch softmax交叉熵,同時(shí)使用batch內(nèi)負(fù)采樣。

YouTube Recommendation:大規(guī)模數(shù)據(jù)場(chǎng)景應(yīng)用,不多贅述。

Ofline and Live Experiments:離線(xiàn)測(cè)試和在線(xiàn)效果,不多贅述。

Modeling Framework

模型訓(xùn)練大的方面都比較常規(guī),雙塔結(jié)構(gòu)+負(fù)采樣(這套DNN召回方式,在這篇論文之前我們就已經(jīng)在用了)。

網(wǎng)絡(luò)結(jié)構(gòu)上是一個(gè)典型的雙塔,分別產(chǎn)出用戶(hù)和item的向量表達(dá),方便召回時(shí)從全量候選集中快速選取top。

樣本方面,采用百萬(wàn)級(jí)label上的softmax多分類(lèi)(每個(gè)item視作一個(gè)分類(lèi),和16年的論文一樣)。負(fù)樣本采用batch內(nèi)負(fù)采樣,來(lái)消除item頻次對(duì)召回準(zhǔn)確性的bias。

論文里提到,batch內(nèi)softmax,所以分布上和全局softmax肯定存在bias:高頻item因?yàn)樵赽atch內(nèi)出現(xiàn)的概率高,會(huì)被過(guò)度懲罰。因此,論文提到一種做法,在sotmax前的輸出上加一個(gè)和頻次(or隨機(jī)batch內(nèi)出現(xiàn)的概率)相關(guān)的懲罰項(xiàng)。大致效果是item在batch內(nèi)出現(xiàn)的概率越高,softmax的輸入會(huì)在原來(lái)的基礎(chǔ)上越小,從而降低高頻item的預(yù)估概率,消除bias。

下面貼幾個(gè)公式,公式細(xì)節(jié)我就不解釋了,細(xì)節(jié)可以看原文,功能和思想?yún)⒖嘉疑厦娴慕忉尅?/span>

在sotmax前的輸出上加一個(gè)和頻次相關(guān)的懲罰項(xiàng):

v2-2f3ce43a88fe04a2e6bedb25afb48a65_720w.jpg

是item在batch內(nèi)出現(xiàn)的概率越高,softmax的輸入會(huì)在原來(lái)的基礎(chǔ)上越小,從而降低高頻item的預(yù)估概率:

v2-1ce5c9082eebb7d6951cfe1810f5bdc2_720w.jpg

v2-835bc681f220a2693615b0d1c5a7fbbd_720w.jpg

ok,以上這個(gè)處理是這篇論文的核心之一!

以上,引入了另外一個(gè)核心問(wèn)題,如何知道item在隨機(jī)batch內(nèi)出現(xiàn)的概率?從而有了論文的另外一個(gè)核心:Streaming Frequency Estimation。

(論文里還提到一個(gè)標(biāo)準(zhǔn)化和熱度的東西,預(yù)估的時(shí)候用一個(gè)熱度超參來(lái)調(diào)節(jié)score,這里不是很理解論文的思路和具體做法,就先不談了,有清楚的朋友可以評(píng)論和我討論下)

Streaming Frequency Estimation

這里我同樣先說(shuō)思想,再貼論文的算法和簡(jiǎn)述。

論文采用兩個(gè)矩陣來(lái)記錄和更新item出現(xiàn)的step和頻率。

以下,貼一段論文的描述:

v2-d0c961dacb3a89f5dbb476c8270f39c0_720w.jpg

這里矩陣A記錄的是item y上一次出現(xiàn)的step,所以t-A[y]就是y最近一次的出現(xiàn)間隔。從而不斷更新B,得到的就是y出現(xiàn)間隔的期望(這里我也是大致意會(huì)了一下,詳細(xì)的推導(dǎo)和說(shuō)明建議看原文)。也可以理解為,每次出現(xiàn)的間隔是一個(gè)樣本,通過(guò)SGD和學(xué)習(xí)率不斷學(xué)習(xí)得到了平均間隔的預(yù)估B。附一段原論文,個(gè)人感覺(jué)理解這一段就可以了。

v2-6ff10a5cb7735ad853972418628cf8d3_720w.jpg

ok,上面得到了item y的出現(xiàn)間隔預(yù)估B,那么frequency estimate就等于1/B[y]。

到這里,整篇論文的精華就解釋完了。

之后,論文提到了一個(gè)streaming frequency estimate的改進(jìn)方法,主要解決算法2中hash碰撞的問(wèn)題。也很簡(jiǎn)單,就是用多個(gè)hash,記錄多個(gè)B,最后用max(Bi)。

個(gè)人感覺(jué)hash算法用的好,外加item的更新淘汰,小概率的碰撞其實(shí)沒(méi)啥影響。

最后,再貼一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)圖,其他的應(yīng)用和評(píng)估細(xì)節(jié)就先不贅述了,

v2-adb7572611e298de8e541b3d4a2a5d34_720w.jpg

其他tips:

1.論文使用了觀看進(jìn)度做為loss weight,短點(diǎn)擊權(quán)重為0,完播權(quán)重1,其他是否有平滑處理不確定。這里做一點(diǎn)衍生,其實(shí)用觀看進(jìn)度做為權(quán)重會(huì)有時(shí)長(zhǎng)bias,傾向于較短的視頻,用觀看時(shí)長(zhǎng)的話(huà)有會(huì)傾向于較長(zhǎng)的視頻,這里可以做不少結(jié)合業(yè)務(wù)的微處理。

2.用戶(hù)和item側(cè)會(huì)共享部分id特征

個(gè)人理解

結(jié)合我自己的業(yè)務(wù)經(jīng)驗(yàn),談?wù)劺斫獍?/span>

1.首先說(shuō)一個(gè)自己特別疑惑的地方,一直沒(méi)搞明白具體區(qū)別和效果。youtube的做法是softmax,把每個(gè)item當(dāng)作一個(gè)分類(lèi),從而預(yù)估用戶(hù)在整個(gè)items集合上的偏好分布。我自己的業(yè)務(wù)場(chǎng)景里,是用的sigmoid二分類(lèi)(點(diǎn)擊和負(fù)采樣),更像是預(yù)估一個(gè)item被展現(xiàn)且點(diǎn)擊的概率。這里不確定兩種方式效果的具體差異,也沒(méi)對(duì)比過(guò),有清楚的大佬可以教我一下。個(gè)人猜測(cè),二分類(lèi)的方式泛化會(huì)更強(qiáng),softmax的方式準(zhǔn)確會(huì)更高?

2.這個(gè)模型還有一個(gè)點(diǎn),是我很想嘗試一下的,就是用戶(hù)側(cè)的行為和item側(cè)共享id這一類(lèi)的emb表達(dá)??赡軙?huì)對(duì)session序列的刻畫(huà)更好,以及上文和當(dāng)前item的關(guān)系預(yù)估更準(zhǔn)確。

3.效果:從我個(gè)人的業(yè)務(wù)線(xiàn)和周?chē)渌臉I(yè)務(wù)線(xiàn)情況看,類(lèi)似這種端到端的召回效果和整體占比都不算太高;我甚至試過(guò)用粗排模型做召回,效果更弱。這也是我一直思考,卻沒(méi)有明確答案的:為什么這種端到端的DNN召回很難占據(jù)絕對(duì)優(yōu)勢(shì)呢?

4.DNN召回目前沒(méi)有特別好的演進(jìn)方向。我個(gè)人理解幾個(gè)點(diǎn)比較合適:a.擺脫頂層cross的結(jié)構(gòu),引入更多交叉特征和負(fù)責(zé)結(jié)構(gòu),使得整體學(xué)習(xí)更加充分。b.擺脫單目標(biāo)建模優(yōu)化的方式,畢竟單目標(biāo)沒(méi)法刻畫(huà)用戶(hù)的滿(mǎn)意或者令用戶(hù)喜悅的感受,更多的考慮多目標(biāo)的融合,比如,展現(xiàn)率,點(diǎn)擊率,觀看進(jìn)度,是否點(diǎn)贊評(píng)論關(guān)注等等。

5.疑問(wèn),論文里描述模型是天級(jí)更新,感覺(jué)有點(diǎn)落后。。。對(duì)新視頻不夠友好,而且反饋能力也會(huì)偏弱吧

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
版權(quán)說(shuō)明:本文內(nèi)容來(lái)自于知乎,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪(fǎng)
投稿采訪(fǎng)
出海管家
出海管家