深度学习不仅可以用来做推荐系统,而且未来基于机器/深度学习的推荐系统会是大趋势。

深度学习(DL)是推荐系统(RecSys)的下一个大事件一。在过去几年中,深度神经网络在计算机视觉,语音识别和自然语言处理(NLP)方面取得了巨大成功。深度学习技术也正成为解决推荐系统任务(如音乐,新闻,时尚文章和移动应用程序推荐)的强大工具。

推荐系统可以说是无处不在,我们每天直接或间接地都会在各自的数字交互中使用它们:根据我们以前的历史购买,天猫/亚马逊等推荐给我们的那本书;在 Spotify 根据我们的听歌历史生成的推荐歌单中聆听歌曲;观看视频网站为我们推荐的视频;社交网站推荐给我们的新朋友;阅读新闻媒体为我们推荐的新闻资讯···推荐系统会在浩如烟海的选项中为我们找到有价值的那个。

为何要用深度学习?

深度学习是机器学习的一个领域,它能让计算模型由多个表示和抽象处理层组成,帮助我们理解图像,声音和文本等数据。这些方法极大地提高了计算机视觉,语音识别,自然语言处理(NLP)以及药物发现和癌细胞检测等许多其他领域的最新技术水平。

是否深越好?就图像分类而言,具有数百个网络层和新颖架构的更深层的神经网络,过去几年表现出令人印象深刻的进展,将分类误差降低了多达 24 个百分点。

那对于 RecSys 的 DL 怎么样?推荐性能有可能提高吗?

深度学习是否适用于推荐系统?

我们来看看推荐系统如何从深度学习中受益。具体来说,我们将探讨如何使用卷积新神经网络(CNN),递归神经网络(RNN),深度神经网络(DNN)和自编码器(AE)来增强推荐系统的功能。

卷积神经网络(CNN)

CNN 由多层感受野组成,感受野模拟了动物的视觉感知。它们是多层感知器的变体,旨在使用最少量的预处理。CNN 感受过滤器会处理输入图像的部分,然后平铺它们的输出,使它们的输入区域重叠,以获得原始图像的更高分辨率的表示。模型中的每个网络层都重复这个过程。靠近输入图像的初始层学习基本和低级特征,例如边缘,然后是一些层学习更多高阶特征,如形状。最后一层学习语义属性,比如眼睛、轮子等,这些属性是几个类别中的关键部分。机器会在无需手工创建特征情况下学习如何表示对象。

https://pic4.zhimg.com/80/v2-798f3ededddb8be3be83fbc42f79ce20_hd.jpg

 

 

用于推荐系统的 CNN:特征学习以增强协作过滤

项目的内容特征(例如,视觉特征)在诸如时尚,零售或娱乐的多个领域中非常有价值,并且它们可以补充协作过滤算法。CNN 可用于自动提取这些视觉特征。比如,在《VBPR: Visual Bayesian Personalized Ranking from Implicit Feedback》这篇论文中(https://arxiv.org/abs/1510.01784),作者提出了 VBPR,这种种方法会重用预训练 CNN 来提取视觉特征向量,然后将其嵌入到使用 BPR 的成对矩阵分解所学习的项目因子中,并与之相结合。

 

视觉特征确实提高了AUC(BPR优化指标)测量的性能。

视觉嵌入自动发现语义关联,对于发现相似项目或解决冷启动问题很有用,其中新项目可以与相似项目区域中的现有项目配对。

 

 

基于内容的深度音乐推荐

音乐应用领域的先驱 Spotify 老早就使用 CNN 从音乐记录中提取音频特征,然后使用这些内容特征来聚类相同特征,以此生成个性化的歌单。

详情参见这篇发表于 NIPS 2013 大会的论文《Deep Content-based Music Recommendation》:

https://papers.nips.cc/paper/5004-deep-content-based-music-recommendation.pdf

 

 

循环神经网络

循环神经网络(RNN)是一类人工神经网络,神经单元之间的连接形成了一个有向循环。这会为神经网络创建一个内部状态,能让它展现出动态的时序行为。不像前馈神经网络,RNN 能用他们的内部记忆来处理输入的任意序列。这种特性让使得 RNN 网络适用于连笔字识别、语音识别或神经对话模型等任务。

 

图:循环神经网络

 

推荐系统中的RNN:基于会话的推荐

 

2016 年 ICLR 大会上,来自 Netflix 等机构的研究人员发布了一篇论文《Session-based Recommendations with Recurrent Neural Networks》,将循环神经网络应用于推荐系统,解决基于会话的推荐问题:

https://arxiv.org/pdf/1511.06939.pdf

 

 

 

推荐系统中的RNN:多任务推荐

 

2016 年 9 月,马萨诸塞大学阿默斯特分校的研究团队发表了一篇研究论文《Ask the GRU: Multi-Task Learning for Deep Text Recommendations》,作者提出了一种新方法,用深度循环神经网络将文本序列编码为潜在向量,能大幅提高推荐的精准率:

https://arxiv.org/pdf/1609.02116.pdf

https://pic2.zhimg.com/80/v2-ff3930387ac7cfa48829661675c16960_hd.jpg

 

https://pic1.zhimg.com/80/v2-1bb94db1bcff908e23314821e1bcec34_hd.jpg

 

DNN和自编码器

推荐系统中的DNN:谷歌的Wide & Deep推荐模型

 

谷歌研究团队在 2016 年提出了一个新的推荐模型 Wide&Deep,用于 App 推荐。这种新模型将深度神经网络和广义线性模型结合在一起,能同时获得记忆和泛化能力:

https://arxiv.org/pdf/1606.07792.pdf

 

推荐系统中的自编码器

去年澳洲国立大学的研究人员在论文《AutoRec: Autoencoders Meet Collaborative Filtering

》中提出了一种新的自编码器,用于推荐系统中的协同过滤:

http://users.cecs.anu.edu.au/~u5098633/papers/www15.pdf

 

结语

深度学习会大幅提高推荐系统的性能

CNN 是基于内容的特征学习的理想选项:改善冷启动问题

RNN 非常适用于基于序列的推荐,多模型学习,趋势预测和基于顺序的分布式预测等问题

最后再补充一个 GitHub 项目,汇总了近几年将深度学习应用到推荐系统所涉及的论文、博客、教程和软件:

https://github.com/robi56/Deep-Learning-for-Recommendation-Systems

用深度学习打造自己的音乐推荐系统

https://zhuanlan.zhihu.com/p/44188154

A Glimpse into Deep Learning for Recommender Systems

https://medium.com/libreai/a-glimpse-into-deep-learning-for-recommender-systems-d66ae0681775

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐