日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

Transformer在深度推荐系统中的应用及2019最新进展

發(fā)布時(shí)間:2025/3/8 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Transformer在深度推荐系统中的应用及2019最新进展 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:Alex-zhai

來(lái)源:https://zhuanlan.zhihu.com/

p/85825460

整理:深度傳送門(mén)

最近基于Transformer的一些NLP模型很火(比如BERT,GPT-2等),因此將Transformer模型引入到推薦算法中是近期的一個(gè)潮流。Transformer比起傳統(tǒng)的LSTM、GRU等模型,可以更好地建模用戶的行為序列。本文主要整理Transformer在推薦模型中的一些應(yīng)用以及在2019年的最新進(jìn)展。


Self-Attentive Sequential Recommendation, ICDM 2018

模型結(jié)構(gòu)

問(wèn)題定義:模型輸入是用戶 u 的一個(gè)歷史交互序列:??, 其期望的輸出是該交互序列一個(gè)時(shí)間刻的偏移:??。

Embedding層

將輸入序列??轉(zhuǎn)化成固定長(zhǎng)度的序列??。意思是如果序列長(zhǎng)度超過(guò)n,則使用最近n個(gè)行為。如果不足n,則從左側(cè)做padding直到長(zhǎng)度為n。

位置embedding:因?yàn)閟elf-attention并不包含RNN或CNN模塊,因此它不能感知到之前item的位置。本文輸入embedding中也結(jié)合了位置Embedding P信息,并且位置embedding是可學(xué)習(xí)的。

Self-Attention層

Transformer中Attention的定義為:

本文中,self-attention以embedding層的輸出作為輸入,通過(guò)線性投影將它轉(zhuǎn)為3個(gè)矩陣,然后輸入attention層:

為了避免在預(yù)測(cè)i時(shí)刻的item時(shí)用到后續(xù)時(shí)刻的信息,本文將符合(j > i)條件的??與??之間的連接forbidding掉,這是因?yàn)閟elf-attention每個(gè)時(shí)刻的輸出會(huì)包含所有時(shí)刻的信息。

Point-wise前饋網(wǎng)絡(luò)

盡管self-attention能夠用自適應(yīng)權(quán)重并且聚焦之前所有的item,但最終它仍是個(gè)線性模型。可用一個(gè)兩層的point-wise前饋網(wǎng)絡(luò)去增加非線性同時(shí)考慮不同隱式維度之間的交互:

預(yù)測(cè)層

最后采用MF層來(lái)預(yù)測(cè)相關(guān)的item i:

其中??是給定t個(gè)item,下一個(gè)item i的相關(guān)性。N是item embedding矩陣。為了減少模型尺寸及避免過(guò)擬合,共用一個(gè)item embedding。

顯式用戶建模

為了提供個(gè)性化推薦,當(dāng)前主要有兩種方法:學(xué)習(xí)顯式的用戶embedding表示用戶偏好(MF,FPMC,Caser);考慮用戶之前的行為,通過(guò)訪問(wèn)過(guò)的item的embedding推測(cè)隱式的用戶embedding。本文采用第二種方式,同時(shí)額外在最后一層插入顯式用戶embedding ?,例如通過(guò)加法實(shí)現(xiàn):

但是通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)增加顯式用戶embedding并沒(méi)有提升效果。

Next Item Recommendation with Self-Attention, 2018

模型結(jié)構(gòu)

本文亮點(diǎn)是同時(shí)建模用戶短期興趣(由self-attention結(jié)構(gòu)提取)和用戶長(zhǎng)期興趣

短期興趣

其短期興趣建模過(guò)程如下:假定使用用戶最近的 L 條行為記錄來(lái)計(jì)算短期興趣。可使用X表示整個(gè)物品集合的embedding,那么,用戶 u 在 t 時(shí)刻的前 L 條交互記錄所對(duì)應(yīng)的embedding表示如下:

其中每個(gè)item的embedding維度為d,將??作為transformer中一個(gè)block的輸入。

這里需要注意和傳統(tǒng)transformer的不同點(diǎn):

  • 計(jì)算softmax前先掩掉??矩陣的對(duì)角線值,因?yàn)閷?duì)角線其實(shí)是item與本身的一個(gè)內(nèi)積值,容易給該位置分配過(guò)大的權(quán)重。

  • 沒(méi)有將輸入??乘以??得到??,而是直接將輸入乘以softmax算出來(lái)的score。

  • 直接將embedding在序列維度求平均,作為用戶短期興趣向量。

長(zhǎng)期興趣

self-attention模塊只使用用戶最近的L個(gè)交互商品作為用戶短期的興趣。那么怎么建模用戶的長(zhǎng)期興趣呢?可認(rèn)為用戶和物品同屬于一個(gè)興趣空間,用戶的長(zhǎng)期興趣可表示成空間中的一個(gè)向量,而某物品也可表示為成該興趣空間中的一個(gè)向量。那如果一個(gè)用戶對(duì)一個(gè)物品的評(píng)分比較高,說(shuō)明這兩個(gè)興趣是相近的,那么它們對(duì)應(yīng)的向量在興趣空間中距離就應(yīng)該較近。這個(gè)距離可用平方距離表示。

綜合短期興趣和長(zhǎng)期興趣,可得到用戶對(duì)于某個(gè)物品的推薦分,推薦分越低,代表用戶和物品越相近,用戶越可能與該物品進(jìn)行交互:

模型采用pair-wise的方法訓(xùn)練,即輸入一個(gè)正例和一個(gè)負(fù)例,希望負(fù)例的得分至少比正例高γ,否則就發(fā)生損失,并在損失函數(shù)加入L2正則項(xiàng):

BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer, CIKM 2019

模型架構(gòu)

顯而易見(jiàn),本文的亮點(diǎn)是結(jié)合使用預(yù)訓(xùn)練的BERT模型。

Embedding Layer

模型的輸入是用戶歷史交互序列,對(duì)交互序列中的每一個(gè)物品 i,其Embedding包含兩部分,一部分是物品的Embedding,用vi表示;另一部分是位置信息的Embedding,用 pi 表示。這里的pi是可學(xué)習(xí)的

Transformer Layer

主要包括Multi-Head Self-Attention層和Position-Wise Feed-Forward Network,其中Multi-Head Self-Attention計(jì)算過(guò)程如下:

Stacking Transformer Layer使用了類似于resnet的skip連接結(jié)構(gòu)。

模型訓(xùn)練

因?yàn)樵贐ERT4Rec中,輸入歷史序列[v1, v2, ..., vt-1],輸出的是包含上下文信息的向量[h1, h2, ..., ht-1],這里每個(gè)向量ht都包含了整個(gè)序列的信息。如果要預(yù)測(cè)用戶t時(shí)刻的交互物品vt,如果直接把 vt 作為輸入,那么其余每個(gè)物品在Transformer Layer中會(huì)看到目標(biāo)物品vt的信息,造成一定程度的信息泄漏。

因此可把對(duì)應(yīng)位置的輸入變成[mask]標(biāo)記。打標(biāo)記的方式和BERT一樣,隨機(jī)把輸入序列的一部分遮蓋住,然后讓模型來(lái)預(yù)測(cè)這部分對(duì)應(yīng)的商品:

Behavior Sequence Transformer for E-commerce Recommendation in Alibaba,?2019

模型結(jié)構(gòu)

問(wèn)題建模:給定一個(gè)用戶u的行為序列:S(u) = {v1, v2, ..., vn },學(xué)習(xí)一個(gè)函數(shù)F用于預(yù)測(cè)用戶 u 點(diǎn)擊item vt的概率。

Transformer layer

對(duì)于每個(gè)item抽取了一個(gè)更深層次的representation,用于捕捉該item和歷史行為序列中的其他item的關(guān)系。

DIN、DIEN、DSIN和本文BST模型的區(qū)別和聯(lián)系

1. DIN模型使用注意力機(jī)制來(lái)捕獲目標(biāo)商品與用戶先前行為序列中商品之間的相似性,但是未考慮用戶行為序列背后的序列性質(zhì),并且未捕捉用戶興趣的動(dòng)態(tài)變化性。

2. DIEN主要解決DIN無(wú)法捕捉用戶興趣的動(dòng)態(tài)變化性的缺點(diǎn),提出了興趣抽取層Interest Extractor Layer、興趣進(jìn)化層Interest Evolution Layer。

3. DSIN針對(duì)DIN和DIEN沒(méi)考慮用戶歷史行為中的會(huì)話信息,因?yàn)樵诿總€(gè)會(huì)話中的行為是相近的,而在不同會(huì)話之間差別是很大的。DSIN主要是在session層面上來(lái)利用用戶的歷史行為序列信息。

4. BST模型通過(guò)Transformer模型來(lái)捕捉用戶歷史序列中各個(gè)item的關(guān)聯(lián)特征,并且通過(guò)加入待推薦的商品item,也可抽取出行為序列中商品與待推薦商品之間的相關(guān)性。

往期精彩回顧適合初學(xué)者入門(mén)人工智能的路線及資料下載機(jī)器學(xué)習(xí)在線手冊(cè)深度學(xué)習(xí)在線手冊(cè)AI基礎(chǔ)下載(pdf更新到25集)備注:加入本站微信群或者qq群,請(qǐng)回復(fù)“加群”獲取一折本站知識(shí)星球優(yōu)惠券,請(qǐng)回復(fù)“知識(shí)星球”喜歡文章,點(diǎn)個(gè)在看

總結(jié)

以上是生活随笔為你收集整理的Transformer在深度推荐系统中的应用及2019最新进展的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。