推薦系統(tǒng)之DIN

該模型的應(yīng)用場(chǎng)景是阿里巴巴的電商廣告推薦業(yè)務(wù),增加了用戶的興趣,而FM家族并未考慮該內(nèi)容

一、推薦背景

1、會(huì)有大量的用戶歷史行為信息

2、用戶【興趣】多種多言,并且變化多端

3、用戶的【興趣】往往蘊(yùn)涵在其【歷史行為】中

4、對(duì)于用戶是否點(diǎn)擊當(dāng)前的商品廣告,很大程度上是依賴他的歷史行為的

二、思路


1、輸入特征當(dāng)中,包含用戶歷史行為

(1)并不是所有的歷史特征,都對(duì)當(dāng)前預(yù)估任務(wù)有效,必須篩選出有效特征,并按照重要程度,分配相應(yīng)權(quán)重

(2)舉例:

目標(biāo)商品∶鍵盤

①用戶歷史行為中的商品有【化妝品,包包,衣服,洗面奶】

②用戶歷史行為中的商品有【鼠標(biāo),電腦,iPad,手機(jī)】

③用戶歷史行為中的商品有【鼠標(biāo),化妝品,衣服,洗面奶】

顯然用戶①對(duì)鍵盤沒啥興趣(四項(xiàng)對(duì)鍵盤關(guān)聯(lián)性不大);

用戶②有很大興趣;鼠標(biāo),電腦和鍵盤關(guān)聯(lián)性很大,iPad也有一定的關(guān)聯(lián)性,手機(jī)關(guān)聯(lián)性最?。m然有專門的手機(jī)所對(duì)應(yīng)的鍵盤)

用戶③只有第一項(xiàng)鼠標(biāo)和鍵盤關(guān)聯(lián)性較大,后三項(xiàng)關(guān)聯(lián)性幾乎為零,因此后三項(xiàng)“化妝品,衣服,洗面奶”應(yīng)當(dāng)篩選掉,他們屬于噪聲。綜上和注意力機(jī)制不謀而合(注意力機(jī)制:將一些無效特征篩選的,然后給有效特征分配權(quán)重,來體現(xiàn)出那個(gè)特征對(duì)當(dāng)前的比較重要)

2、考慮用戶的歷史行為商品與當(dāng)前商品廣告的一個(gè)關(guān)聯(lián)性(局部興趣),模擬出用戶對(duì)目標(biāo)商品的感興趣程度(注意力得分)

三、具體方案:

在Embedding層與MLP之間加入注意力機(jī)制

1、不同的應(yīng)用場(chǎng)景,特征的權(quán)重分配應(yīng)不一樣

例如上面的那個(gè)例子,分析用戶對(duì)鍵盤感不感興趣,拿第三個(gè)用戶來講,【鼠標(biāo)】的權(quán)重就會(huì)高一些,【化妝品,衣服,洗面奶】,如果目標(biāo)商品變成口紅,【化妝品,衣服,洗面奶】權(quán)重就會(huì)上升,【鼠標(biāo)】的權(quán)重就會(huì)下降。

2、篩選出有用的特征,并劃分好比重(哪些特征是重要特征)

3、參考AFM

四、特征表示

? ? ? 上圖就是用戶的一些特征,其中第二項(xiàng)(紅框里的)用戶的歷史行為特征,這里的亮點(diǎn)就是框出來的那個(gè)特征,這個(gè)包含著豐富的用戶興趣信息。別的都是one-hot編碼,而用戶的歷史行為特征卻是multi-hot編碼。對(duì)于特征編碼,作者這里舉了個(gè)例子:[weekday=Friday, gender=Female, visited_cate_ids={Bag,Book}, ad_cate_id=Book], 這種情況我們知道一般是通過one-hot的形式對(duì)其編碼, 轉(zhuǎn)成系數(shù)的二值特征的形式。但是這里我們會(huì)發(fā)現(xiàn)一個(gè)visted_cate_ids, 也就是用戶的歷史商品列表, 對(duì)于某個(gè)用戶來講,這個(gè)值是個(gè)多值型的特征, 而且還要知道這個(gè)特征的長度不一樣長,也就是用戶購買的歷史商品個(gè)數(shù)不一樣多,這個(gè)顯然。這個(gè)特征的話,我們一般是用到multi-hot編碼,也就是可能不止1個(gè)1了,有哪個(gè)商品,對(duì)應(yīng)位置就是1, 所以經(jīng)過編碼后的數(shù)據(jù)長下面這個(gè)樣子:

visted_cate_ids就是multi-hot編碼

再打個(gè)比方

只說第一行g(shù)ood_ids:該用戶在周一看了一個(gè)id=11的商品,在周四看了一個(gè)id=6的商品,在周六看了一個(gè)id=24的商品,在周日看了一個(gè)id=33的商品,編碼的方式變?yōu)?/p>

[0,0,......,1,...,1,....,1,.... .,1,...](其他的均為0)

1,2,3,...,6,...,11,...,24,...,33,..

對(duì)應(yīng)的第六項(xiàng)為1,第11項(xiàng)為1

五、base模型

在介紹DIN模型時(shí),論文首先提到base模型,DIN就是再該模型上改進(jìn)。


(一)、結(jié)構(gòu)

1、Embedding layer

2、Pooling & Concat layer

3、MLP:這個(gè)就是普通的全連接,用了學(xué)習(xí)特征之間的各種交互

(二)、損失函數(shù)

L=-\frac{1}{N}\sum_{(x,y)\in S} (y\log p(x)+(1-y) \log (1-p(x)))

(三)、缺點(diǎn)

1、用戶的歷史行為特征和當(dāng)前的候選廣告特征在全都拼起來給神經(jīng)網(wǎng)絡(luò)之前,是一點(diǎn)交互的過程都沒有

2、拼起來之后給神經(jīng)網(wǎng)絡(luò),雖然是有了交互了,但是既丟失了部分信息,也引入了一定的噪聲

可以聯(lián)想上面舉得那個(gè)鍵盤鼠標(biāo)的例子,如果加上了各種洗面奶,衣服啥的反而會(huì)起到反作用。

【丟失信息】已經(jīng)沒法再看出到底用戶歷史行為中的哪個(gè)商品與當(dāng)前商品比較相關(guān),也就是丟失了歷史行為中各個(gè)商品對(duì)當(dāng)前預(yù)測(cè)的重要性程度。

【引入噪聲】∶因?yàn)楦?dāng)前候選廣告商品交互的是池化后的歷史特征embedding,這個(gè)embedding是綜合了所有的歷史商品信息,這個(gè)通過我們前面的分析,對(duì)于預(yù)測(cè)當(dāng)前廣告點(diǎn)擊率,并不是所有歷史商品都有用,綜合所有的商品信息反而會(huì)增加一些噪聲性的信息

(四)、改進(jìn)思路:

對(duì)于給定的候選廣告,DIN通過考慮歷史行為與其相關(guān)性,自適應(yīng)地計(jì)算用戶興趣的表示向量,該表示向量隨不同廣告而變化

六、DIN網(wǎng)絡(luò)結(jié)構(gòu)

和base區(qū)別就是引入了注意力機(jī)制local activation unit(這里是一個(gè)前饋神經(jīng)網(wǎng)絡(luò))

【輸入】用戶歷史行為商品和當(dāng)前的候選商品

【輸出】它倆之間的相關(guān)性,這個(gè)相關(guān)性相當(dāng)于每個(gè)歷史商品的權(quán)重

【SUM Pooling】加權(quán)求和;把這個(gè)權(quán)重與原來的歷史行為embedding相乘求和就得到了用戶的興趣表示

這里有一點(diǎn)需要特別注意,就是這里的權(quán)重加和不是1, 準(zhǔn)確的說這里不是權(quán)重, 而是直接算的相關(guān)性的那種分?jǐn)?shù)作為了權(quán)重,也就是平時(shí)的那種scores(softmax之前的那個(gè)值),這個(gè)是為了保留用戶的興趣強(qiáng)度。這里依然可以用上面的鍵盤例子來解釋。

七、訓(xùn)練方式

7.1 Mini-batch Aware Regularization( 小批量感知正則化 )

7.2? Data Adaptive Activation Function( 數(shù)據(jù)自適應(yīng)激活函數(shù) )

這里如何訓(xùn)練具體可參考下面的鏈接

4.3兩個(gè)訓(xùn)練技術(shù)

DIN模型 —— 阿里巴巴推薦領(lǐng)域開創(chuàng)性論文,引入注意力機(jī)制

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容