深寬模型
今天來講講深寬模型哈。今天這篇文章的目的是讓大家通俗易懂地了解深寬模型,下面不會涉及一條公式,小白可讀。主要有以下幾個大方向講起:
深寬模型的介紹
深寬模型的由來與發(fā)展
深寬模型的優(yōu)缺點
深寬模型的運用
結(jié)論
1、深寬模型的介紹
深寬模型,又稱Wide & Deep 模型。深寬模型是一個結(jié)合了傳統(tǒng)線性模型和深度模型的工程創(chuàng)新。
寬度模型:寬度模型具有較強的“記憶能力”(Memorization)。記憶能力”可以被理解為模型直接學習并利用歷史數(shù)據(jù)中物品或者特征的“共現(xiàn)頻率”的能力。一般來說,協(xié)同過濾、邏輯回歸等簡單模型有較強的“記憶能力”。(即從歷史數(shù)據(jù)中發(fā)現(xiàn)item或者特征之間的相關(guān)性。)簡單來說,我認為就是一個記錄現(xiàn)象的過程。
深度模型:深度模型讓模型具有“泛化能力”(Generalization)。“泛化能力”可以被理解為模型傳遞特征的相關(guān)性,以及發(fā)掘稀疏甚至從未出現(xiàn)過的稀有特征與最終標簽相關(guān)性的能力。深度神經(jīng)網(wǎng)絡(luò)通過特征的多次自動組合,可以深度發(fā)掘數(shù)據(jù)中潛在的模式,即使是非常稀疏的特征向量輸入,也能得到較穩(wěn)定平滑的推薦概率,這就是簡單模型所缺乏的“泛化能力”。(即相關(guān)性的傳遞,發(fā)現(xiàn)在歷史數(shù)據(jù)中很少或者沒有出現(xiàn)的新的特征組合。)簡單來說,我認為就是通過現(xiàn)象尋找規(guī)律的過程。
打個比喻哦,在人類的認知學習過程中演化過程中,人類的大腦很復雜,它可以記憶(memorize)下每天發(fā)生的事情(麻雀可以飛,鴿子可以飛)然后泛化(generalize)這些知識到之前沒有看到過的東西(有翅膀的動物都能飛)。
ps:泛化能力(generalization ability)是指機器學習算法對新鮮樣本的適應能力。
2、深寬模型的由來與發(fā)展
2.1 深寬模型的由來
寬度模型:
- 有些簡單的模型, 比如協(xié)同過濾, LR等,能夠從歷史數(shù)據(jù)中學習到高頻共現(xiàn)的特征組合能力。
- 不足:但是于對未曾出現(xiàn)過的特征組合,權(quán)重系數(shù)為0,無法進行泛化,就會導致泛化能力不足
深度模型:
- 像矩陣分解, embedding再加上深度學習網(wǎng)絡(luò), 能夠利用相關(guān)性的傳遞去探索歷史數(shù)據(jù)中未出現(xiàn)的特征組合, 挖掘數(shù)據(jù)潛在的關(guān)聯(lián)模式。
- 不足:雖然可以學習到訓練集中未出現(xiàn)的組合特征,但是對于某些特定的場景(數(shù)據(jù)分布長尾, 共現(xiàn)矩陣稀疏高秩)很難有效學習低緯度的表示, 造成推薦的過度泛化。
大家有沒有發(fā)現(xiàn),其實寬度模型以及深度模型的優(yōu)缺點很互補? 既然這兩種模型的優(yōu)缺點都這么的互補, 為什么不組合一下呢?
2016年,Google提出Wide&Deep模型,將線性模型與DNN很好的結(jié)合起來,在提高模型泛化能力的同時,兼顧模型的記憶性。Wide&Deep這種線性模型與DNN的并行連接模式,后來成為推薦領(lǐng)域的經(jīng)典模式, 奠定了后面深度學習模型的基礎(chǔ)。
2.2 深寬模型的發(fā)展
深度學習階段的推薦模型從多層感知機MLP出發(fā),通過改變神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),演變?yōu)楦鞣N各樣的深度學習推薦模型??偨Y(jié)起來,有七個演變方向,如下圖

深寬模型為其中一個組合模型的演變方向。今天我們重點講深寬模型,其他的不講哈。主要看下面這張圖。

下面重點講了4個典型的深寬模型的改進。
Deep & Cross Network:作者用一個Cross Network替換掉了Wide部分,來自動進行特征之間的交叉,并且網(wǎng)絡(luò)的時間和空間復雜度都是線性的。
-
DeepFM模型:使用FM替換Wide&Deep的Wide部分,加強淺層網(wǎng)絡(luò)組合特征的能力。不同點主要有以下兩點:
a). wide模型部分由LR替換為FM。FM模型具有自動學習交叉特征的能力,避免了原始Wide & Deep模型中淺層部分人工特征工程的工作。
b).共享原始輸入特征。DeepFM模型的原始特征將作為FM和Deep模型部分的共同輸入,保證模型特征的準確與一致。
AFM:基于FM模型進行改進,主要通過引入attention網(wǎng)絡(luò)來學習交互特征的重要性,以此提高了模型的表達能力和可解釋性。
NFM:NFM使用交叉池化層(Bi-interaction Pooling layer)來對二階交叉信息進行處理,使交叉特征的信息能更好的被DNN結(jié)構(gòu)學習,降低DNN學習更高階交叉特征信息的難度。減輕DNN的負擔,意味著不再需要更深的網(wǎng)絡(luò)結(jié)構(gòu),從而模型參數(shù)量也減少了,模型訓練更便捷。
3、深寬模型的優(yōu)缺點
缺點是什么?怎么改進?
(1)LR需要做好特征工程。特別是LR在工業(yè)場景中,特征的數(shù)量會很多,可能達到成千上萬,甚至數(shù)十萬,這時特征工程就很難做,還不一定能取得更好的效果 (2)LR沒有考慮到交叉特征。 PS:目前DCN和Deep FM對以上兩點進行了優(yōu)化
優(yōu)點是什么?
深寬模型實現(xiàn)了對memorization和generalization的統(tǒng)一建模。能同時學習低階和高階組合特征,兼具了邏輯回歸和深度神經(jīng)網(wǎng)絡(luò)的優(yōu)點-----能夠快速處理并記憶大量歷史行為特征,并且具有強大的表達能力
4、深寬模型的應用
Wide & Deep Model適用于輸入高維稀疏的大規(guī)模分類或回歸問題。比如推薦系統(tǒng)、search、ranking問題。
在推薦系統(tǒng)上,可以結(jié)合更多的寬度+深度模型。可以在wide和deep典型的四個發(fā)展方向繼續(xù)往深的發(fā)展。
5、結(jié)論
深寬模型的想法就是結(jié)合模型的記憶能力以及泛化能力,在一定程度上取得了很大的成功。開啟了模型組合思路的先河, 從這之后, 越來越多的組合模型架構(gòu)加入到了推薦模型的行列,這兩個模型的思想其實比較簡單,但取得了非常大的成功, 主要是因為有兩大特色:
1、抓住了業(yè)務問題的本質(zhì)特點,融合了傳統(tǒng)模型的記憶能力和深度學習模型的泛化能力
2、模型結(jié)構(gòu)簡單,比較容易工程實現(xiàn)、訓練和上線。
6、小問題
看完問自己幾個問題,看看你今天學會了嗎?
(1) 什么是WIde&Deep?
記憶能力+泛化能力的結(jié)合
(2) LR的優(yōu)缺點是什么?
優(yōu)點:能夠從歷史數(shù)據(jù)中學習到高頻共現(xiàn)的特征組合能力
缺點:無法學習到訓練集中未出現(xiàn)的組合特征,泛化能力不足。
(3) DNN的優(yōu)缺點?
優(yōu)點:可以學習到訓練集中未出現(xiàn)的組合特征
缺點:對于某些特定的場景(數(shù)據(jù)分布長尾, 共現(xiàn)矩陣稀疏高秩)很難有效學習低緯度的表示, 造成推薦的過度泛化
(4) DNN為什么會導致過度泛化?
基于Embedding的方式可能因為數(shù)據(jù)長尾分布,導致長尾的一些特征值無法被充分學習,其對應的Embedding vector是不準確的,這便會造成模型泛化過度。
小聊天
如果各位同學對這方面很感興趣的話可以讀一下王喆老師的《深度學習推薦系統(tǒng)》,這里面深度剖析了深度學習推薦模型的結(jié)構(gòu)以及細節(jié)算法。
(34條消息) AI上推薦 之 Wide&Deep與Deep&Cross模型(記憶與泛化并存的華麗轉(zhuǎn)身)_Miracle8070-CSDN博客
(34條消息) AI上推薦 之 FNN、DeepFM與NFM(FM在深度學習中的身影重現(xiàn))_Miracle8070-CSDN博客