《深度學(xué)習(xí)推薦系統(tǒng)》第3章各模型要點(diǎn)

AutoRec

image.png

要點(diǎn):

  • 輸出層的節(jié)點(diǎn)數(shù)與輸入層相等角撞,訓(xùn)練這個網(wǎng)絡(luò)以期望得到近似恒等函數(shù),網(wǎng)絡(luò)結(jié)構(gòu)類似于word2vec

評價(jià):這個模型2015年由澳大利亞國立大學(xué)提出再沧, 是個單隱層的神經(jīng)網(wǎng)絡(luò)推薦模型提鸟,網(wǎng)絡(luò)結(jié)構(gòu)簡單帕翻,非常適合深度學(xué)習(xí)推薦系統(tǒng)的入門模型,但由于比較簡單晕拆, 表達(dá)能力不足藐翎,并且往往共現(xiàn)矩陣非常的稀疏, 更加加大了模型的預(yù)測難度潦匈, 并沒有真正的被應(yīng)用阱高。這個東西是將深度學(xué)習(xí)思想應(yīng)用于推薦系統(tǒng)的初步嘗試, 拉開了使用深度學(xué)習(xí)思想解決推薦問題的序幕茬缩。

DeepCrossing

image.png

要點(diǎn):

  • 類別型特征經(jīng)過embedding處理赤惊,數(shù)值型特征直接進(jìn)入stacking層,進(jìn)行連接凰锡,這部分為經(jīng)典深度學(xué)習(xí)架構(gòu)
  • Multiple Residual Units為多層殘差網(wǎng)絡(luò)


    image.png
class Residual_block(nn.Module):
    def __init__(self, hidden_unit, dim_stack):
        super(Residual_block, self).__init__()
        # 兩個線性層   注意維度未舟, 輸出的時候和輸入的那個維度一致, 這樣才能保證后面的相加
        self.linear1 = nn.Linear(dim_stack, hidden_unit)
        self.linear2 = nn.Linear(hidden_unit, dim_stack)
        self.relu = nn.ReLU()
    
    def forward(self, x):
        orig_x = x.clone()
        x = self.relu(self.linear1(x))
        x = self.linear2(x)
        outputs = self.relu(x + orig_x)       # 殘差鏈接
        return outputs

評價(jià):微軟于2016年在KDD上提出的模型掂为,它算是第一個企業(yè)以正式論文的形式分享深度學(xué)習(xí)推薦系統(tǒng)的技術(shù)細(xì)節(jié)的模型裕膀。由于手工設(shè)計(jì)特征(特征工程)花費(fèi)巨大精力,因此文章利用全連接隱層進(jìn)行特征交叉(但針對性不強(qiáng))勇哗。以現(xiàn)在的角度看待這個模型是非常簡單的昼扛,也就是Embedding+MLP的結(jié)構(gòu),但對當(dāng)時影響是非常巨大欲诺。

NeuralCF

image.png

image.png

image.png

要點(diǎn):

  • GMF為元素積抄谐,MF和MLP的embedding向量是單獨(dú)學(xué)習(xí)的, 并不是共享的扰法, 作者在論文里面也給出了原因蛹含, 就是這樣會更加的靈活,可以根據(jù)模型的復(fù)雜程度確定不同的隱向量的維度

評價(jià):新加坡國立大學(xué)2017年提出塞颁,動機(jī)就是看著MF的內(nèi)積操作比較簡單浦箱, 表達(dá)能力不強(qiáng)吸耿, 作者就用一個“多層的神經(jīng)網(wǎng)絡(luò)+輸出層”替換了矩陣分解里面的內(nèi)積操作, 這樣做一是讓用戶向量和物品向量做更充分的交叉酷窥, 得到更多有價(jià)值的特征組合信息咽安。 二是引入更多的非線性特征, 讓模型的表達(dá)能力更強(qiáng)竖幔。局限是只使用了用戶和物品的ID特征板乙,沒有加入更多其他特征。

PNN

image.png

要點(diǎn):

  • z部分為向量拼接拳氢,W權(quán)重矩陣為N×M募逞,N為Feature長度,M為embedding長度馋评,W[i,j]與相應(yīng)的z[i,j]對應(yīng)相乘并加和放接,有D1個W即可重復(fù)D1次,形成D1個輸出留特,即L1層節(jié)點(diǎn)數(shù)(實(shí)際上就是z → D1的全連接嘛)


    111.png

    111.png
  • p部分分為內(nèi)積(IPNN)和外積模式(OPNN)纠脾,與z部分類似,所不同的是W權(quán)重矩陣為N×N蜕青,z[i,j]改為p[i,j]苟蹈,內(nèi)積模式為N個embedding兩兩內(nèi)積(N×N個數(shù)),外積模式為N個embedding兩兩外積(N個N×N矩陣)再疊加到一起(N×N個數(shù)右核,等價(jià)于所有embedding求和后慧脱,與自身進(jìn)行外積,圖111.jpg)


    image.png

    image.png

    111.jpg
  • 數(shù)值型特征不經(jīng)過Product Layer贺喝,而是直接進(jìn)入L1層的全連接

評價(jià):PNN在2016年由上海交大提出菱鸥,模型在輸入、Embedding層躏鱼, 多層神經(jīng)網(wǎng)絡(luò)及最后的輸出層與DeepCrossing沒有區(qū)別氮采, 唯一的就是Stacking層換成了Product層。 DeepCrossing把所有特征進(jìn)行了交叉染苛, 沒有針對性鹊漠, 所以PNN這里就弄了個Product層, 專門進(jìn)行特征之間的交叉的茶行, 并且還提出了兩種特征交叉的方式贸呢。

Wide & Deep

image.png

要點(diǎn):

  • deep部分?jǐn)?shù)值型特征直接進(jìn)入隱層,類別類特征要先進(jìn)行embedding


    image.png
  • wide部分使用User Installed App和Impression App(曝光的App)的交叉拢军,實(shí)際等價(jià)于兩類特征元素兩兩相乘(外積)。公式\phi即所謂的“交叉積變換”怔鳖,當(dāng)?shù)趇個特征屬于第k個組合特征時茉唉,c_{ki}的值為1,否則為0。假如特征組合這個特征域長度為n度陆,當(dāng)長度為r和長度為s的特征域兩兩交叉時艾凯,n=r×s;當(dāng)長度為r懂傀、長度為s趾诗、長度為t的特征域三三交叉時,n=r×s×t蹬蚁,以此類推∈牙幔現(xiàn)假設(shè)該特征組合域第m維的特征組合為i_j_k,若x_i,x_j,x_k均為1犀斋,則,c_{mi},c_{mj},c_{mk}也為1贝乎,\phi_m(x)=1(其他c_{mX}均為0,x_X^{c_{mX}}=1叽粹,不論x_X取0或1览效,均不影響\phi_m(x)=1),但若x_i,x_j,x_k其中之一為0虫几,則由于c_{mi},c_{mj},c_{mk}為1锤灿,則必有一個值為0,進(jìn)而\phi_m(x)=0辆脸。
    image.png

    image.png
  • 帶L1正則化項(xiàng)的FTRL作為wide部分的優(yōu)化方法(產(chǎn)生稀疏性)但校,而使用AdaGrad作為deep部分的優(yōu)化方法

評價(jià):谷歌于2016年提出,Wide部分的主要作用是讓模型具有較強(qiáng)的記憶能力每强,Deep部分的主要作用是讓模型具有泛化能力始腾,開創(chuàng)了組合模型的構(gòu)造方法,對深度學(xué)習(xí)推薦模型的后續(xù)發(fā)展產(chǎn)生重大影響空执。

DCN(Deep & Cross)

111.png

要點(diǎn):

  • 類似wide & deep浪箭,但wide部分使用多層交叉層(Cross layer)對輸入向量進(jìn)行特征交叉,每個交叉層均保留了輸入向量和初始化值x_0辨绊,因此輸出輸入之間的變化不會特別明顯奶栖。
    111.png

    111.png

評價(jià):2017年由斯坦福大學(xué)和谷歌的研究人員提出,由多層交叉層組成的Cross網(wǎng)絡(luò)在Wide&Deep模型中Wide的基礎(chǔ)上進(jìn)行特征的自動化交叉门坷,避免了更多基于業(yè)務(wù)理解的人工特征組合宣鄙。

FNN

111.jpg

要點(diǎn):

  • 基本等同于DeepCrossing,但embedding部分用事先訓(xùn)練好的FM模型進(jìn)行初始化默蚌,加快收斂速度
  • l1和l2層使用tanh激活函數(shù)冻晤,輸出層使用sigmoid激活函數(shù)

評價(jià):2016年由倫敦大學(xué)學(xué)院提出,引入DNN對特征進(jìn)行更高階組合绸吸,減少特征工程鼻弧,能在一定程度上增強(qiáng)FM的學(xué)習(xí)能力设江,這種嘗試為后續(xù)深度推薦模型的發(fā)展提供了新的思路。缺點(diǎn)是攘轩,兩階段訓(xùn)練模式叉存,在應(yīng)用過程中不方便,且模型能力受限于FM表征能力的上限度帮。和DeepCrossing一樣歼捏,沒有專門的特征交叉,針對性不強(qiáng)笨篷。

DeepFM

111.png

要點(diǎn):

  • Wide部分與Deep部分共享了輸入特征瞳秽,參數(shù)并未增加
  • 數(shù)值型特征無需進(jìn)行embedding

評價(jià):2017年由哈工大和華為諾亞提出,用FM替換了原來的Wide部分冕屯,加強(qiáng)了淺層網(wǎng)絡(luò)部分特征組合的能力(彌補(bǔ)了DeepCrossing和FNN的不足)寂诱,動機(jī)類似于DCN

NFM

image.png

要點(diǎn):

  • Bi-Interaction Pooling(特征交叉池化層),在該層將embedding的數(shù)據(jù)進(jìn)行交叉(兩兩元素積安聘,再求和痰洒,這一步可以參考FM的方法化簡;該層不涉及任何學(xué)習(xí)參數(shù)浴韭,只是線性的對特征進(jìn)行交叉)丘喻,然后送入DNN進(jìn)一步學(xué)習(xí)。


    111.jpg

    111.jpg
  • 與PNN模型的結(jié)構(gòu)非常相似念颈;與deepFM的區(qū)別是泉粉,deepFM的FM部分直接送到輸入層,沒有進(jìn)一步學(xué)習(xí)

評價(jià):2017年新加坡國立大學(xué)提出榴芳,將FM和DNN結(jié)合起來嗡靡,F(xiàn)M最多只能學(xué)習(xí)二階,NFM的思想是在FM學(xué)習(xí)的二階特征的基礎(chǔ)上加入DNN使其學(xué)習(xí)更高階的特征窟感,一方面FM學(xué)好二階特征之后DNN學(xué)習(xí)更高階特征會更加容易更好學(xué)讨彼,另一方面FM學(xué)習(xí)了低階特征然后DNN繼續(xù)學(xué)習(xí)高階特征,又是一次低階特征和高階特征組合的模型柿祈。

AFM

111.jpg

要點(diǎn):

  • 這個模型之中并沒有DNN模塊哈误,但是保存了NFM的二階交叉特征池化層
  • 需要注意的是Attention的加入,并不是單單給某一個二維交叉特征一個權(quán)重躏嚎,這樣子的話對于未在訓(xùn)練數(shù)據(jù)中出現(xiàn)的交叉特征就無法進(jìn)行權(quán)重賦予蜜自。所以在上圖中也可以看到Attention是一個Net的形式給出。也就是用了一個MLP將注意力分?jǐn)?shù)進(jìn)行參數(shù)化卢佣,該注意力網(wǎng)絡(luò)的結(jié)構(gòu)是一個簡單的單全連接層加softmax輸出層的結(jié)構(gòu)


    image.png
  • 防止過擬合常用的方法是Dropout或者L2 L1正則化重荠。AFM的做法是:在Pair-wise Interaction Layer的輸出使用Dropout;在Attention Network中使用L2正則化

評價(jià):2017年由浙江大學(xué)和新加坡國立大學(xué)研究員提出的一個模型(和NFM是同一個作者)虚茶,AFM模型其實(shí)就是從前面講解過的NFM模型的進(jìn)化升級版戈鲁, 該模型和NFM模型結(jié)構(gòu)上非常相似尾膊, 算是NFM模型的一個延伸,在NFM中荞彼, 不同特征域的特征embedding向量經(jīng)過特征交叉池化層的交叉,將各個交叉特征向量進(jìn)行“加和”, 然后后面跟了一個DNN網(wǎng)絡(luò)待笑,但是NFM中的加和池化鸣皂,它相當(dāng)于“一視同仁”地對待所有交叉特征, 沒有考慮不同特征對結(jié)果的影響程度暮蹂,作者認(rèn)為這可能會影響最后的預(yù)測效果寞缝, 因?yàn)椴皇撬械慕换ヌ卣鞫寄軌驅(qū)ψ詈蟮念A(yù)測起作用。 沒有用的交互特征可能會產(chǎn)生噪聲仰泻【B剑或者說加大對預(yù)測結(jié)果重要的特征,抑制噪聲特征集侯。

DIN

image.png

image.png

要點(diǎn):

  • 與Base相比被啼,加入了attention機(jī)制,attention機(jī)制在數(shù)學(xué)形式上只是將過去的平均操作或加和操作換成了加權(quán)和或加權(quán)平均操作
  • 商鋪id只跟用戶歷史行為中的商鋪id序列發(fā)生作用棠枉,商品id亦然

評價(jià):DIN模型是阿里媽媽團(tuán)隊(duì)2018年提出的CTR預(yù)估模型浓体,雖然是幾年前提出的,但是現(xiàn)在應(yīng)用仍比較廣泛

DIEN

image.png

要點(diǎn):

  • 與DIN相比辈讶,使用GRU引入了歷史行為序列信息命浴,GRU解決了RNN梯度消失問題,與LSTM相比參數(shù)更少收斂更快
  • 行為序列層作用為embedding贱除;興趣抽取層作用為模擬用戶遷移生闲;興趣進(jìn)化層在抽取層的基礎(chǔ)上加入attention,模擬與廣告相關(guān)的興趣進(jìn)化月幌,后兩者是關(guān)鍵

評價(jià):2019年阿里媽媽提出的DIN演化版本

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末碍讯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子飞醉,更是在濱河造成了極大的恐慌冲茸,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缅帘,死亡現(xiàn)場離奇詭異轴术,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)钦无,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門逗栽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人失暂,你說我怎么就攤上這事彼宠■” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵凭峡,是天一觀的道長拙已。 經(jīng)常有香客問我,道長摧冀,這世上最難降的妖魔是什么倍踪? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮索昂,結(jié)果婚禮上建车,老公的妹妹穿的比我還像新娘。我一直安慰自己椒惨,他們只是感情好缤至,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著康谆,像睡著了一般领斥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上秉宿,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天戒突,我揣著相機(jī)與錄音,去河邊找鬼描睦。 笑死膊存,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忱叭。 我是一名探鬼主播隔崎,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼韵丑!你這毒婦竟也來了爵卒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤撵彻,失蹤者是張志新(化名)和其女友劉穎钓株,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陌僵,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轴合,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了碗短。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片受葛。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出总滩,到底是詐尸還是另有隱情纲堵,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布闰渔,位于F島的核電站席函,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏冈涧。R本人自食惡果不足惜向挖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望炕舵。 院中可真熱鬧,春花似錦跟畅、人聲如沸咽筋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奸攻。三九已至,卻和暖如春虱痕,著一層夾襖步出監(jiān)牢的瞬間睹耐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工部翘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留硝训,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓新思,卻偏偏與公主長得像窖梁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子夹囚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

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