书籍作者:王喆 | ISBN:9787121384646 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:6970 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
深度学习在推荐系统领域掀起了一场技术革命,本书从深度学习推荐模型、Embedding技术、推荐系统工程实现、模型评估体系、业界前沿实践等几个方面介绍了这场技术革命中的主流技术要点。
《深度学习推荐系统》既适合推荐系统、计算广告和搜索领域的从业者阅读,也适合人工智能相关专业的本 科生、研究生、博士生阅读,帮助他们建立深度学习推荐系统的技术框架,通过学习前沿案例 加强深度学习理论与推荐系统工程实践的融合能力。
王喆,毕业于清华大学计算机科学与技术系,美国流媒体公司Roku资深机器学习工程师,推荐系统架构负责人。曾任Hulu高级研究工程师,品友互动广告效果算法组负责人。清华大学KEG实验室学术搜索引擎AMiner早期发起人之一。主要研究方向为推荐系统、计算广告、个性化搜索,发表相关领域学术论文7篇,拥有专利3项,是《百面机器学习:算法工程师带你去面试》等技术书的联合作者。曾担任KDD、CIKM等国际会议审稿人。
一线大厂推荐工程师倾囊相授
教你从零开始构建前沿、实用的推荐系统知识体系
揭秘巨头公司推荐系统背后的逻辑
梳理深度学习推荐系统的发展脉络,厘清每个关键模型和技术的细节
引导读者掌握工业界模型设计背后真正的 “银弹”
诸葛越、唐杰、张俊林、刘知远、杨子等产学界专家倾情力荐,朱小强作序
推荐系统的深度学习时代
1992年,施乐公司帕拉奥图研究中心(Xerox Palo Alto Research Center)的 David Goldberg 等学者创建了应用协同过滤算法的推荐系统。如果以此作为推荐系统领域的开端,那么推荐系统距今已有28年历史。在这28年中,特别是近5年,推荐系统技术的发展日新月异。毫无疑问,为推荐系统插上翅膀的,是深度学习带来的技术革命。2012年,随着深度学习网络AlexNet在著名的ImageNet竞赛中一举夺魁,深度学习引爆了图像、语音、自然语言处理等领域,就连互 联网商业化最成功、机器学习模型应用最广泛的推荐、广告和搜索领域,也被深度学习的浪潮一一席卷。2015年,随着微软、谷歌、百度、阿里等公司成功地在 推荐、广告等业务场景中应用深度学习模型,推荐系统领域正式迈入了深度学习时代。
处于深度学习时代的推荐系统算法工程师(以下简称推荐工程师)是幸运的,我们见证了最深刻、也是最迅猛的技术变革;但某种意义上,我们也是不幸的,因为在这个技术日新月异、模型飞速演化的时代,一不小心我们就处于被淘汰的边缘。然而,这个时代,终究为对技术充满热情的工程师留下了充足的发展空间。在热忱的推荐工程师搭建自己的技术蓝图、丰富自己的技术储备时,希望本书能成为他们脑海中推荐系统技术的思维导图,帮助他们构建深度学习推荐系统的技术框架。
本书特色
本书希望讨论的是推荐系统相关的“经典的”或者“前沿的”技术内容。其中着重讨论的是深度学习在推荐系统业界的应用。需要明确的是,本书不是一本机器学习或者深度学习的入门书,虽然书中会穿插机器学习基础知识的介绍,但绝大多数内容建立在读者有一定的机器学习基础上;本书也不是一本纯理论书籍,而是一本从工程师的实际经验角度出发,介绍深度学习在推荐系统领域的应用方法,以及推荐系统相关的业界前沿知识的技术书。
本书读者群
本书的目标读者可分为两类:一类是互联网行业相关方向,特别是推荐、广告、搜索领域的从业者。希望这些同行能够通过学习本书熟悉深度学习推荐系统的发展脉络,厘清每个关键模型和技术的细节,进而在工作中应用甚至改进这些技术点。
另一类是有一定机器学习基础,希望进入推荐系统领域的爱好者、在校学生。本书尽量用平实的语言,从细节出发,介绍推荐系统技术的相关原理和应用方法,帮助读者从零开始构建前沿、实用的推荐系统知识体系。
致谢
写作本书的过程并不轻松,除了挤出几乎所有的业余时间用于写作,还需要花大量的时间查阅论文、梳理技术框架,甚至与各大公司的同行及论文的作者交流技术细节、追踪业界前沿的技术应用。在此,十分感谢为本书提供过帮助的业界同行。
感谢在写作过程中给予我极大支持和理解的妻子和女儿,你们对家庭的照顾和对我工作的支持是我完成本书的最大动力。
谢谢你们!
美国旧金山湾区 Foster City
王喆
第1章 互联网的增长引擎——推荐系统
1.1 为什么推荐系统是互联网的增长引擎
1.1.1 推荐系统的作用和意义
1.1.2 推荐系统与YouTube的观看时长增长
1.1.3 推荐系统与电商网站的收入增长
1.2 推荐系统的架构
1.2.1 推荐系统的逻辑框架
1.2.2 推荐系统的技术架构
1.2.3 推荐系统的数据部分
1.2.4 推荐系统的模型部分
1.2.5 深度学习对推荐系统的革命性贡献
1.2.6 把握整体,补充细节
1.3 本书的整体结构
第2章 前深度学习时代——推荐系统的进化之路
2.1 传统推荐模型的演化关系图
2.2 协同过滤——经典的推荐算法
2.2.1 什么是协同过滤
2.2.2 用户相似度计算
2.2.3 终结果的排序
2.2.4 ItemCF
2.2.5 UserCF与ItemCF的应用场景
2.2.6 协同过滤的下一步发展
2.3 矩阵分解算法——协同过滤的进化
2.3.1 矩阵分解算法的原理
2.3.2 矩阵分解的求解过程
2.3.3 消除用户和物品打分的偏差
2.3.4 矩阵分解的优点和局限性
2.4 逻辑回归——融合多种特征的推荐模型
2.4.1 基于逻辑回归模型的推荐流程
2.4.2 逻辑回归模型的数学形式
2.4.3 逻辑回归模型的训练方法
2.4.4 逻辑回归模型的优势
2.4.5 逻辑回归模型的局限性
2.5 从FM到FFM——自动特征交叉的解决方案
2.5.1 POLY2模型——特征交叉的开始
2.5.2 FM模型——隐向量特征交叉
2.5.3 FFM模型——引入特征域的概念
2.5.4 从POLY2到FFM的模型演化过程
2.6 GBDT+LR——特征工程模型化的开端
2.6.1 GBDT+LR组合模型的结构
2.6.2 GBDT进行特征转换的过程
2.6.3 GBDT+LR 组合模型开启的特征工程新趋势
2.7 LS-PLM——阿里巴巴曾经的主流推荐模型
2.7.1 LS-PLM 模型的主要结构
2.7.2 LS-PLM模型的优点
2.7.3 从深度学习的角度重新审视LS-PLM模型
2.8 总结——深度学习推荐系统的前夜
第3章 浪潮之巅——深度学习在推荐系统中的应用
3.1 深度学习推荐模型的演化关系图
3.2 AutoRec——单隐层神经网络推荐模型
3.2.1 AutoRec模型的基本原理
3.2.2 AutoRec模型的结构
3.2.3 基于AutoRec模型的推荐过程
3.2.4 AutoRec模型的特点和局限性
3.3 Deep Crossing模型——经典的深度学习架构
3.3.1 Deep Crossing模型的应用场景
3.3.2 Deep Crossing模型的网络结构
3.3.3 Deep Crossing模型对特征交叉方法的革命
3.4 NeuralCF模型——CF与深度学习的结合
3.4.1 从深度学习的视角重新审视矩阵分解模型
3.4.2 NeuralCF模型的结构
3.4.3 NeuralCF模型的优势和局限性
3.5 PNN模型——加强特征交叉能力
3.5.1 PNN模型的网络架构
3.5.2 Product层的多种特征交叉方式
3.5.3 PNN模型的优势和局限性
3.6 Wide&Deep 模型——记忆能力和泛化能力的综合
3.6.1 模型的记忆能力与泛化能力
3.6.2 Wide&Deep模型的结构
3.6.3 Wide&Deep模型的进化——Deep&Cross模型
3.6.4 Wide&Deep模型的影响力
3.7 FM与深度学习模型的结合
3.7.1 FNN——用FM的隐向量完成Embedding层初始化
3.7.2 DeepFM——用FM代替Wide部分
3.7.3 NFM——FM的神经网络化尝试
3.7.4 基于FM的深度学习模型的优点和局限性
3.8 注意力机制在推荐模型中的应用
3.8.1 AFM——引入注意力机制的FM
3.8.2 DIN——引入注意力机制的深度学习网络
3.8.3 注意力机制对推荐系统的启发
3.9 DIEN——序列模型与推荐系统的结合
3.9.1 DIEN的“进化”动机
3.9.2 DIEN模型的架构
3.9.3 兴趣抽取层的结构
3.9.4 兴趣进化层的结构
3.9.5 序列模型对推荐系统的启发
3.10 强化学习与推荐系统的结合
3.10.1 深度强化学习推荐系统框架
3.10.2 深度强化学习推荐模型
3.10.3 DRN的学习过程
3.10.4 DRN的在线学习方法——竞争梯度下降算法
3.10.5 强化学习对推荐系统的启发
3.11 总结——推荐系统的深度学习时代
第4章 Embedding技术在推荐系统中的应用
4.1 什么是Embedding
4.1.1 词向量的例子
4.1.2 Embedding 技术在其他领域的扩展
4.1.3 Embedding 技术对于深度学习推荐系统的重要性
4.2 Word2vec——经典的Embedding方法
4.2.1 什么是Word2vec
4.2.2 Word2vec模型的训练过程
4.2.3 Word2vec的“负采样”训练方法
4.2.4 Word2vec对Embedding技术的奠基性意义
4.3 Item2vec——Word2vec 在推荐系统领域的推广
4.3.1 Item2vec的基本原理
4.3.2 “广义”的Item2vec
4.3.3 Item2vec方法的特点和局限性
4.4 Graph Embedding——引入更多结构信息的图嵌入技术
4.4.1 DeepWalk——基础的Graph Embedding方法
4.4.2 Node2vec——同质性和结构性的权衡
4.4.3 EGES——阿里巴巴的综合性Graph Embedding方法
4.5 Embedding与深度学习推荐系统的结合
4.5.1 深度学习网络中的Embedding层
4.5.2 Embedding的预训练方法
4.5.3 Embedding作为推荐系统召回层的方法
4.6 局部敏感哈希——让Embedding插上翅膀的快速搜索方法
4.6.1 “快速”Embedding近邻搜索
4.6.2 局部敏感哈希的基本原理
4.6.3 局部敏感哈希多桶策略
4.7 总结——深度学习推荐系统的核心操作
第5章 多角度审视推荐系统
5.1 推荐系统的特征工程
5.1.1 构建推荐系统特征工程的原则
5.1.2 推荐系统中的常用特征
5.1.3 常用的特征处理方法
5.1.4 特征工程与业务理解
5.2 推荐系统召回层的主要策略
5.2.1 召回层和排序层的功能特点
5.2.2 多路召回策略
5.2.3 基于Embedding的召回方法
5.3 推荐系统的实时性
5.3.1 为什么说推荐系统的实时性是重要的
5.3.2 推荐系统“特征”的实时性
5.3.3 推荐系统“模型”的实时性
5.3.4 用“木桶理论”看待推荐系统的迭代升级
5.4 如何合理设定推荐系统中的优化目标
5.4.1 YouTube以观看时长为优化目标的合理性
5.4.2 模型优化和应用场景的统一性
5.4.3 优化目标是和其他团队的接口性工作
5.5 推荐系统中比模型结构更重要的是什么
5.5.1 有解决推荐问题的“银弹”吗
5.5.2 Netflix对用户行为的观察
5.5.3 观察用户行为,在模型中加入有价值的用户信息
5.5.4 DIN模型的改进动机
5.5.5 算法工程师不能只是一个“炼金术士”
5.6 冷启动的解决办法
5.6.1 基于规则的冷启动过程
5.6.2 丰富冷启动过程中可获得的用户和物品特征
5.6.3 利用主动学习、迁移学习和“探索与利用”机制
5.6.4 “巧妇难为无米之炊”的困境
5.7 探索与利用
5.7.1 传统的探索与利用方法
5.7.2 个性化的探索与利用方法
5.7.3 基于模型的探索与利用方法
5.7.4 “探索与利用”机制在推荐系统中的应用
第6章 深度学习推荐系统的工程实现
6.1 推荐系统的数据流
6.1.1 批处理大数据架构
6.1.2 流计算大数据架构
6.1.3 Lambda架构
6.1.4 Kappa架构
6.1.5 大数据平台与推荐系统的整合
6.2 推荐模型离线训练之Spark MLlib
6.2.1 Spark的分布式计算原理
6.2.2 Spark MLlib的模型并行训练原理
6.2.3 Spark MLlib并行训练的局限性
6.3 推荐模型离线训练之Parameter Server
6.3.1 Parameter Server的分布式训练原理
6.3.2 一致性与并行效率之间的取舍
6.3.3 多server节点的协同和效率问题
6.3.4 Parameter Server技术要点总结
6.4 推荐模型离线训练之TensorFlow
6.4.1 TensorFlow的基本原理
6.4.2 TensorFlow基于任务关系图的并行训练过程
6.4.3 TensorFlow的单机训练与分布式训练模式
6.4.4 TensorFlow技术要点总结
6.5 深度学习推荐模型的上线部署
6.5.1 预存推荐结果或Embedding结果
6.5.2 自研模型线上服务平台
6.5.3 预训练Embedding+轻量级线上模型
6.5.4 利用PMML转换并部署模型
6.5.5 TensorFlow Serving
6.5.6 灵活选择模型服务方法
6.6 工程与理论之间的权衡
6.6.1 工程师职责的本质
6.6.2 Redis容量和模型上线方式之间的权衡
6.6.3 研发周期限制和技术选型的权衡
6.6.4 硬件平台环境和模型结构间的权衡
6.6.5 处理好整体和局部的关系
第7章 推荐系统的评估
7.1 离线评估方法与基本评价指标
7.1.1 离线评估的主要方法
7.1.2 离线评估的指标
7.2 直接评估推荐序列的离线指标
7.2.1 P-R曲线
7.2.2 ROC曲线
7.2.3 平均精度均值
7.2.4 合理选择评估指标
7.3 更接近线上环境的离线评估方法——Replay
7.3.1 模型评估的逻辑闭环
7.3.2 动态离线评估方法
7.3.3 Netflix的Replay评估方法实践
7.4 A/B测试与线上评估指标
7.4.1 什么是A/B测试
7.4.2 A/B测试的“分桶”原则
7.4.3 线上A/B测试的评估指标
7.5 快速线上评估方法——Interleaving
7.5.1 传统A/B测试存在的统计学问题
7.5.2 Interleaving方法的实现
7.5.3 Interleaving方法与传统A/B测试的灵敏度比较
7.5.4 Interleaving方法指标与A/B测试指标的相关性
7.5.5 Interleaving方法的优点与缺点
7.6 推荐系统的评估体系
第8章 深度学习推荐系统的前沿实践
8.1 Facebook的深度学习推荐系统
8.1.1 推荐系统应用场景
8.1.2 以GBDT+LR组合模型为基础的CTR预估模型
8.1.3 实时数据流架构
8.1.4 降采样和模型校正
8.1.5 Facebook GBDT+LR组合模型的工程实践
8.1.6 Facebook的深度学习模型DLRM
8.1.7 DLRM模型并行训练方法
8.1.8 DLRM模型的效果
8.1.9 Facebook深度学习推荐系统总结
8.2 Airbnb基于Embedding的实时搜索推荐系统
8.2.1 推荐系统应用场景
8.2.2 基于短期兴趣的房源Embedding方法
8.2.3 基于长期兴趣的用户Embedding和房源Embedding
8.2.4 Airbnb搜索词的Embedding
8.2.5 Airbnb的实时搜索排序模型及其特征工程
8.2.6 Airbnb实时搜索推荐系统总结
8.3 YouTube深度学习视频推荐系统
8.3.1 推荐系统应用场景
8.3.2 YouTube推荐系统架构
8.3.3 候选集生成模型
8.3.4 候选集生成模型独特的线上服务方法
8.3.5 排序模型
8.3.6 训练和测试样本的处理
8.3.7 如何处理用户对新视频的偏好
8.3.8 YouTube深度学习视频推荐系统总结
8.4 阿里巴巴深度学习推荐系统的进化
8.4.1 推荐系统应用场景
8.4.2 阿里巴巴的推荐模型体系
8.4.3 阿里巴巴深度学习推荐模型的进化过程
8.4.4 模型服务模块的技术架构
8.4.5 阿里巴巴推荐技术架构总结
第9章 构建属于你的推荐系统知识框架
9.1 推荐系统的整体知识架构图
9.2 推荐模型发展的时间线
9.3 如何成为一名优秀的推荐工程师
9.3.1 推荐工程师的4项能力
9.3.2 能力的深度和广度
9.3.3 推荐工程师的能力总结
后记
同事推荐
2020-03-30 10:45:34
一直关注本书作者的专栏,受益匪浅,相比专栏文章,本书的讲解更加系统性!
2020-03-29 07:38:05
一直关注坐着的专栏,出书了支持一波
2020-03-24 09:57:51
刚到的书就有些折损,有些失望
2020-03-28 16:51:56
大佬的著作,非常棒,值得购买珍藏。
2020-03-24 09:37:36
粗看了一下,没有实战code,偏理论,差评
2020-03-29 11:24:15