2020-06-17-深度學(xué)習(xí)推薦系統(tǒng) 第3章

在第二章學(xué)習(xí)了傳統(tǒng)的推薦模型的發(fā)展,本章主要介紹一些比較重要的深度學(xué)習(xí)模型的進(jìn)展.

深度學(xué)習(xí)模型的優(yōu)勢(shì)在于:

  1. 模型的表達(dá)能力更強(qiáng),能夠挖掘更多數(shù)據(jù)中的潛藏模式;
  2. 深度學(xué)習(xí)的模型結(jié)構(gòu)非常靈活,能夠根據(jù)業(yè)務(wù)場(chǎng)景和數(shù)據(jù)特點(diǎn),靈活調(diào)整模型結(jié)構(gòu),使模型與應(yīng)用場(chǎng)景完美契合.

深度學(xué)習(xí)推薦模型的演化關(guān)系圖

下圖是改變神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),構(gòu)建不同的推薦模型的演變方向圖.(DNN/Multi-layer Perceptron為起點(diǎn))

可以分為以下幾個(gè)演化方向:

  1. 改變神經(jīng)網(wǎng)絡(luò)的復(fù)雜程度:AutoRec Deep Crossing, 增加了深度神經(jīng)網(wǎng)絡(luò)層數(shù)和結(jié)構(gòu)復(fù)雜度.
  2. 改變特征交叉方式: NeuralCF PNN
  3. 組合模型: wide&deep, Deep&Cross, DeepFM
  4. FM模型的深度學(xué)習(xí)演化: NFM(使用nn提升特征交叉能力), FNN(FM初始化), AFM(注意力機(jī)制)
  5. 注意力機(jī)制與推薦模型的結(jié)合:DIN
  6. 序列模型與推薦模型相結(jié)合: 使用序列模型模擬用戶行為或用戶興趣的演化趨勢(shì),代表模型是DIEN;
  7. 強(qiáng)化學(xué)習(xí)與推薦模型的結(jié)合: DRN

接下來挑一些筆記到重要的模型做簡單介紹:

模型簡介

AutoRec

(略)基于自編碼器的模型,將用戶通過壓縮和重建的方式得到新的向量表達(dá)
AutoRec 模型過于簡單表達(dá)能力不強(qiáng)

deep crossing-經(jīng)典深度學(xué)習(xí)架構(gòu)

模型在2016年由微軟提出, 完整地解決了從特征工程\稀疏向量稠密化\多層神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化等一系列深度學(xué)習(xí)在推薦系統(tǒng)中的應(yīng)用問題,為后續(xù)研究打下了基礎(chǔ).

deep crossin 解決了這幾個(gè)問題:

  1. 離散特征過于稀疏,不利于直接輸入NN訓(xùn)練,如何解決稀疏向量稠密化的問題.
    • 使用embedding解決
  2. 如何解決特征自動(dòng)交叉組合的問題.
    • 通過Multiple residual unit層(resnet) ,使得特征向量充分組合(在當(dāng)時(shí)時(shí)間點(diǎn),看可能是有道理的,但是我不是很認(rèn)同resnet提供了交叉組合這個(gè)說法)
  3. 如何在輸出層中達(dá)成問題設(shè)定的優(yōu)化目標(biāo).
    • 輸出層使用邏輯回歸或者softmax形式

NeuralCF- CF與深度學(xué)習(xí)的結(jié)合

第二章介紹了CF和矩陣分解,將共現(xiàn)矩陣拆分成用戶u和物品i向量矩陣,二者做內(nèi)積,得到u對(duì)i的相似度. NeuralCF是對(duì)此的一個(gè)擴(kuò)展.

我們可以將矩陣分解的用戶和item的隱向量當(dāng)做是其embedding(上圖左), 我們直接將這兩個(gè)embbedding做內(nèi)積即為矩陣分解方法的u2i打分.

NeualCF使用多層MLP的結(jié)構(gòu)替代了矩陣分解模型中簡單的內(nèi)積操作. 作者說有如下收益(以我的經(jīng)驗(yàn),內(nèi)積比mlp方式效果要好的,下邊的優(yōu)點(diǎn)看看就得了):

  1. 更充分的交叉,得到更多有價(jià)值的特征組合信息;
  2. 引入更多的非線性,讓模型表達(dá)能力更強(qiáng).

進(jìn)一步地,為了得到user和item更精準(zhǔn)地表達(dá),可以將內(nèi)積(簡化為元素乘積)和MLP合并在一起用.

PNN模型

與deepcrossing相比PNN模型在embedding層后接入的是乘積層(Product layer
).


product層可以分為兩種方式:

  1. 內(nèi)積
  2. 外積

不詳細(xì)介紹目前工業(yè)界應(yīng)該沒有人用了,思想可借鑒,網(wǎng)上文章可參考:
https://zhuanlan.zhihu.com/p/89850560

優(yōu)點(diǎn):

  1. 內(nèi)積和外積交叉
    缺點(diǎn):
  2. 全交叉復(fù)雜度高,沒有直接利用原始特征信息,可能有信息損失(NN沒那么萬能,需要人工特征)

wide&deep

google爸爸在2016提出了很nb的wide&deep模型.

將模型分為兩個(gè)部分,由單層的wide和多層的nn混合成的模型:

  1. wide:讓模型具有較強(qiáng)的"記憶能力"(memorization)
  2. deep:發(fā)讓模型具有"泛化能力"(generalization)

這樣的結(jié)構(gòu)特點(diǎn),是模型兼具了邏輯回歸和深度神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)---能夠快速處理并記憶大量歷史行為特征,并且具有強(qiáng)大的表達(dá)能力.

模型的記憶和泛化能力

記憶能力: 模型直接學(xué)習(xí)并利用歷史數(shù)據(jù)中物品或者特征的"共現(xiàn)頻率"的能力.
泛化能力: 可以理解為模型傳遞特征的相關(guān)性,以及發(fā)掘稀疏甚至從未出現(xiàn)過的稀疏特征與最終標(biāo)簽相關(guān)性的能力.

矩陣分解比協(xié)同過濾的泛化能力強(qiáng),因?yàn)榫仃嚪纸庖肓穗[向量這樣的結(jié)構(gòu),使得數(shù)據(jù)稀少的用戶或者物品也能生成隱向量,從而獲得有數(shù)據(jù)支撐的推薦得分, 這是非常典型的將全局?jǐn)?shù)據(jù)傳遞到稀疏物品上,從而提高泛化能力的例子.

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

wide&deep模型把稀疏向量輸入層按需進(jìn)入了wide層和deep的embedding層再進(jìn)入MLP最終合并在一起形成走logit.

上圖是論文中g(shù)oogleplay團(tuán)隊(duì)使用的特征,Deep部分的輸入是全量的特征向量,wide部分的輸入只是已安裝應(yīng)用和曝光應(yīng)用兩類特征的交叉,其中已安裝應(yīng)用代表用戶的歷史行為,而曝光應(yīng)用代表當(dāng)前的待推薦應(yīng)用. 這種交叉特征可以充分發(fā)揮簡單模型的"記憶能力"強(qiáng)的優(yōu)勢(shì).

交叉的例子:用戶歷史看了 ABC, 當(dāng)前待排序item為D 那么特征為 A&D, B&D, C&D.

Deep&Cross模型

這個(gè)模型是deepwide的升級(jí),它將wide部分改造為了cross.

cross的公式如下:


x_{l+1} = x_{0}x_{l}^{T}W_l + b_l + x_l

x只當(dāng)前層的輸入,l指第l層,x_0指原始輸入. 含義是,每層x_l都與x_0做外積再與w相乘得到輸出向量在加上偏置和原始層x_0作為這一層l的輸出.

優(yōu)點(diǎn):cross網(wǎng)絡(luò)在特征上進(jìn)行了自動(dòng)交叉,避免了需要根據(jù)業(yè)務(wù)理解的特征組合.(是的,但是它的訓(xùn)練和推斷效率很低, 而且不一定比業(yè)務(wù)理解的特征處理好)

widedeep模型的重要性

widedeep的成功在于:

  1. 從業(yè)務(wù)出發(fā),抓住了業(yè)務(wù)本質(zhì)特點(diǎn)(泛化和記憶)
  2. 模型結(jié)構(gòu)不負(fù)責(zé),工業(yè)界好用
  3. widedeep是一個(gè)base模板,好多之后的模型都基于此.

FM與深度學(xué)習(xí)模型的結(jié)合

以Fm模型為基礎(chǔ)的深度學(xué)習(xí)模型有 FNN DeepFm NFM,它們使用不同的方式改進(jìn)了FM,發(fā)揮特征組合的優(yōu)勢(shì).

FNN-用FM的隱向量完成Embedding的初始化

由于emb層的參數(shù)數(shù)量巨大,會(huì)導(dǎo)致Embedding的受涼速度很慢,所以考慮使用預(yù)先初始化的方式解決這個(gè)問題:

如上圖,使用FM的隱向量v為每個(gè)特征的emb做初始化.

deepFM - 使用FM代替WIDE部分

顧名思義, 使用FM替代wide的好處是自動(dòng)地進(jìn)行了特征組合,這個(gè)模型效果是OK的,是一個(gè)值得上線的模型.

NFM- FM的神經(jīng)網(wǎng)絡(luò)化嘗試

FM的局限是只能二階交叉. 3階以上參數(shù)太多. 研究人員考慮使用深度模型學(xué)習(xí)交叉項(xiàng)如下:


將FM的二階交叉部分使用NN來進(jìn)行學(xué)習(xí)得到sum emb在經(jīng)過幾層MLP學(xué)習(xí).


上圖的交叉池化層將所有的emb進(jìn)行了二階element元素交叉,再sum成為一個(gè)emb作為輸出.

它的優(yōu)點(diǎn)書中的說法是加強(qiáng)了特征交叉,但是實(shí)際上交叉池化層幾乎是與FM的二階交叉是等價(jià)的,不同的是NFM二階交叉后做了sum的得到emb在走mlp增加了模型的表達(dá)能力.

FM的深度學(xué)習(xí)模型的優(yōu)點(diǎn)和局限

  1. 交叉,模型表達(dá)能力強(qiáng)
  2. 這種特征工程已經(jīng)窮盡了可能的嘗試,在進(jìn)行提升的空間比較小了.

注意力機(jī)制在推薦模型中的應(yīng)用

注意力機(jī)制是指人類面對(duì)大量的信息,會(huì)有不同的關(guān)注程度.在推薦模型領(lǐng)域,這種注意力機(jī)制主要是指,用戶對(duì)于物品的關(guān)注與偏好程度的高低.

AFM 引入注意力機(jī)制的FM

在之前的介紹的NFM模型中,它有一個(gè)問題是將所有的emb"一視同仁"地進(jìn)行交叉,沒有考慮不同特征對(duì)結(jié)果的影響程度,事實(shí)上消解了大量有價(jià)值的信息.

"注意力機(jī)制"認(rèn)為,不同的交叉特征對(duì)結(jié)果的影響的程度不同,需要加一個(gè)"權(quán)重",所以有了下圖的模型:


這里不同的是激活網(wǎng)絡(luò), 它將交叉emb的輸出走了一個(gè)softmax得到每個(gè)交叉的權(quán)重,在進(jìn)行emb加權(quán)求和走logit得到預(yù)測(cè)結(jié)果y.

這個(gè)方法是從改進(jìn)模型結(jié)構(gòu)角度的一個(gè)有益嘗試.

DIN- 引入注意力機(jī)制的深度學(xué)習(xí)網(wǎng)絡(luò)

阿里提出的DIN模型從用戶角度出發(fā), 將待排序廣告與用戶歷史行為序列(商品和商鋪id序列)進(jìn)行了attention, 得到用戶對(duì)排序廣告的"注意力"權(quán)重,進(jìn)行emb加權(quán).

image.png

上圖可以看到, 廣告特征組與用戶特征組進(jìn)行了attention激活, 這個(gè)激活單元使用的是一個(gè)以原始廣告emb輸入用戶每個(gè)id的emb輸入以及二者emb差作為輸入的網(wǎng)絡(luò),輸出為這個(gè)id特征的關(guān)注程度,再進(jìn)行加權(quán)求和,輸入mlp層.

這個(gè)模型的優(yōu)點(diǎn)是從業(yè)務(wù)場(chǎng)景觸發(fā),但是這種注意力并沒有考慮時(shí)序的關(guān)系,用戶的行為是有明顯的時(shí)序變化的,歷史的再現(xiàn)在可能已經(jīng)不感興趣.

DIEN

剛提到DIN注意力模型并沒有考慮時(shí)序的關(guān)系,用戶的行為是有明顯的時(shí)序變化的,歷史的再現(xiàn)在可能已經(jīng)不感興趣.DIEN考慮了用戶興趣的進(jìn)化,使用了類似GRU的模型結(jié)構(gòu).

這個(gè)模型可以分為3層:

  1. 行為序列層:

    • 主要作用是吧原始的id類行為序列轉(zhuǎn)換成Embedding行為序列;
    • 它的輸入就是用戶序列的emb
  2. 興趣抽取層: 主要作用是通過模擬用戶興趣過程抽取用戶興趣

    • 興趣抽取層是一個(gè)GRU層,它的隱向量作為本層的輸出
  3. 興趣進(jìn)化層:這一層將上一層輸入的GRU隱層走了一個(gè)帶有attention的AUGRU,并將最終的隱層作為興趣進(jìn)化emb輸入給mlp

AUGRU

首先GRU的公式如下:


AUGRU的不同點(diǎn)是,將更新門u_t進(jìn)行了attention加權(quán),這個(gè)attention是將目標(biāo)廣告和興趣抽取層的輸出學(xué)習(xí)得到的.

這個(gè)模型充分考慮了用戶興趣的演化, 但是模型比較復(fù)雜

強(qiáng)化學(xué)習(xí)推薦

(略)主要介紹了DQN DRN, 目前強(qiáng)化在業(yè)界真落地的不多.書中也是比價(jià)基礎(chǔ)的強(qiáng)化方法.

總結(jié)

?著作權(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ù)。

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