开发者非凡之路

2018深度学习在个性化推荐中的应用

2018-08-16  本文已影响24人  mafanhe

深度学习在个性化推荐中的应用

结论

得益于深度学习强大的表示能力,目前深度学习在推荐系统中需要对用户与物品进行表示学习的任务中有着不错的表现,但优势不如图像与文本那么显著[1]。

深度学习与分布式表示简介

深度学习的概念源于人工神经网络的研究。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的有效表示,而这种使用相对较短、稠密的向量表示叫做分布式特征表示(也可以称为嵌入式表示)。本部分主要对于目前使用较广的一些学习算法进行一个简单的回顾。

首先介绍一些浅层的分布式表示模型。目前在文本领域,浅层分布式表示模型得到了广泛的使用,例如word2vec、GloVec、fasttext等 [2]。与传统词袋模型对比,词嵌入模型可以将词或者其他信息单元(例如短语、句子和文档等)映射到一个低维的隐含空间。在这个隐含空间中,每个信息单元的表示都是稠密的特征向量。词嵌入表示模型的基本思想实际还是上来自于传统的“Distributional semantics”[3],概括起来讲就是当前词的语义与其相邻的背景词紧密相关。因此,词嵌入的建模方法就是利用嵌入式表示来构建当前词和背景词之间的语义关联。相比多层神经网络,词嵌入模型的训练过程非常高效,而且实践效果很好、可解释性也不错,因此得到了广泛的应用

对应于神经网络模型,最为常见的模型包括多层感知器、卷积神经网络、循环神经网络、递归神经网络等 [4]。多层感知器主要利用多层神经元结构来构建复杂的非线性特征变换,输入可以为提取得到的多种特征,输出可以为目标任务的标签或者数值,本质上可以构建一种复杂的非线性变换;卷积神经网络可以直接部署在多层感知器上,感知器的输入特征很有可能是不定长或者有序的,通过多个卷积层和子采样层,最终得到一个固定长度的向量。循环神经网络是用来对于时序序列建模的常用模型,刻画隐含状态的关联性,可以捕捉到整个序列的数据特征。针对简单的循环神经网络存在长期依赖问题(“消失的导数”),不能有效利用长间隔的历史信息,两个改进的模型是长短时记忆神经网络(LSTM) 和基于门机制的循环单元(GRU)。递归神经网络根据一个外部给定的拓扑结构,不断递归得到一个序列的表示,循环神经网络可以被认为是一种简化的递归神经网络。

应用

1.相似匹配

2.评分预测

作者提出,传统基于协同过滤的推荐方法,无论基于何种特征,都没有考虑用户历史行为的时间属性,只是将历史行为中的每个item统一考虑。这样处理带来的最大问题在于推荐系统无法分析用户喜好的变化情况,从而给出更符合用户现阶段喜好的推荐结果。那么,如果基于协同过滤“由过去,看未来”的思想,如果将该问题视作序列预测问题,一方面可以更好的分析用户的兴趣爱好的变化情况给出更好的推荐结果,另一方面也可以将在时序预测问题中广泛使用的RNN深度网络模型引入到推荐系统中。

[15]NCF 作者提出一种通用的神经网络协同过滤框架,通过用神经网络结构多层感知机去学习用户-项目之间交互函数替代传统的矩阵分解中的内积运算,从而从数据中学习任意函数(非线性)。


CFDNN.PNG

并提出了两种NCF实例:基于线性核的GMF(广义矩阵分解),基于非线性核的MLP。并且将GMF与MLP融合,使他们相互强化。(tf model zoo)


CFDNN2.PNG

3.排序

Deep CTR [https:/mp.weixin.qq.com/s/xWqpIHHISSkO97O_fKkb6A]

DeepCTR.PNG

3.1. 总结(结论先行)

1.FM其实是对嵌入特征进行两两内积实现特征二阶组合;FNN 在 FM 基础上引入了 MLP;
2.DeepFM通过联合训练、嵌入特征共享来兼顾 FM 部分与 MLP 部分不同的特征组合机制;
3.NFM、PNN 则是通过改造向量积的方式来延迟FM的实现过程,在其中添加非线性成分来提升模型表现力;
4.AFM 更进一步,直接通过子网络来对嵌入向量的两两逐元素乘积进行加权求和,以实现不同组合的差异化,也是一种延迟 FM 实现的方式;
5.DCN 则是将 FM 进行高阶特征组合的方向上进行推广,并结合 MLP 的全连接式的高阶特征组合机制;
6.Wide&Deep 是兼容手工特征组合与 MLP 的特征组合方式,是许多模型的基础框架;
7.Deep Cross 是引入残差网络机制的前馈神经网络,给高维的 MLP 特征组合增加了低维的特征组合形式,启发了 DCN;
8.DIN 则是对用户侧的某历史特征和广告侧的同领域特征进行组合,组合成的权重反过来重新影响用户侧的该领域各历史特征的求和过程;
9.多任务视角则是更加宏观的思路,结合不同任务(而不仅是同任务的不同模型)对特征的组合过程,以提高模型的泛化能力。

3.2. DNN

深度排序模型( embedding-神经网络),embedding+MLP 是对于分领域离散特征进行深度学习 CTR 预估的通用框架。深度学习在特征组合挖掘(特征学习)方面具有很大的优势。比如以 CNN 为代表的深度网络主要用于图像、语音等稠密特征上的学习,以 W2V、RNN 为代表的深度网络主要用于文本的同质化、序列化高维稀疏特征的学习。CTR 预估的主要场景是对离散且有具体领域的特征进行学习,所以其深度网络结构也不同于 CNN 与 RNN。

embedding_mlp.PNG

embedding+MLP 的过程如下:

  1. 对不同领域的 one-hot 特征进行嵌入(embedding),使其降维成低维度稠密特征。
  2. 然后将这些特征向量拼接(concatenate)成一个隐含层。
  3. 之后再不断堆叠全连接层,也就是多层感知机(Multilayer Perceptron, MLP,有时也叫作前馈神经网络)。
  4. 最终输出预测的点击率。

3.3. Wide & Deep Network(连续特征->交叉特征+LR、离散特征->onehot->DNN)

Wide and Deep Network.PNG

Google 在 2016 年提出的宽度与深度模型(Wide&Deep)在深度学习 CTR 预估模型中占有非常重要的位置,它奠定了之后基于深度学习的广告点击率预估模型的框架。 Wide&Deep将深度模型与线性模型进行联合训练,二者的结果求和输出为最终点击率。其计算图如下:

3.4. DeepFM

在Wide & Deep Network基础上进行的改进,DeepFM的Wide部分是 FM

3.5. Deep & Cross Network(特征->cross netword+LR、DNN)

Ruoxi Wang 等在 2017 提出的深度与交叉神经网络(Deep & Cross Network,DCN)借鉴了FM的特征点击交叉。DCN 的计算图如下:

Deep and Cross Network.PNG

DCN 的特点如下:
1. Deep 部分就是普通的 MLP 网络,主要是全连接。
2. 与 DeepFM 类似,DCN 是由 embedding + MLP 部分与 cross 部分进行联合训练的。Cross 部分是对 FM 部分的推广。
3. Cross 部分的公式如下:
4. 可以证明,cross 网络是 FM 的过程在高阶特征组合的推广。完全的证明需要一些公式推导,感兴趣的同学可以直接参考原论文的附录。
5. 而用简单的公式证明可以得到一个很重要的结论:只有两层且第一层与最后一层权重参数相等时的 Cross 网络与简化版 FM 等价。
6. 此处对应简化版的 FM 视角是将拼接好的稠密向量作为输入向量,且不做领域方面的区分(但产生这些稠密向量的过程是考虑领域信息的,相对全特征维度的全连接层减少了大量参数,可以视作稀疏链接思想的体现)。而且之后进行 embedding 权重矩阵 W 只有一列——是退化成列向量的情形。
7. 与 MLP 网络相比,Cross 部分在增加高阶特征组合的同时减少了参数的个数,并省去了非线性激活函数

3.6. DIN [Deep Interest Network]对同领域历史信息引入注意力机制的MLP

以上神经网络对同领域离散特征的处理基本是将其嵌入后直接求和,这在一般情况下没太大问题。但其实可以做得更加精细。
由 Bahdanau et al. (2015) 引入的现代注意力机制,本质上是加权平均(权重是模型根据数据学习出来的),其在机器翻译上应用得非常成功。受注意力机制的启发,Guorui Zhou 等在 2017 年提出了深度兴趣网络(Deep Interest Network,DIN)。DIN 主要关注用户在同一领域的历史行为特征,如浏览了多个商家、多个商品等。DIN 可以对这些特征分配不同的权重进行求和。其网络结构图如下:

Deep Interest Network.PNG
  1. 此处采用原论文的结构图,表示起来更清晰。
  2. DIN 考虑对同一领域的历史特征进行加权求和,以加强其感兴趣的特征的影响。
  3. 用户的每个领域的历史特征权重则由该历史特征及其对应备选广告特征通过一个子网络得到。即用户历史浏览的商户特征与当前浏览商户特征对应,历史浏览的商品特征与当前浏览商品特征对应。
  4. 权重子网络主要包括特征之间的元素级别的乘法、加法和全连接等操作。
  5. AFM 也引入了注意力机制。但是 AFM 是将注意力机制与 FM 同领域特征求和之后进行结合,DIN 直接是将注意力机制与同领域特征求和之前进行结合。

3.7. FM -> FNN -> NFM -> PNN -> AFM

LR:


LR.PNG

FM:


FM2.PNG

FNN:FM隐向量 + 拼接 + MLP


FNN.PNG

NFM:FM隐向量 + 特征交叉(逐元素向量乘法)+ 求和 + MLP


NFM.PNG

PNN:与NFM类似,特征交叉法采用了向量积的方法 + 拼接 + mlp


PNN.PNG

AFM:基于NFM的改进,通过在逐元素乘法之后形成的向量进行加权求和(Attention Net),去除了MLP部分直接接一个softmax


AFM.PNG

3.8. 多任务学习:同时学习多个任务


MultiTask.PNG
- 完全共享网络层的参数
- 只共享embedding层参数

4.序列预测

循环神经网络(刻画隐含状态的关联性,可以捕捉到整个序列的数据特征)

[19]Hidasi等人使用循环神经网络进行基于session的推荐,该工作是对于RNN的一个直接应用。

[20]Brébisson等人使用神经网络模型进行解决2015年的ECML/PKDD 数据挑战题目“出租车下一地点预测”,取得了该比赛第一名。在[20]中,作者对于多种多层感知器模型以及循环神经网络模型进行对比,最后发现基于改进后的多层感知器模型取得了最好的效果,比结构化的循环神经网络的效果还要好。

在[21]中,Yang等人同时结合RNN及其变种GRU模型来分别刻画用户运动轨迹的长短期行为模式,通过实验验证,在“next location”推荐任务中取得了不错的效果。如图5所示,给定一个用户生成的轨迹序列,在预测下一个地点时,直接临近的短期访问背景和较远的长期访问背景都同时被刻画。

此外还有一些基于RNN的优化模型[https:/zhuanlan.zhihu.com/p/30720579]

原因:

展望

参考

[1].深度学习在推荐算法上的应用进展 (2017)

[2] Tomas Mikolov. Using Neural Networks for Modeling and Representing Natural Languages. COLING (Tutorials) 2014: 3-4

[3] Daoud Clarke. A Context-Theoretic Framework for Compositionality in Distributional Semantics. Computational Linguistics 38(1): 41-71 (2012)

[4] Ian Goodfellow, Yoshua Bengio and Aaron Courville. Deep Learning. Book. The MIT press.2016.

[5] Pengfei Wang, Jiafeng Guo, Yanyan Lan, Jun Xu, Shengxian Wan, Xueqi Cheng. Learning Hierarchical Representation Model for NextBasket Recommendation. SIGIR 2015: 403-412

[6] Wayne Xin Zhao, Sui Li, Yulan He, Edward Y. Chang, Ji-Rong Wen, Xiaoming Li. Connecting Social Media to E-Commerce: Cold-Start Product Recommendation Using Microblogging Information. IEEE Trans. Knowl. Data Eng. 28(5): 1147-1159 (2016)

[7] Ningnan Zhou Wayne Xin Zhao, Xiao Zhang, Ji-Rong Wen, Shan Wang.A General Multi-Context Embedding Model For Mining Human Trajectory Data. IEEE Trans. Knowl. Data Eng. :Online first, 2016.

[8] Po-Sen Huang, Xiaodong He, Jianfeng Gao, Li Deng, Alex Acero, Larry P. Heck. Learning deep structured semantic models for web search using clickthrough data. CIKM 2013: 2333-2338

[9] Ali Mamdouh Elkahky, Yang Song, Xiaodong He. A Multi-View Deep Learning Approach for Cross Domain User Modeling in Recommendation Systems. WWW 2015: 278-288

[10] Ruslan Salakhutdinov, Andriy Mnih, Geoffrey E. Hinton. Restricted Boltzmann machines for collaborative filtering. ICML 2007: 791-798

[11] Ruslan Salakhutdinov, Andriy Mnih. Probabilistic Matrix Factorization. NIPS 2007: 1257-1264

[12] Yin Zheng, Bangsheng Tang, Wenkui Ding, Hanning Zhou. A Neural Autoregressive Approach to Collaborative Filtering. CoRR abs/1605.09477 (2016)

[13] Yao Wu, Christopher DuBois, Alice X. Zheng, Martin Ester. Collaborative Denoising Auto-Encoders for Top-N Recommender Systems. WSDM 2016: 153-162

[14]Devooght R, Bersini H. Collaborative filtering with recurrent neural networks[J]. arXiv preprint arXiv:1608.07400, 2016.

[15]He X, Liao L, Zhang H, et al. Neural collaborative filtering[C]/Proceedings of the 26th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2017: 173-182.

[16] Hao Wang, Naiyan Wang, Dit-Yan Yeung. Collaborative Deep Learning for Recommender Systems. KDD 2015: 1235-1244

[17] Aäron Van Den Oord, Sander Dieleman, Benjamin Schrauwen. Deep content-based music recommendation. NIPS 2013: 2643-2651

[18] Xinxi Wang, Ye Wang. Improving Content-based and Hybrid Music Recommendation using Deep Learning. ACM Multimedia 2014: 627-636

[19] Balázs Hidasi, Alexandros Karatzoglou, Linas Baltrunas, Domonkos Tikk. Session-based Recommendations with Recurrent Neural Networks. CoRR abs/1511.06939 (2015)

[20] Alexandre de Brébisson, Étienne Simon, Alex Auvolat, Pascal Vincent, Yoshua Bengio. Artificial Neural Networks Applied to Taxi Destination Prediction. DC@PKDD/ECML 2015

[21] Cheng Yang, Maosong Sun, Wayne Xin Zhao, Zhiyuan Liu. A Neural Network Approach to Joint Modeling Social Networks and Mobile Trajectories. arXiv:1606.08154 (2016)

[22] Session-based recommendations with recurrent neural networks. (ICLR 2016)

[23] Parallel Recurrent Neural Network Architectures for Feature-rich Session-based
Recommendations. (RecSys 2016)

[24] Incorporating Dwell Time in Session-Based Recommendatons with Recurrent Neural Networks. (RecSys 2017)

[25] Personalizing Session-based Recommendations with Hierarchical Recurrent Neural Networks. (RecSys 2017)

[26] When Recurrent Neural Networks meet the Neighborhood for Session-Based
Recommendation. (RecSys 2017)

[27] Improved Recurrent Neural Networks for Session-based Recommendations. (DLRS 2016)

[28] Li J, Ren P, Chen Z, et al. Neural attentive session-based recommendation[C]/Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. ACM, 2017: 1419-1428.

上一篇 下一篇

猜你喜欢

热点阅读