推薦系統(tǒng)遇上深度學(xué)習(xí)(一二八)-深度交叉注意力乘積網(wǎng)絡(luò)DCAP

本文是2022年的第一篇文章,給大家?guī)?lái)CIKM2021上中稿的一篇文章,提出了Deep Cross Attentional Product Network(以下簡(jiǎn)稱DCAP),在顯式建模高階特征交互的基礎(chǔ)上,引入自注意力機(jī)制來(lái)刻畫不同交叉特征對(duì)于預(yù)測(cè)的重要性,一起來(lái)看一下。

1、背景

論文關(guān)注的如何通過(guò)特征建模,對(duì)用戶的交互行為進(jìn)行預(yù)測(cè),如用戶是否會(huì)點(diǎn)擊某個(gè)廣告,是否會(huì)對(duì)推薦內(nèi)容產(chǎn)生興趣等等,如下圖所示:

從上圖也可以看到,用戶的特征往往是多域的離散特征,如國(guó)家、性別等。同時(shí),對(duì)于交叉特征的建模在預(yù)測(cè)任務(wù)中是十分重要的。由于人工設(shè)計(jì)交叉特征費(fèi)時(shí)費(fèi)力,同時(shí)對(duì)于業(yè)務(wù)敏感度也有較高的要求,因此業(yè)界的研究大都關(guān)注如何進(jìn)行自動(dòng)化的交叉特征建模,從使用FM來(lái)建模二階的交叉特征,到使用FM和DNN相結(jié)合的方法如DeepFM、NFM進(jìn)一步建模二階和更高階的交叉特征。但上述的方法存在兩方面的問(wèn)題:

1)DNN對(duì)于交叉特征的建模是隱式的,可解釋性差
2)得到的交叉特征,對(duì)于所有的樣本都使用相同的權(quán)重,但對(duì)于不同的樣本來(lái)說(shuō),不同的特征的重要程度是不相同的,需要加以區(qū)分

上述兩方面的問(wèn)題,其實(shí)有一些工作已經(jīng)進(jìn)行了優(yōu)化,如針對(duì)隱式建模的問(wèn)題,有DCN、XDeepFM等相關(guān)工作提出;針對(duì)特征權(quán)重問(wèn)題,如AFM,以及引入門控機(jī)制如GateNet等工作。而本文則是提出了Deep Cross Attentional Product Network,下一章節(jié)對(duì)DCAP進(jìn)行介紹。

2、DCAP介紹

論文提出的DCAP整體結(jié)構(gòu)如下圖所示:

整體的模型結(jié)構(gòu)還是比較容易理解,本文主要對(duì)DCAP的核心結(jié)構(gòu)即上圖右側(cè)的部分進(jìn)行介紹。

輸入的特征,經(jīng)過(guò)Embedding層,得到最初的輸入,計(jì)作X(維度為n*d),經(jīng)過(guò)每一層子網(wǎng)絡(luò),都會(huì)得到相應(yīng)階數(shù)的交叉特征的輸出。接下來(lái),順著上圖右側(cè),介紹如何從第l階特征交互X(l)(維度為n*d)得到第l+1層特征交互X(l+1)(維度為n*d)。過(guò)程計(jì)算如下:

首先X(l)經(jīng)過(guò)多頭自注意力網(wǎng)絡(luò),得到Z(l+1)(維度為n*d),經(jīng)過(guò)自注意力機(jī)制,就實(shí)現(xiàn)了對(duì)不同交叉特征重要性的區(qū)分。關(guān)于自注意力機(jī)制的內(nèi)容,網(wǎng)上的內(nèi)容很多,本文就不再進(jìn)行贅述。

接下來(lái),通過(guò)內(nèi)積或外積的方式得到vector-vise的乘積向量P(l+1)(維度為n(n-1)/2*d),P(l+1)可以看作是第l+1階的交叉特征。內(nèi)積和外積的計(jì)算方式如下:

P(l+1)的維度為n(n-1)/2*d,為什么是n(n-1)/2呢,這里主要是在計(jì)算交叉特征時(shí),對(duì)下標(biāo)進(jìn)行了一定的限制,另一方面,是對(duì)第l+1層的自注意力機(jī)制部分的輸出與原始輸入X進(jìn)行的內(nèi)積或外積計(jì)算,這里使用了DCN的思路顯式建模特征交叉:

隨后,對(duì)P(l+1)在最后一維上進(jìn)行sum pooling操作,得到該層的輸出Y(l+1)(維度為n(n-1)/2),作為后續(xù)的MLP層的輸入:

最后,無(wú)論是P(l+1),還是Y(l+1),都不能用于下一層的輸入,因此需要進(jìn)一步進(jìn)行轉(zhuǎn)換,將n(n-1)/2 *d維,轉(zhuǎn)換成n*d維,論文采用的是1D average pooling的方式,將 P(l+1)轉(zhuǎn)換為X(l+1)(從這里可以看出,論文給出的模型結(jié)構(gòu)圖是存在一定問(wèn)題的,個(gè)人感覺應(yīng)該將Y替換為P)。1D average pooling的計(jì)算方式如下:

上述就是DCAP核心結(jié)構(gòu)的介紹,在得到每一層的輸出Y(l+1)之后,與展平后的X進(jìn)行拼接,經(jīng)過(guò)MLP后的到預(yù)估值:

3、實(shí)驗(yàn)結(jié)果

最后來(lái)簡(jiǎn)單看一下論文的實(shí)驗(yàn)結(jié)果:

好了,論文就介紹到這里,論文本身在模型結(jié)構(gòu)的創(chuàng)新點(diǎn)并不多,更像是一些現(xiàn)有網(wǎng)絡(luò)的融合,如DCN、PNN等,感興趣的小伙伴可以看下原文~~

?著作權(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),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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