DIN-DIEN-DSIN筆記

DIN

image.png
  • 思路
    從輸入特征中獲取用戶歷史行為,并篩選出對預(yù)估任務(wù)有效的特征進行權(quán)重分配,進而對當(dāng)前商品廣告與用戶歷史行為商品的局部興趣進行打分(注意力得分)。
    // 方法:
    在embedding與MLP之間加入注意力機制。===》不同場景,特征權(quán)重分配不一樣;篩選出有用特征,劃分好哪些是重要特征。


    image.png
  • 特征


    image.png
  • 網(wǎng)絡(luò)結(jié)構(gòu)
    base model
    image.png

    缺陷:
    image.png
  1. 喂入模型前,history與ad無交互。
  2. 喂入模型后,將會丟失交互信息,不僅如此,還將無關(guān)特征帶來的冗余信息作為噪音進入模型訓(xùn)練。
image.png

Activation Unit輸出Activation Weight,輸入包括用戶行為User-Embedding和候選廣告Candidate Ad-Embedding。相當(dāng)于得到Attention分?jǐn)?shù),將candidate Ad與歷史行為的每個商品進行交互,還考慮了他們兩個的外積(在三維幾何中,向量a和向量b的叉乘結(jié)果是一個向量,更為熟知的叫法是法向量,該向量垂直于a和b向量構(gòu)成的平面)。


image.png

對于不同的candidate ad,得到的用戶行為表示向量也不同:


image.png

最后輸出標(biāo)量權(quán)重。
image.png

幾個問題
// why sum-pooling?
https://zhuanlan.zhihu.com/p/365999532
對長度不等的embedding向量進行維度統(tǒng)一。pooling目的是為了保持某種不變性(旋轉(zhuǎn)、平移、伸縮等)。
mean-pooling,即對鄰域內(nèi)特征點只求平均,max-pooling,即對鄰域內(nèi)特征點取最大。根據(jù)相關(guān)理論,特征提取的誤差主要來自兩個方面:(1)鄰域大小受限造成的估計值方差增大;(2)卷積層參數(shù)誤差造成估計均值的偏移。一般來說,mean-pooling能減小第一種誤差,更多的保留圖像的背景信息,max-pooling能減小第二種誤差,更多的保留紋理信息。Stochastic-pooling則介于兩者之間,通過對像素點按照數(shù)值大小賦予概率,再按照概率進行亞采樣,在平均意義上,與mean-pooling近似,在局部意義上,則服從max-pooling的準(zhǔn)則。
可以看出,base model的pooling策略是不考慮特征重要度差異化的,activation環(huán)節(jié)主要是解決差異化區(qū)分的問題,以此優(yōu)化pooling使模型從特征中g(shù)et到更多信息。
// 如何實現(xiàn)attention?
這個講得比較清楚:https://zhuanlan.zhihu.com/p/339754431

image.png

Paper認為:softmax只能證明用戶對哪個商品感興趣的概率最大。比如,長history歸一化后,各個權(quán)重會變得很小,尤其是差異特別小。Attention Weight如果不做歸一化處理,就能很好地保留用戶的興趣強度。

  • Mini-batch Aware Regularization
    模型訓(xùn)練中的問題
  1. 防止過擬合過程中,由于embedding參數(shù)矩陣更新導(dǎo)致的參數(shù)過度龐大。


    image.png
  2. 用戶數(shù)據(jù)符合長尾定律,出現(xiàn)次數(shù)很多的往往是一小部分特征,大部分特征比較稀疏,考慮其權(quán)重,容易過擬合。
    如何解決?
    a)利用特征稀疏性,小批量數(shù)據(jù)下,部分列由于全0,不用更新,減小計算。
    image.png

    b)正則自適應(yīng):對于高頻特征,給予小的正則化強度減小懲罰;對于低頻特征,給予大的正則化強度增大懲罰。
    那正則化尺度在哪呢?
    按照每個batch樣本統(tǒng)計頻率進行正則化。
    // 公式
    image.png

    image.png

    image.png

    image.png
  1. 獨立同分布假設(shè)破壞(訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)分布一致性被破壞),影響模型準(zhǔn)確性。
  2. 下層輸入變化導(dǎo)致進入激活函數(shù)的飽和區(qū),導(dǎo)致梯度消失。
  3. 上層不斷需要適應(yīng)分布變化,影響學(xué)習(xí)速率。
    每層輸入數(shù)據(jù)分布發(fā)生變化,變得不可控。那如何使分布可控呢?
    兩種思路:
    a) 改變數(shù)據(jù)分布,適應(yīng)激活函數(shù)。
    b) 改變激活函數(shù),適應(yīng)分布變化。(Dice)


    image.png

    // Dice數(shù)據(jù)自適應(yīng)激活函數(shù)


    image.png

    p(s)控制激活函數(shù)左右移動,適應(yīng)數(shù)據(jù)分布,臨界值控制臨界點;還要使p(s)取值得到的激活函數(shù)足夠平滑。
    image.png

    如何優(yōu)化p(s)?
    均值取代臨界值;sigmoid取代階躍函數(shù)(細節(jié)優(yōu)化:E(s)控制左右平移,var控制帶寬,方差與帶寬正相關(guān))。
  • 評價系統(tǒng)


    image.png

    gauc距0.5的偏移度,越大越好。

  • DIN實現(xiàn)
    這個過程拆解的比較好,但是看看就好:
    https://zhuanlan.zhihu.com/p/338050940
    image.png

    實際應(yīng)用建議deepctr項目。

DIEN

https://arxiv.org/pdf/1809.03672.pdf
仍然是面向阿里電商廣告提出的,算是DIN升級版,但是模型結(jié)構(gòu)比較復(fù)雜,實踐當(dāng)中沒有DIN那么經(jīng)典,但不失為一種探索思路。

  • 思路
    與DIN的差異在于對于興趣的建模方式不一樣,將用戶興趣的先驗知識引入建模過程。DIEN最大的特點是不但要找到用戶的interest,還要抓住用戶interest的進化過程
    如何表達興趣?
    image.png

    以往的模型認為用戶行為即興趣,但這種思路不嚴(yán)謹(jǐn),真正的用戶興趣包含在用戶行為之中(當(dāng)然無交互的并不意味著用戶一定不感興趣,畢竟推薦系統(tǒng)本身就是個非充分激勵系統(tǒng)),二者并非等價,文章在尋找一種用戶興趣演進的一種表達。
    問題:
  1. 行為!=興趣。
  2. 顯示行為難以表達用戶潛在興趣。
  3. 用戶潛在行為如何獲取并表達興趣?
  4. 用戶“下一次購買”,不同于在歷史序列中綜合推薦。
    興趣?什么是興趣?如何表達?


    image.png

    ps:原文中用RNN來實現(xiàn)興趣表達,實際上,我感覺用HMM應(yīng)該也可以。

  • 網(wǎng)絡(luò)結(jié)構(gòu)


    image.png

    // 行為序列層
    就用戶行為序列embedding,沒啥花頭。

  • 興趣抽取層
  1. GRU記憶性網(wǎng)絡(luò),參數(shù)少,獲取序列關(guān)系,緩解梯度消失。
  2. 多輸入多數(shù)出結(jié)構(gòu),提取每一個時刻的興趣狀態(tài)。
  3. 輔助損失函數(shù),通過二分類的方式計算興趣抽取準(zhǔn)確性,有監(jiān)督學(xué)習(xí),防止興趣狀態(tài)失真。(下一時刻真實行為正例,負采樣得到的行為作為負例,與抽取興趣h分別喂到輔助網(wǎng)絡(luò)中,計算加權(quán)l(xiāng)oss作為總的loss的調(diào)整項)
image.png
  • 興趣進化層
  1. attention篩選與target ad相關(guān)的興趣演化路徑。
  2. 加權(quán)層將注意力操作嵌入GRU更新門,構(gòu)造AUGRU結(jié)構(gòu)。(DIN就是加權(quán)組合)
    // GRU
    https://zhuanlan.zhihu.com/p/32481747
image.png

// AUGRU為什么這么選?

  1. 與target不相關(guān)狀態(tài),也可能影響狀態(tài)演化,狀態(tài)保持。


    image.png
  2. 保持更新門向量各個維度重要性。


    image.png

DSIN模型

這個模型,結(jié)構(gòu)復(fù)雜,實踐中的意義可能不如研究意義大,大概了解下。
https://arxiv.org/pdf/1905.06482.pdf

  • 思路
    用戶的行為sequences其實是由多個sessions組成,其中多個sessions是通過用戶的點擊時間來區(qū)分。采用會話建模的方式,刻畫不同session用戶興趣演化。
  • 模型結(jié)構(gòu)


    image.png

    1)序列切分層session division layer
    2)會話興趣抽取層session interest extractor layer
    3)會話間興趣交互層session interest interacting layer
    4)會話興趣激活層session interest acti- vating layer

  • 實現(xiàn)
    https://github.com/shenweichen/DSIN/blob/ffe2d0b4f7d8d507cf32fa6c9d583d5b9486e17f/code/models/dsin.py

僅供學(xué)習(xí)

attention機制 :https://zhuanlan.zhihu.com/p/339754431
https://arxiv.org/pdf/1706.06978.pdf
https://zhuanlan.zhihu.com/p/51623339
https://blog.csdn.net/u010352603/article/details/80590152
https://zhuanlan.zhihu.com/p/71695849
https://www.bilibili.com/video/BV1eV41147oi?from=search&seid=11155975345295308253&spm_id_from=333.337.0.0
https://zhuanlan.zhihu.com/p/54838663
https://www.bilibili.com/video/BV1wK4y1u7zN?spm_id_from=333.999.0.0
https://zhuanlan.zhihu.com/p/48601882
https://zhuanlan.zhihu.com/p/89700141

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,572評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,071評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,409評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,569評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,360評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,895評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,979評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,123評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,643評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,559評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,742評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,250評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 43,981評論 3 346
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,363評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,622評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,354評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,707評論 2 370

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