但目前的廣度模型和深度模型都有各自的局限。廣度模型(LR/FM/FFM)一般只能學(xué)習(xí)1階和2階特征組合;而深度模型(FNN/PNN)一般學(xué)習(xí)的是高階特征組合。在之前的舉例中可以看到無(wú)論是低階特征組合還是高階特征組合,對(duì)推薦效果都是非常重要的。Wide & Deep模型依然需要人工特征工程來(lái)為Wide模型選取輸入特征。
DeepFM模型結(jié)合了廣度和深度模型的有點(diǎn),聯(lián)合訓(xùn)練FM模型和DNN模型,來(lái)同時(shí)學(xué)習(xí)低階特征組合和高階特征組合。
此外,DeepFM模型的Deep component和FM component從Embedding層共享數(shù)據(jù)輸入,這樣做的好處是Embedding層的隱式向量在(殘差反向傳播)訓(xùn)練時(shí)可以同時(shí)接受到Deep component和FM component的信息,從而使Embedding層的信息表達(dá)更加準(zhǔn)確而最終提升推薦效果。
DeepFM相對(duì)于現(xiàn)有的廣度模型、深度模型以及Wide & Deep模型的優(yōu)勢(shì)在于:
(1) DeepFM模型同時(shí)對(duì)低階特征組合和高階特征組合建模,從而能夠?qū)W習(xí)到各階特征之間的組合關(guān)系;
(2) DeepFM模型是一個(gè)端到端的模型,不需要任何的人工特征工程。
DeepFM算法架構(gòu)
為了驗(yàn)證DeepFM模型的精度,分別在Criteo Kaggle的競(jìng)賽數(shù)據(jù)集和華為應(yīng)用市場(chǎng)的數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。
Criteo Kaggle的數(shù)據(jù)集按照9:1的比例劃分訓(xùn)練集和測(cè)試集。華為應(yīng)用市場(chǎng)數(shù)據(jù)集由8天連續(xù)數(shù)據(jù)構(gòu)成:前7天數(shù)據(jù)為訓(xùn)練集,后1天數(shù)據(jù)為測(cè)試集。實(shí)驗(yàn)結(jié)果表明:相比較業(yè)界最新的推薦算法,DeepFM模型在華為數(shù)據(jù)集上,AUC提升0.36%~0.86%,LogLoss提升0.34%~1.1%。
DeepFM算法效果對(duì)比
DeepFM算法是華為伏羲推薦算法經(jīng)過(guò)1年多的研究,并同業(yè)界深入合作的成果。團(tuán)隊(duì)還在深度學(xué)習(xí)推薦算法方面持續(xù)投入,研究更好的深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu),實(shí)現(xiàn)更好的特征表達(dá)和特征交互方式,持續(xù)改進(jìn)深度學(xué)習(xí)推薦模型,為華為應(yīng)用市場(chǎng)和華為游戲中心的用戶提供更好的個(gè)性化、精準(zhǔn)化的用戶體驗(yàn),保持華為應(yīng)用市場(chǎng)推薦系統(tǒng)的技術(shù)領(lǐng)先。