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

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

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

为何要用深度学习?

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

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

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

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

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

卷积神经网络(CNN)

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

用于推荐系统的 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

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

近些年deep learning在推荐系统的应用相关推荐

  1. 基于Wide Deep Learning的推荐系统

    我们先来看下Google Inc的paper:Wide & Deep Learning for Recommender Systems. 一.介绍 推荐系统可以看成是一个搜索排序系统,其中输入 ...

  2. Google推荐系统Wide Deep Learning for Recommender Systems论文翻译解读

    Wide & Deep Learning for Recommender Systems 推荐系统中的Wide & Deep Learning 摘要 Generalized linea ...

  3. 《Deep Learning With Python second edition》英文版读书笔记:第十一章DL for text: NLP、Transformer、Seq2Seq

    文章目录 第十一章:Deep learning for text 11.1 Natural language processing: The bird's eye view 11.2 Preparin ...

  4. Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)

    注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线, 也就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事 ...

  5. 深度学习经典论文deep learning!入门必读!:deep learning yann lecun 深度学习

    深度学习 YannLeCun, Yoshua Bengio & Geoffrey Hinton 深度学习能够让多层处理层组成的计算模型学习多级抽象的数据的表达.这些方法极大地提高了语音识别,视 ...

  6. 几何深度学习(Geometric Deep Learning)技术

    几何深度学习(Geometric Deep Learning)技术 几何深度学习综述 从论文Geometric Deep Learning: Grids, Groups, Graphs, Geodes ...

  7. 笔记 | 吴恩达Coursera Deep Learning学习笔记

    向AI转型的程序员都关注了这个号☝☝☝ 作者:Lisa Song 微软总部云智能高级数据科学家,现居西雅图.具有多年机器学习和深度学习的应用经验,熟悉各种业务场景下机器学习和人工智能产品的需求分析.架 ...

  8. Deep Learning(深度学习)相关网站

    Deep Learning(深度学习) ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习): ...

  9. 简明深度学习方法概述 Deep Learning:Methods and Application

    简明深度学习方法概述 Deep Learning:Methods and Application  人工智能  小林子  7个月前 (03-05)  2558℃  0评论 作者:@神一手golden ...

  10. #论文 《Wide Deep Learning for Recommender System》翻译

    只是为了深化个人理解,翻译了一下梗概.不追求信达雅,只翻译大意. 概要: 使用非线性特征的广义线性模型(GLM)广泛应用在大规模,输入变量稀疏的回归和分类问题中.其中,通过关于交叉特征的wide模型, ...

最新文章

  1. Autodesk MotionBuilder 2020中文版
  2. C#中如何复制窗体到另一个项目
  3. 如何打开 Mac 的摄像头?
  4. 微软Azure Services Bus中的工作流
  5. Linux 访问控制列表(access control list)
  6. Python的Numpy库下载及安装
  7. 蓝鸽集团云计算机,‎App Store 上的“蓝鸽教育云”
  8. ens32文件空白(没有ens33文件)
  9. HAA2018A_音频功放规格书_V1.2
  10. 【Opencontrail】opencontrail对接k8s
  11. 超声波传感器测距实验
  12. Java后台调用高德地图api返回{status:0,info:UNKNOWN_ERROR,infocode:20003}
  13. 单片机c语言课后题答案,单片机原理及应用(C语言版)习题答案.doc
  14. 如何判断如何判断RS232线是直连还是交叉连线
  15. 不同性质的公司在英文中不同说法
  16. WPS如何实现整行数据行间随机排序
  17. 笔记本电脑f11功能键_笔记本电脑F1~F10键原来还有这些功能,以前都不知道!
  18. 【SwiftUI模块】0033、SwiftUI创建用户双击帖子时的心形动画
  19. 迈瑞医疗测试实习岗面试(已拿offer)
  20. 微信小程序消息推送功能开发(java实现)

热门文章

  1. 微信解绑手机号服务器会保留吗,我把我的微信号给了别人,银行卡都解绑了,但手机号还在绑定,会不会有危险...
  2. c语言if的判定条件,if条件判断语句,谁能帮我分析一下?
  3. c++中new和delete
  4. Android Measure测量实际应用心得(一)
  5. ServletContextListener小小总结
  6. 如约而至!第二期 Flink 极客训练营上线啦
  7. wxpython grid设置字体颜色_Ext grid改变行背景颜色 和改变行字体颜色
  8. 接收xml参数_如何解决SpringMVC接收到的请求参数为乱码的问题
  9. spark学习——(二)spark基础环境配置-linux(1)
  10. go 语言随机数的生成