科技>计算机>网络与互联网
现代推荐算法  

现代推荐算法  "

作者:赵致辰(水哥)
ISBN:9787121454745
定价:¥109.0
字数:347千字
页数:268
出版时间:2023-05
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书深入全面地讲解了现代推荐算法,同时兼顾深度和广度,介绍了当下较前沿、先进的各类算法及其实践。本书从总览篇开始,介绍推荐系统的基本概念及工作环节。在模型篇中,除了梳理推荐系统的发展史,本书还重点讲解面向工业实践的选择及改进,为读者打下推荐系统的算法基础;进而带着读者进阶到前沿篇、难点篇,面对推荐系统中的各式问题,给出解决方案;最后在决策篇中,从技术原理和用户心理出发,解释一些常见决策背后的依据,从而帮助读者从执行层面进阶到决策层面,建立大局观。本书力求用简洁易懂的语言说清核心原理,对已经有一定机器学习概念和数学基础的学生和相关领域的从业者非常友好,特别适合推荐系统、计算广告和搜索领域的从业者及学生拓展新知和项目实战

前言

推荐序一 人工智能技术能够被用来完成多种任务,主要分为面向客观事物的任务和面向主观的人的任务。前者的典型例子是计算机视觉中的识别、检测,以及自然语言处理中的理解、翻译;后者的典型例子则是推荐、搜索、广告。 推荐技术是人工智能应用领域最贴近大众的技术之一,早已被广泛地集成在各种各样的软件中。移动互联网时代,随着人们获取信息越来越方便,推荐技术越来越重要。图形图像技术的普遍应用、视频编解码技术的成熟,以及分布式计算的突飞猛进,更是让推荐系统得以蓬勃发展的助推剂。正如书中所述,推荐系统满足了天时、地利、人和的条件,通过提供精准服务,给人们的工作和生活带来了极大便利。 回顾推荐领域的发展,可以说这是一门“既悠久,又前沿”的学科。“悠久”,是因为推荐需求的存在时间已经非常长了,在上世纪 90 年代就已存在;而“前沿”,则是因为过去十年,人工智能领域经历了巨大的变革。深度学习首先在计算机视觉领域取得举世瞩目的成绩,进而影响到推荐领域。因此,当下的推荐系统与技术和 20 年 前、10 年前,甚至 5 年前相比,有相当大的区别。推荐领域的研究不再仅仅局限于模型或单一算法的迭代,而是越来越细化,或许对系统进行一点点的纠偏就能带来很大收益。同时,推荐领域涌现了非常多的热门研究方向,也引发了人们对各种难点问题的诸多思考。 《现代推荐算法》这本书,对现代推荐领域的技术和应用进行了重新梳理。本书从应用需求和实际问题出发,翔实地介绍了推荐系统环节、具体算法模型、前沿技术与方向。此外,本书还包含解决冷启动等难点问题的技巧,多种技术选型的讨论,以及产品运营决策的建议。 作者扎实的通信与信息工程专业知识和丰富的推荐系统研发经验使得本书兼具科学性、实用性和趣味性,无论对于从事推荐系统研究的在校学生,还是工程开发技术人员,本书都可提供专业指导。在科研中,本书作者赵致辰是一个“另类”。虽然他也会积极学习已有的各种方法,但更多时候,他在面对问题时有自己的理解,也会坚持自己的想法。这种特点帮助他做过一些很有意思的工作。比如,他在本书中讲解技术方案时,加了很多个人见解和观点。正如他自己所说,这样的个人见解未必都是对的,但相关的讨论很有价值。因此,读者可能会感到阅读本书有点“难”,因为要进行深入的讨论,先得经过自己独立的思考。 作为致辰在清华大学电子工程系的硕士生导师,我非常地高兴看到他在成为推荐系统领域优秀的科技工作者的同时能致力于科学技术的知识传播——写作并出版了本书,希望这本书能影响到更多的人。 ——中国图象图形学学会副理事长兼秘书长 北京科技大学计算机与通信工程学院副院长|马惠敏 推荐序二 推荐算法从1992年提出,到2001年“Item-based Collaborative Filtering Recommendation Algorithms”这篇经典论文的发表,再到现在,已经有 31 年的时间了。随着移动互联网的持续发展和大数据的爆发,推荐算法如今已经成为各大互联网公司主流产品的标配,以至于现在很多产品在启动阶段就会评估是否需要建设推荐能力。在短视频、电商、兴趣社交、图文等多个领域的产品中,它都是最核心的竞争能力之一。 2014 年左右在我开始接触这个行业时,市场上已经有几本适合推荐系统从业者入门的书籍,比如 Recommender Systems: An Introduction、Recommender Systems: The Textbook 等,项亮在 2012 年出版的《推荐系统实践》从应用角度进行了比较好的补充。最近几年随着短视频、图文、直播的发展,硬件设备的升级,推荐算法有了很多新的变化。《现代推荐算法》这本书很难得地从当前互联网主流产品和推荐系统的真实问题出发,总结了包含阿里巴巴、字节跳动等公司最新公开的技术进展,更适合当下一线的推荐算法从业者阅读。 推荐算法工程师要求具备更为综合的能力,如机器学习、大数据、工程、算法应用等,因为不同产品业务面临的数据量级、生态问题、技术重点是很不一样的。这本书详细地论述了召回、粗排、精排等推荐系统的基础模块在最近几年的关键进展,也在多兴趣建模、探索与利用、内容和用户冷启动等现代推荐系统比较共现的经典问题上做了比较好的阐述,覆盖了当下最核心的技术问题和解决方案,对正在研究类似问题的读者具有较好的借鉴意义。 最后,推荐系统虽然是一个具备算法能力的标准化的系统,但它也需要从业者,尤其是推荐算法工程师,能在自己的业务场景下去发现问题和解决问题。之前一直和同事在讨论一个推荐算法工程师需要具备什么样的能力。我比较认同的一个观点是:推荐算法工程师 = 1 个算法人员 + 0.5 个产品人员 + 0.5 个数据分析师 + 0.5 个 研发人员直白地讲,就是除基础算法能力外,推荐算法工程师也要具备产品人员和数据分 析师的能力来发现问题,具备较好的工程能力去解决问题。 最近随着 ChatGPT 等大模型相关产品的出现,技术大爆炸给我们带来的冲击感尤为突出,相关领域的进展开始出现大的变化,推荐算法工程师需要与时俱进,不局限在现有的产品交互模式和本书介绍的一些方法上。 希望这个行业后续会有类似的突破性工作出来! ——张枫 2023 年 5 月 4 日 推荐序三 推荐技术是目前互联网行业最核心的技术之一,直接影响和决定了用户在应用上的体验和行为,在用户增长、时长和留存及广告营收上均扮演了“临门一脚”的角色。大量互联网的赢利都可以归纳为“用户时长”乘以“时长转化率”的模式,而“用户时长”通常由推荐内容的质量决定,同时“时长转化率”通常由推荐广告(或者其他赢利性内容)的质量决定。对于大体量的互联网公司,往往万分位上的提升就能给公司带来不菲的商业价值。推荐技术作为核心技术的重要性由此可见一斑,所以国内外知名的互联网公司 Google、Meta、Amazon、Microsoft、百度、阿里巴巴、腾讯、抖音/TikTok、快手、美团、拼多多等都投入了多个几百上千工程师的研发团队。 作为互联网行业炙手可热的领域,推荐领域见证了现代互联网的发展和技术革命,最先进的硬件和算法上的突破都会优先被应用到这个领域。因此推荐领域自然也成为与前沿研究和工业落地最为贴合的领域。 随着网络从 2G、3G、4G 到 5G 的一代代升级,用户的应用程序和用户的推荐模式也随之一代代升级,从网页文本类推荐到视频推荐,推荐的形态也从原来的被动推荐(由用户发起,比如搜索)到目前的主动推荐(由平台发起)。推荐的触发频次也从原来的每人每天几次到现在的几百次,如抖音、快手这类基于主动推荐的国内短视频应用每天收到的请求数甚至可以比肩 Google 这样全球性的产品。因此推荐要解决的问题的复杂性也急剧增加,主要目标从原来只需要优化少数几个用户行为的预测精度到优化几十个;从只优化用户体验到同时优化平台、用户和内容生产者三方的利益平衡和生态平衡;从主要优化用户短期的收益到优化用户的长期体验(比如用户留存)。 为了应对这样的挑战,除了硬件不断升级,推荐算法软件系统也在不断升级。在硬件上正在完成训练和推理从 CPU 到 GPU 的全面升级,算法系统从最早的 CPU 时代的基于规则的推荐系统,到后来的逻辑回归,再到现在以 GPU 为依托的深度学习模型的全面转型,随之而来的参数规模也从过去的几亿增长到现在的十万亿规模(远大于 GPT 系列的模型规模),用于推荐的计算资源在互联网公司往往占比最高,很多公司最先进的 GPU 都优先支持推荐业务。推荐模型不仅考虑用户整体的预测精度,同时还对特殊的用户群体(比如新用户、年轻用户)做定制化的优化。推荐的优化目标从点的优化拓展到考虑序列的优化。推荐的作用空间从服务端延伸到用户手机端。除了深度学习技术,很多最前沿的研究经过定制化的设计也被用于推进推荐系统,比如通过强化学习优化用户的长期体验和优化推荐序列上的综合体验;模型压缩这类还处于研究阶段的技术也被应用到推荐场景中平衡模型的精度和计算成本;隐私计算技术也被应用到用户数据的跨平台使用和手机端推荐技术中。 推荐技术的发展一直伴随和推动着互联网时代的洪流和科技发展的洪流,滚滚向前、奔流不止。毫不夸张地讲,推荐系统的演化和发展是整个互联网行业产品形态升级和最新的科技创新的时代投影。一方面,推荐领域是互联网行业最受追捧的技术领域——用当下的话来说,是一个比较“卷”的行业;另一方面,它也是相对“亲民” 的一个领域,初学者只需要基础的数理知识和编程能力就能上手(曾经我团队的一个没有推荐背景的硕士刚入职不到一年就贡献了公司 3%的广告营收增长),同时它也是一个颇有技术深度的领域,很多前沿的技术需要深度定制化才能真正产生收益,甚至需要研发全新的算法工具才能实现。最后它也是一个不断演进和推陈出新的行业,每一个从业者都需要不断地学习和摸索,所谓的“经验”在这个行业很容易被淘汰。 致辰(水哥)在 2020 年加入我在快手时的团队做推荐,虽然他以计算机视觉背景投身到推荐领域,但是在很短时间内他熟悉、精通,并且升华了推荐技术,做到了行业的技术前沿。他在快手时主导研发的 POSO 用户冷启动模型在内部多产品上取得突破性的收益,其效果甚至受到了“竞争对手”抖音的背书,据我所知,诸如 Meta 这样的国际互联网公司也正在以 POSO 为原型探索冷启动模型。 致辰是一个非常善于总结和思考的人,这本书记录了他从计算机视觉背景逐渐成长为推荐系统专家的学习和心路历程。这本书从实践出发,比较全面地涵盖了最近几年前沿的推荐技术的发展,深入浅出,兼顾了前沿性、实用性和严谨性,是不可多得的推荐领域入门教材。即便对像我这样具备一定从业经验的人来说,在读到很多章节时也受益匪浅。 最后希望这本书能够为大家顺利打开进入推荐行业的大门。 ——Meta Principal Scientist |刘霁 2023 年 3 月 20 日深夜于西雅图 Yarrow 湾南岸 推荐序四 从搜索引擎到社交网络,从电商平台到视频应用,推荐系统无处不在,是互联网行业的核心驱动力之一。它通过精准地匹配用户和内容,为用户提供个性化的服务,同时为平台创造巨大的商业价值。推荐系统从最初的基于规则和协同过滤的简单算法,发展到现在的基于深度学习和强化学习的复杂模型,不断地提升着其自身的智能和效率,也见证了互联网技术的进步和变革。 在过去的十年里,推荐系统与移动互联网的发展相互促进,共同塑造了用户的消费和娱乐方式。随着网络技术从 2G、3G 到 4G、5G 的升级,用户获取和传输数据的速度越来越快,推荐系统更快速响应和升级用户需求;随着智能手机和移动应用的普及,用户越来越方便地接触和使用各种服务,推荐系统能更方便地收集和分析用户的行为和反馈;随着内容形式从文本、图片到音视频、直播、短视频等的转变,用户越来越丰富地表达和享受自己的兴趣,推荐系统相应地更能理解和满足用户的偏好。 然而,在当下这样一个快速发展和变化的时代,推荐系统面临着越来越多的挑战: 推荐系统不仅要考虑用户的短期行为和反馈,还要考虑用户的长期兴趣和价值。比如,推荐系统要避免过度迎合用户的低俗或者有害内容偏好,要避免陷入信息茧房或者过度同质化,要引导用户探索新领域或者高质量内容。 ? 推荐系统不仅要优化单个用户的体验,还要优化整个平台的生态和社会效益。比如,推荐系统要平衡不同类型的用户、内容生产者、广告主等多方利益相关者之间的关系,要维护平台内容的多样性、公平性、透明性等。 ? 推荐系统不仅要利用现有数据和知识,还要探索未知领域和潜力。推荐系统不仅要利用现有的数据和知识来匹配用户和内容,还要探索未知或者稀缺数据和知识领域,并且利用其潜力来提升推荐效果。比如,推荐系统要解决冷启动问题、数据稀疏问题、长尾问题等。 为了应对这些挑战,推荐系统也需要不断地自我迭代,不断地引入新的技术和方法。其中,最具有潜力和前景的技术之一就是通用人工智能(AGI)技术。通用人工智能指能够像人类一样在任何领域和任务上表现出智能和创造力的技术。通用人工智能可以为推荐系统带来以下几个方面的助益: ①通过更强大的常识来提升推荐效果,特别是探索类的结果; ②通过生成式 AI 生成更丰富、更高质量、更有创意的推荐内容; ③新的推荐产品交互形式,如在对话互动中完成信息推荐。 这些都给推荐系统的未来带来无穷的遐想。 本书由水哥(赵致辰)撰写,他是我在字节跳动的同事和朋友。他不仅有丰富的计算机视觉和推荐系统的研发经验,还是一个有敏锐洞察力和创造力的人。他能够将最新的研究成果转化为实际应用,并且能够清晰地阐述自己的思路和方法。这本书就是他对推荐系统领域的总结和分享。本书涵盖了从基础理论到前沿技术,从工程实践到业界案例,从数学公式到代码实现等方面的内容,既适合初学者作为入门教材,也适合进阶者作为参考资料。 我非常荣幸能够为这本书作序,并且非常期待这本书能够给大家带来启发和帮助。我由衷地希望,能有更多年轻的同学通过这本书加入智能推荐算法的队伍。当然在技术的学习和实践中一定会遇到不少坎坷,但是,当你发现推荐系统能够在情人节这天给一位丈夫推荐一束他从来没有购买过的鲜花时,你就会相信:推荐算法真的可以让世界变得更美好。 ——阿里妈妈展示及内容广告算法总监|姜宇宁(孟诸) 写于杭州,2023 年 5 月 7 日夜 推荐序五 在如今这个信息爆炸的时代,每天都会产生海量的数据。如何帮助信息的收取者看到对他们有价值的信息,如何帮助信息的产生者对接他们的目标群体,已经成为非常重要的研究课题,而这正是推荐系统所解决的核心问题。 现在,推荐系统不仅在商业领域发挥了巨大的作用,还广泛应用于娱乐、社交网络、新闻、教育等多个领域,极大地提升了信息定向流动的效率,同时也塑造了我们今天阅读、观影甚至购物的习惯。 应当注意到,飞速发展的推荐系统技术背后主要的推动力之一就是大规模机器学习方法。作为一名研究计算机视觉的学者,我深知结合大数据和大算力的机器学习方法对人工智能领域的深刻影响。对接千万用户、吞吐海量数据的推荐系统自然是机器学习方法“大显神通”的领域。考虑到机器学习和推荐系统这两个领域都有着丰富的内涵,两者的结合更是学界和工业界最新的研究成果,要想把这两个技术融为一体、深入浅出地向读者描绘出来将是极具挑战的。非常感谢我的清华大学本科室友、才华横溢的作者水哥(赵致辰)为大家带来了这样一本既走在前沿又深入浅出的《现代推荐算法》。水哥深耕推荐系统多年,在多家互联网巨头公司参与并领导一线的推荐系统开发,具有深厚的理论功底和实践经验。从内容上讲,这本书以推荐系统的视角,从理论到实践,从算法到工程,从技术到商业,全面讲解了推荐系统的方方面面。这使得读者不仅能够了解推荐系统的原理,还能掌握实际应用的技巧,对工业界人士和感兴趣的同学们来说都是极具参考价值的。 从写作文笔上看,水哥延续了他一贯引人入胜的风格,文采飞扬,不但将技术展现得淋漓尽致,语言也是生动诙谐,让我久久不能释卷。这本《现代推荐算法》共分为 5 个篇章。 在总览篇中,水哥阐述了推荐系统的基本概念、背景知识和应用场景,帮助读者建立起对这个领域的整体认识。在模型篇中,水哥详细地介绍了推荐系统的核心算法和技术,从精排到粗排到召回,从传统的逻辑回归模型、树模型一路讲到深度学习方法,包括了 Transformer,这些内容将有助于读者深入理解推荐系统的关键技术。在前沿篇中,水哥结合一线开发的前沿动向,展示了多个正在快速发展的技术课题,如用户兴趣建模、用户画像、可解释性等。在难点篇中,水哥更是深挖当前推荐技术中尚未完全解决的困难问题,对有志于推动推荐技术向前发展的读者极具参考价值。在最后的决策篇中,水哥从更高的角度思考推荐技术,对用户行为和信息流量进行了鞭辟入里的探讨,所谓“功夫在诗外”,这部分展现了如何从产品运营角度帮助推荐技术在商业上取得成功,其中对技术视角的介绍是一个重要的补充。 作为一名人工智能领域的学者,我相信这本书将对推荐系统技术的普及、发展及其与机器学习技术的结合产生积极的影响,同时也将给广大读者的学习和工作带来极大的帮助。 最后,我衷心地祝愿这本《现代推荐算法》能够在学术界和工业界引起广泛关注,成为普及推荐系统技术的经典之作。同时,我也期待着水哥在未来能够持续为我们带来更多关于人工智能领域的优秀著作。 敬请各位读者品鉴。 ——北京大学计算机学院助理教授、博士生导师|王鹤 2023 年 4 月 29 日 推荐语 当下,推荐算法已经得到非常广泛的应用,进而影响到大家生活的很多方面,也或改变、或更新了很多商业模式。相应地,人们对推荐系统的需求和复杂度的要求达到了一个前所未有的高度,推荐系统所用的技术正在经历巨大的变革。作为推荐领域的从业者,我们需要重新审视和理解推荐系统,本书的出版恰合时宜。本书全面地阐述了大规模现代推荐系统所遇到的各种问题,包括其难点和痛点,同时细致地介绍了前沿算法、业界新进展及作者本人的深度思考。我相信本书对推荐领域的从业者在业务知识的补充和职业方向的选择等方面会有很不错的助益。 ——抖音推荐负责人|刘作涛 本书是一部探讨推荐系统核心技术与实践应用的精彩之作。作者以在字节跳动广告推荐领域的实战经验为基础,在本书中生动地阐述了推荐系统的全链路及模型,以及其对前沿技术的独到见解。本书既有理论深度,又有实践指导价值,强烈建议给关心推荐系统研究与应用的朋友们阅读。 ——字节跳动前视觉技术负责人|王长虎 通读本书,不仅能领略推荐系统的发展进程,理解各阶段的技术思路,还能在各个细节之处发现惊喜。本书蕴含诸多独到的见解,值得用心体会。 ——快手推荐算法副总裁|周国睿 与诸如计算机视觉等机器学习不同,推荐面对的对象不是客观的物体,而是用户。在互联网时代,对用户的理解是不可或缺的。本书凝结了作者对推荐领域的思考、对用户的认识,内含作者的独到见解,读后有很大帮助。 ——清华大学博士|陈晓智 本书深入浅出地介绍了现代推荐系统的核心技术,全面剖析了推荐系统的基础模型、技术前沿和难点问题。本书行文幽默诙谐、言必有物,是一本难得的推荐系统入门和工业实战佳作。 ——AMD 高级软件研发经理|李栋 《现代推荐算法》一书以通俗易懂的语言解释了推荐系统中的各种复杂技术和算法,凝结了作者在该领域的长期积累和深刻洞见,非常适合于想要学习推荐系统的初学者和从业人员,它不仅可以帮助读者建立推荐系统的基础知识,还可以帮助读者深入了解推荐系统的各种算法和应用场景,我强烈推荐这本书给所有对推荐系统感兴趣的读者。 ——卡耐基梅隆大学博士后 Sea AI Lab 研究员|许翔宇 本书深入浅出地介绍了推荐系统的理论知识及产品应用,新手能从中学习到丰富的推荐系统知识,已经从事推荐行业多年的人再读也会颇有启发。我诚挚地向想了解推荐系统和想进一步深入研究推荐系统的读者推荐此书。 ——旷视科技高级研究员|刘宇 阅读本书使得我们对互联网推荐系统有了更加深刻的理解,本书内容覆盖全面,从技术架构、算法细节到用户理解、运营逻辑等均有涉猎,对于相关从业人员的进阶修炼大有益处,同时也为广大普通用户了解自己常用的信息获取平台的背后推荐机制提供了有效入口。 ——清华大学未来实验室助理研究员|路奇 对于想要深入了解推荐系统的人来说,《现代推荐算法》这本书是一个非常好的选择。该书介绍了推荐系统的基本原理、常用算法以及实现技术,并提供了详细的案例研究和实践经验。无论你是一名学生、研究人员还是工程师,这本书都会为你提供丰富的知识和实用的指导,让你能够更好地设计和实现推荐系统,为用户提供更好的推荐服务。 ——思谋科技总经理|苏驰 前言 在介绍本书之前,请允许我先讲一段当推荐算法工程师时令我自己最满意的工作经历。因为这段工作经历让我找到了与模型的相处方式,或者说得到了一个职业“秘籍”,之后我在工作中遇到的很多难题都是通过这个“秘籍”解决的,这个“秘籍”也会贯穿全书,帮助大家更好地理解和把握推荐系统的本质,助力职业发展。 这段工作经历涉及两个不同的域,我们用 A 域和 B 域来表示。A 域的样本很常见,也经常被研究,因此基于 A 域数据训练的模型预估性能很好;而 B 域的数据难以采集,样本质量也不够理想。在某种需求下,我们希望模型既能识别 A 域的样本,又能进行 A 域和 B 域之间相同样本的比对。由于 B 域中的样本质量很差,直接跨域对比效果不理想。 为了便于理解,这里举个例子,A 域是汉语,B 域是英语,我们要做的任务是判断两个句子的含义是否相同。比如汉语中“在原来的荒山野岭上,经过十二年的时间,他用双手奇迹般地创造了这蒙着如丝细雨显得格外郁郁葱葱的大片森林””“他用 12年把渺无人烟的荒地变成了一片绿色的海洋”,而英语的表述是“After 12 years, he transformed the wasteland as a huge forest”,我们可以看出,这三个句子说的是同样的意思。该任务既涉及中文句子间的相互比对,又涉及中文和英文句子间的比对,额外的困难之处在于,由于设备采集原因,B 域的句子很多是残缺的,缺少一些词,语义容易模糊,这就给解决问题带来了难度。 笔者一开始尝试同时训练中文句子间比对和中英文句子间比对的两个任务。由于中文的语料非常丰富,中文句子间的比对效果很好。难题发生在中文句子和英文句比对之间,由于缺失了一些词,模型性能异常,它遇到了一个复杂问题,无所适从,只能根据过去的习惯来强行拟合,但效果并不好,项目因此陷入了瓶颈。 笔者隐隐觉得,模型此时的处境和人很像:在我们求学的过程中,要先学会基础代数,才能学微积分,接着才能学懂机器学习。对于一个没有高等数学背景的学生,要求他学习机器学习会如何呢?他会随意猜测,就和模型一样产生强行拟合的问题。因此,笔者决定像对待一个人一样对待自己的模型,首先,学习应该是循序渐进 的,学习的目标要拆解开。具体来说,加入一个辅助任务,让模型先学会英文句子间的比对。在学习该任务的过程中,将两个分别遗失不同信息的句子对应在一起,在这个过程中,模型能够学到“在英文句子中哪些信息是重要的”。等过了这个阶段,模型学会了这个辅助任务,再进行中英文句子比对。此时模型已经学会了避免把判断的依据全放在那些容易缺失的词汇上,中文和英文句子之间的比对就简单了很多。有了辅助任务的加持,模型的性能一下子就提升了不少,中英文句子对比的效果甚至能和中文句子间的对比差不多。 沿着这个思路,接下来会发生什么呢?等到我们已经学会机器学习的知识之后,还有必要再继续做微积分的题目吗?肯定是不需要的,生活中也没人这么做。同理可得,当模型已经学会提炼英文句子中的关键信息,并能做到中英文句子比对之后,继续学习英文句子间比对的意义可能不大了。于是在确认模型已经逐渐收敛之后,笔者去掉了辅助任务,发现模型的效果还能再提升一些。最终,笔者总结出一个“先用辅助任务过渡,再去掉辅助任务,并专注于目标任务”的模型训练方式,按照这个方式训练模型成功的概率很高。 从这次工作经历中提炼个最关键的点,就是把机器学习的模型当成人来看待,用生活中观察到的经验帮助我们认识、理解和运用模型。 把模型当成人来看待 拟人化是我从业以来最常使用的方法。很多人会说,神经网络是个“黑盒子”,里面发生了什么,既难以控制,也不易解释。但我觉得可以从一个简单的角度来看待模型,比如,把它看成一个“学生”。打个比方,有一个很复杂的问题,学生经过一番苦算,终于得到一种结果。此时我们问他:“这样的结果置信吗?需不需要重新验算一遍?”于是他又从头开始计算,得出了另一种结果。现在我们再问他:“这两个结果哪个更好?”他认为两个都不够理想。“那么如何得到更好的结果?”他想了想,把两个结果综合(求和或投票)起来作为最终结果。经过综合的结果果然比任何一个都好。这也可用于理解集成学习(Ensemble Learning)。 不做“温室里的花朵” 推荐算法工程师经常遇见的问题是:某个特征因为在训练和部署时的抽取方法不一样,导致训练时的覆盖度很高(如 99%以上),部署时的覆盖度却很低(10%~20%)。这样模型的表现就会变得很差。这类问题的专业说法叫作“线上、线下不一致”。训练时,特征的覆盖度高,预估很容易,模型就会待在自己的舒适区。可在实际部署时,缺失特征的问题就像一场意外的暴雨,事先根本没有做好准备,作为“温室里的花朵”的模型该如何承受呢?这就是数据增强(Data Augmentation)能改善模型性能的原因。在计算机视觉任务中,数据增强方法包括把图片裁剪为一个片段,在图片上施加噪声,以及把图片旋转一定角度等。这样做就是让模型在训练时把各种奇奇怪怪的例子都经历了,从而就能适应更困难的环境,等到真正应用时就能克服更多的困难。 精准地描述需求,既不欠缺,也不超出作为“学生”,模型会有注意力集中或不集中的时候,也会顾此失彼,就是能力终究有限。我们把样本丢给它,让它学习,它会尽力完成任务,但在这个过程中,也会暴露一些“人性”弱点。如果任务设定的要求太高,它可能就直接“自暴自弃”,出现很奇怪的行为,甚至连低一些的要求都无法达到。这种情况常见于任务难度远远超出模型能力的情况,例如,让一个很小的端上①模型分辨双胞胎的图片,最后可能会发现模型预测的结果很混乱,连一般情况的人脸都难以区分。反过来,如果要求太宽松, 模型又会“洋洋自得”。对于每个样例,它都认为当前已经学习得够充分了,不会主动把精力花在那些难以预测的例子上。 推荐算法工程师往往在扮演一位严厉的“老师”,不停地纠正模型任何试图“偷懒”或“注意力不集中”的问题。有一点是我想强调的:在网络训练的最终阶段,损失函数的数量应该等于且仅等于任务数量。学生要完成什么目标应该是老师准确定义的,因此,作为“老师”的推荐算法工程师应该既不让模型做无关的任务,也不能让它忽略必要的任务设定。这句话还有一个另一种说法:在网络训练未收敛的阶段,可以增加辅助任务,暂时不引入最终任务。 关于本书 本书是一本讲解现代推荐系统、推荐算法的图书。与市面上现存的一些书不同,本书并不涉及具体代码,也不讲解某个架构如何实践剖析,包括本书的两大核心部分是模型和算法。模型是算法中最主要的部分,也是笔者最擅长的部分。除了梳理模型发展的历史,我们更关注背后的思想,面对什么样的问题应该选择什么样的模型,如何做出适合当前场景的改进。本书旨在全面介绍现代推荐系统中所需要的各种算法,并深入解析当下最前沿、最先进的算法及其实践应用,让读者快速掌握前言的发展动态。 本书的主要内容 本书的具体布局如下。 首先我们在总览篇中介绍推荐系统的基本概念和近年来它越来越重要的原因,以及基本的环节。推荐系统演变至今,已经形成一套复杂的链路。想要进入推荐系统相关行业,首先得理解这些基本环节在整个链路中所发挥的作用,以及各个环节之间如何协调。这一篇是整本书的基础,也是从业者入行的第一步。模型作为机器学习的基石,在推荐系统中扮演着重要的角色。尤其在深度学习爆火之后,以神经网络为主的模型已经出现在了推荐系统中的各个环节。从深度学习之前的模型,到目前最新的结构,都将被梳理在模型篇中。具备这些基础知识之后,从业者就能更轻松地解决实际工业生产中的问题,做出更正确的策态。经过一段时间的研究和发展,一些问题逐渐聚合在一起,形成一个个子领域。这些子领域代表了当下业界的前沿方向,因此我们以前沿篇来总结归纳。前沿篇中的问题虽然有难度,但总能找到不错的解决方案。此外,还有一些目前业界没有定论、可 能需要顶尖的技术人员来解决的问题,汇总在难点篇中。立志在推荐算法领域中做出成绩的读者,可以通过这两篇学习推荐系统的核心理论和实践应用,找到灵感。最后,我们对推荐系统整体的理解、对平台与用户的理解最终都会体现为一些关键的决策。在决策篇中,我们从技术原理和用户心理出发,解释一些常见决策背后的 依据。策略也是算法,而且往往是从更宏观的角度出发所提出的算法。对技术人员来说,本篇可以拓宽视野,帮助读者从执行层面进阶到决策层面;对产品运营人员来说,本篇可以解释决策背后的原理,加深理解。 除了知识介绍,书中有大量我个人对推荐系统中问题的理解。就像上面所说的,在当前阶段,很多问题没有定论,这些理解作为我一家之言也未必全对,但我希望这些理解能引发读者更多的思考和开放性的讨论。 由于本书不涉及基础的机器学习概念和数学知识,所以对于还没有深入了解过机器学习的读者,笔者建议先补充一下相关知识;对于已经有一定基础知识的学生和相关领域的从业者,笔者强烈建议阅读本书,本书中不仅有对技术点背后原理的分析,还有对当下领域发展的总结和展望。 作者 2023年5月

目录

总览篇 第 1 章 推荐系统概述 ............................................................................................. 2 1.1 推荐系统是什么 .......................................................................................... 2 1.2 推荐系统发展的天时、地利、人和 .......................................................... 4 1.2.1 天时 .................................................................................................. 6 1.2.2 地利 .................................................................................................. 6 1.2.3 人和 .................................................................................................. 7 第 2 章 现代推荐链路 ............................................................................................. 9 2.1 召回、粗排、精排——各有所长 .............................................................. 9 2.2 召回、粗排、精排——级联漏斗 ............................................................ 13 2.3 打压、保送、重排——拍不完的脑袋 .................................................... 20 模型篇 第 3 章 精排之锋 ................................................................................................... 25 3.1 简单“复读机”——逻辑回归模型 ........................................................ 25 3.2 工业逻辑回归模型的稀疏性要求 ............................................................ 29 3.3 FM 的一小步,泛化的一大步 ................................................................. 34 3.4 多彩的 FNN/PNN/ONN/NFM 世界 ......................................................... 37 3.5 高阶交叉 ................................................................................................... 41 3.6 工具人 GBDT ............................................................................................ 45 3.7 嵌入表示亦福亦祸,树模型的新机遇 .................................................... 49 3.8 DNN 与两大门派,“一念神魔”与功不唐捐 ........................................ 53 3.9 再论特征与嵌入生成 ................................................................................ 58 3.10 机器学习唯一指定王牌技术——注意力机制 ...................................... 62 3.11 注意力机制的几种写法 .......................................................................... 65 3.12 Transformer 的升维打击 ......................................................................... 69 第 4 章 粗排之柔 ................................................................................................... 72 4.1 粗排存在与否的必要性 ............................................................................ 73 4.2 粗排复杂化的方法 .................................................................................... 73 4.3 Pair-wise 与 List-wise ................................................................................ 74 第 5 章 召回之厚 ................................................................................................... 76 5.1 u2i 之双塔进击史 ..................................................................................... 76 5.2 i2i 及 u2u2i 方案 ....................................................................................... 81 5.3 近似搜索概览 ............................................................................................ 85 5.3.1 向量量化类方法 ............................................................................ 86 5.3.2 基于图的搜索 ................................................................................ 87 5.4 树模型与类树模型的冲击 ........................................................................ 89 第 6 章 模型迭代的术与道 .................................................................................... 93 6.1 什么是“老汤模型” ................................................................................ 93 6.2 模型迭代的“术” .................................................................................... 96 6.3 模型迭代的“道” .................................................................................... 98 前沿篇 第 7 章 用户兴趣建模 ......................................................................................... 101 7.1 从百到万的用户长期兴趣建模 .............................................................. 101 7.1.1 从百到千 ...................................................................................... 102 7.1.2 从千到万 ...................................................................................... 102 7.2 用户多峰兴趣建模 .................................................................................. 104 第 8 章 多任务学习 ............................................................................................. 107 8.1 多任务学习的实践意义 .......................................................................... 107 8.2 多任务学习的基本框架 .......................................................................... 110 8.3 平行关系建模——MMoE 类方法 ......................................................... 113 8.4 非平行关系建模,任务间的因果 .......................................................... 117 第 9 章 非梯度场景 ............................................................................................. 121 9.1 线上与线下的鸿沟 .................................................................................. 121 9.2 弱个性化 CEM,强个性化强化学习 .................................................... 124 9.3 探微参数与性能的关系,把点连成面 .................................................. 128 第 10 章 探索与利用 ........................................................................................... 133 10.1 为什么要探索与利用 ............................................................................ 133 10.2 探索的本质是巧妙“贪心” ................................................................ 136 第 11 章 后精排环节 ........................................................................................... 139 11.1 定义多样性问题,简单的形式与复杂的标准 .................................... 139 11.2 DPP 算法与多样性 ............................................................................... 142 11.3 考虑上下文的重排序 ............................................................................ 144 第 12 章 推荐中的偏差与消除............................................................................. 147 12.1 各种各样的偏差 .................................................................................... 147 12.2 流行度偏差的消除 ................................................................................ 148 12.3 位置偏差的消除 .................................................................................... 151 第 13 章 自动机器学习技术 ................................................................................ 155 13.1 网络结构搜索与网络微操的探索 ........................................................ 155 13.2 特征的搜索 ............................................................................................ 159 13.3 模型压缩 ............................................................................................... 161 第 14 章 图计算 .................................................................................................. 165 14.1 数据结构的终极 .................................................................................... 165 14.2 GNN 的极简发展史 .............................................................................. 168 14.3 物料非原子化,建模转向图 ................................................................ 171 难点篇 第 15 章 延迟转化 ............................................................................................... 175 15.1 转化与广告机制 .................................................................................... 175 15.2 转化的分解 ............................................................................................ 177 15.3 其他角度 ............................................................................................... 178 第 16 章 物料冷启动 ........................................................................................... 181 16.1 “多模态之石,可以攻玉” ................................................................ 181 16.2 预排序向左,个性化向右 .................................................................... 184 16.3 流量分配,“普度众生”还是“造神” .............................................. 188 第 17 章 用户冷启动 ........................................................................................... 191 17.1 元学习,对模型拔高的要求 ................................................................ 191 17.2 初始化的基底分解与生成 .................................................................... 195 17.3 POSO,首个从结构角度改善用户冷启动的模型 .............................. 197 17.4 精品池:抓住人性需求 ........................................................................ 201 第 18 章 因果推断 ............................................................................................... 204 18.1 当分布不够用时 .................................................................................... 204 18.2 寻找“工具人”,将因果推断直接应用于推荐 ................................ 209 第 19 章 长尾优化 ............................................................................................... 212 决策篇 第 20 章 流量 ...................................................................................................... 218 20.1 重新认识流量 ........................................................................................ 218 20.1.1 流量区分快慢 ............................................................................ 219 20.1.2 流量区分成本高低 .................................................................... 220 20.1.3 流量是盲目的 ............................................................................ 220 20.1.4 流量是有“圈子”的 ................................................................ 221 20.2 时间的研究 ............................................................................................ 222 第 21 章 分层 ...................................................................................................... 224 21.1 你必须理解的物料生命周期 ................................................................ 224 21.2 你必须理解的用户分层 ........................................................................ 228 21.3 三阶段让用户为我“死心塌地” ........................................................ 231 第 22 章 实验现象与回收 .................................................................................... 234 22.1 决策上线的黄金法则 ............................................................................ 234 22.2 “临门一脚”,结果真的置信了吗 ...................................................... 237 22.3 不万能的 A/B 实验和难以归因的反转 ............................................... 239 22.4 线上和线下的对齐——无穷逼近 ........................................................ 241 后记 ....................................................................................................................... 243 参考文献 ............................................................................................................... 244

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个