Paper Reading:Wide & Deep Learning for Recommender Systems

本篇是論文Wide & Deep Learning for Recommender Systems的閱讀筆記,這是谷歌的一篇發表在2016的論文。網絡

ABSTRACT

對於解決regression和classification問題,有兩類方法,一種是wide的一種是deep的。wide,一般是linear model,輸入特徵不少,帶有可以實現非線性的交叉特徵(因此wide。)。deep,主要就是基於神經網絡的模型啦。ide

任何事情都有兩面性,有利就有弊。wide的模型有什麼好處呢?特徵之間是如何相互做用的,是一目瞭然的,也就是可解釋性好。缺點呢?特徵工程很費勁,並且歷史數據中沒有的模式是學不到的。deep的模型有什麼好處呢?更加general,能夠學到一些沒見過的特徵組合(由於是基於對query和item作embedding的)。缺點呢?過度general了,可能會推薦出一些不相關的東西。函數

這篇論文提出的模型,就是把wide的模型和deep的模型融合到一塊兒,讓兩種模型相互制約,取兩種模型的優勢。學習

如何融合?如何聯合訓練?爲何效果比單獨的linear model或者deep model效果好。是這篇論文最值得研究的點。優化

這篇論文還從工程的角度,描述瞭如何部署,這也是值得學習借鑑的。component

INTRODUCTION

這個部分做者進一步解釋了abstract中提到的幾個點。blog

One challenge in recommender systems, is to achieve both memorization and generalization.部署

對於memorization和generalization,論文中中有解釋:深度學習

Memorization can be loosely defined as learning the frequent co-occurrence of items or features and exploiting the correlation available in the historical data.it

Generalization, on the other hand, is based on transitivity of correlation and explores new feature combinations that have never or rarely occurred in the past.

我理解,memorization就是總結過去,generalization就是發現未知

This paper present the Wide & Deep learning framework to achieve both memorization and generalization in one model, by jointly training a linear model component and a neural network component.

RECOMMENDER SYSTEM OVERVIEW

這裏做者對推薦系統作了介紹,言簡意賅。

首先是retrieval過程,由於候選實在太多了,不能每一個都計算個分值,因此先篩選,縮小候選集合,這一步一般是經過簡單的模型或者規則完成。

接下來是rank,給候選一個分值。

WIDE & DEEP LEARNING

接下來就介紹這模型究竟是怎麼構建的了。

 

1,the wide component

線性模型,經過cross-product產生交叉特徵

2,the deep compoent

feed-forward neural network

上面的圖展現的比較清楚,連續特徵直接輸入,category特徵進行embedding。

3,join training

損失函數採用的是log-loss.

對於wide部分,採用的是FTRL with L1正則做爲優化方法,deep部分採用的是AdaGrad. 

SYSTEM IMPLEMENTATION

這部分講述了一些構建和部署模型的細節,有幾個點比較有意思

1,data gengeration

對categorical的特徵映射到ID,對連續特徵映射經過它的累計分佈映射到0-1

2,model traing

這裏categorical特徵映射到一個32維的embedding,而後與連續特徵拼接到一塊兒,構成一個大概1200維的向量

這裏有一個值得注意的,對於新來的數據,論文采用一種warm-starting的方法,用原來的模型的embeding和linear模型的參數做爲新模型的起始參數。

3,model serving

服務時間低於10ms,並行。

EXPERIMENT RESULT

從實驗上看,離線的AUC,深度學習的不如linear model,wide&deep最好,在線的效果更加突出。

相關文章
相關標籤/搜索