深度学习推荐系统实战
王喆
Roku资深机器学习工程师,推荐系统架构负责人,前Hulu高级研究员,《深度学习推荐系统》作者
新⼈⾸单¥19.9
1589 人已学习
课程目录
已更新 3 讲 / 共 33 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词|从0开始搭建一个深度学习推荐系统
免费
基础架构篇 (2讲)
01|深度学习推荐系统的经典技术架构长啥样?
02|Sparrow RecSys:我们要实现什么样的推荐系统?
深度学习推荐系统实战
15
15
1.0x
00:00/13:21
登录|注册

开篇词|从0开始搭建一个深度学习推荐系统

王喆 2020-09-21
00:00
1.0x
讲述:王喆 大小:12.24M 时长:13:21
你好,我是王喆,在一家硅谷的科技公司 Roku 担任机器学习工程师。
Roku 是美国最大的视频流媒体平台,在美国智能电视市场占比超过 1/3。我作为推荐系统的架构负责人,在最近两年多的时间里,跟团队一起搭建了一整套深度学习推荐系统,相比于传统推荐系统,它在播放时长、点击率等效果指标上取得了 30% 以上的提升。
在这个过程中,我和团队踩过不少“坑”,也总结了很多经验。其中最宝贵的一点是,只有建立起深度学习推荐系统的知识体系,从系统的层面考虑问题,我们才能够实现整体效果上的优化。与此同时,我还发现越来越多的在校生和刚入行的工程师,想要熟悉或者是在深度学习推荐系统领域取得进一步的发展,但经常因为缺少系统的学习机会而困在一两个难点上,停滞不前。
比如说,一些对深度学习推荐系统非常感兴趣的在校生,很希望能有前辈带领他们熟悉业界的热门技术,让他们在进入相关领域前就积攒起足够的工程经验。这种想法是非常好的。我也面试超过两三百位应届生了,以我的经验,最让企业青睐的应届生就是动手能力强、有实习经验、有业界项目经验的。但这种锻炼自己的机会却很难找到。
再比如说,一些已经进入推荐、广告、搜索相关部门,但是时间不长,或者正要转行进入这些行业的工程师。他们想要自主承担起某个模块的开发任务,期待扩展自己的技术视野和格局,向更高级的职位进发。但这需要他们建立一套成体系的知识和实践框架。
我是一个十分赞同开源思想并且乐于分享知识的人。既然有那么多同行都有这样的需求,我为什么不把我建立行业知识体系的过程分享出来呢?所以在 2020 年初,我发布了新书《深度学习推荐系统》,希望这本书能帮助一些同学建立深度学习推荐系统的知识体系。令我没想到的是,这本书在半年之内就重印了 7 次,销量接近 2 万册,豆瓣评分达到了 9.3,这对于一本技术书来说是非常难得的。
新书获得肯定的同时,我也收到了很多读者的反馈,最多的一点是“书中的知识非常体系化,帮助我建立了整个行业的知识蓝图,但如果能有配套的实践项目就更完美了”。
就像 Linux 之父 Linus Torvalds 说的那句话:“Talk is cheap. Show me the code.”,实践对于工程师来说永远是最重要的。所以我就趁热打铁,在极客时间上开设了一门更偏重实战的技术专栏。我想这是一次绝佳的机会,与你一同从“0”开始,搭建一个“工业级”的“深度学习”推荐系统,做到知识和实践两手抓!

深度学习的浪潮,推荐系统的时代

在跟你聊了开设这门课程的初心之后,我觉得很有必要把我们的视野放得更宽一点,看看我们这个时代到底是怎么被推荐系统影响着,推荐系统又是怎么在深度学习的浪潮之中“乘风破浪”的。
毫无疑问,推荐系统从来没有像现在这样影响着我们的生活。想上网购物,天猫、京东的推荐系统会帮你挑选商品;想了解资讯,头条、知乎的推荐系统会为你准备感兴趣的新闻和知识;想消遣放松,抖音、快手的推荐系统会为你奉上让你欲罢不能的短视频。
而驱动这些巨头进行推荐服务的,都是基于深度学习的推荐模型。
2013 年,百度率先在广告系统中应用了深度学习,2015 到 2020 年,阿里提出并应用了从 MLR 到 DIEN 等一系列的深度学习模型。国外的互联网巨头也不逞多让,从最早的 Google 的 Word2vec,到 2015 年 YouTube 的深度学习推荐系统,再到之后的 Facebook、Amazon、微软等等,几乎所有头部公司的成功应用,让深度学习如后浪般席卷了推荐系统业界,将传统的推荐模型彻底取代。
更让人感叹的是,字节跳动在 2020 年 1 月 5 日发布的一份《抖音数据报告》中宣布,抖音日活用户突破了 4 亿。要知道,这距离抖音 2016 年 9 月上线仅过去了 3 年多一点的时间。作为一个几乎完全由推荐系统驱动的应用,这样的增长速度是惊人的,是前所未有的。而字节跳动技术团队曾经披露的,深度学习在推荐算法、视频内容理解、自然语言处理等方向上的应用,则又一次向我们印证了深度学习的强大实力。

深度学习时代,推荐工程师的职业发展方向在哪?

随着推荐系统的快速发展,在深度学习时代,推荐工程师又该如何选择自己的职业发展方向呢?
推荐工程师的工作,本质上是利用一切可能的技术手段来提升推荐系统的效果,从而不断达到甚至超越企业的商业目标。
举个例子,2019 年,阿里著名的千人千面系统驱动了天猫“双 11”2684 亿元的成交额。假设我们通过改进天猫的商品推荐功能,让平台整体的转化率提升 1%,那么在 2684 亿元成交额的基础上,我们就能再增加 26.84 亿元。 也就是说,推荐工程师仅通过优化推荐技术,就创造了 26.84 亿元的价值。这无疑是这个职位最大的魅力所在,也是它能够支撑起百万年薪最重要的原因。
1% 听起来很小,但是想要在一个成熟的推荐系统上,找到能够提升的突破点并不容易,这需要我们动用所有的领域知识储备。一位推荐工程师优秀与否,也就是在这个时候体现出来的。
在所有业界巨头的推荐引擎都由深度学习驱动的今天,作为一名推荐系统从业者,我们不应该止步于,或者说满足于继续使用协同过滤、矩阵分解这类传统方法,而应该加深对深度学习模型的理解,加强对大数据平台的熟悉程度,培养结合业务和模型的技术直觉,提高我们整体的技术格局,这些都是我们取得成功的关键。
可能你最近经常听说“算法工程师的知识更新太快,一不小心就处在被淘汰的边缘”。但我始终坚信一点,人才的分布都是金字塔式的,与其抱怨金字塔底座为什么这么宽,不如努力提高自己的知识储备、工程能力和技术视野,哪怕只是向金字塔的塔尖前进了一步,我们也超越了最宽的那个底座,不是吗。
因此,我希望在这门课里与你一起建立的,是深度学习推荐系统的整体架构。这对我来说也是个不小的挑战,因为它几乎需要我输出所有的工作经验和知识储备。当然,对你来说肯定也是个挑战,因为一定有很多新知识需要补充到自己的知识框架中。但我相信我们的目标一定是一致的,就是在深度学习时代,在推荐系统这个行业开拓视野、站稳脚跟。

这门课是怎么设计的?

一句话来说,这门课程是一门知识与实践并重的课程,通过解决 30+ 个深度学习推荐系统问题,不仅能串联起深度学习推荐系统的知识体系,还能帮你实打实地收获一套经过实践验证过的开源代码,从而让你也能实现一个工业级的深度学习推荐系统。
注意了,这里面有几个关键词,分别是“知识体系”“深度学习”“工业级”“实战”。没错,我们的课程就是围绕这几个关键词展开的。我遵循一个经典推荐系统的框架,把课程分为 6 个部分,分别是“基础架构篇”“特征工程篇”“线上服务篇”“推荐模型篇”“效果评估篇”“前沿拓展篇”,其中的每节课,我们都会着重解决一个技术难点。
基础架构篇:从 0 出发,建立深度学习推荐系统的知识体系
在开始学习这门课之前,我对你的要求有两个,一是有一定的编程基础,二是有基本的机器学习概念知识。在此基础上,我们通过基础架构篇的学习,就能建立起深度学习推荐系统的完整知识架构,做到“心中有蓝图、心中有高楼”。
具体来说,在基础架构篇中,我会详细讲解我们要从 0 开始实现的推荐系统,Sparrow RecSys 的主要功能和技术架构。由于缺少工业级的实验环境,Sparrow RecSys 不可能是一个真正的工业级推荐系统,但是它的每一行代码都是严谨的,其中的每个方法都是经过业界验证的主流方法。并且,我们还会使用到 Spark、Flink、TensorFlow 这些业界目前最流行的机器学习和大数据框架,麻雀虽小,但五脏俱全。
特征工程篇:又快又好,用心准备推荐系统的“食材”
在特征工程篇中,我会和你一起讨论推荐系统会用到的特征,以及主要的特征处理方式,并且把它们都实践在 Spark 上。除此之外,我还会讲解深度学习中非常流行的 Embedding、Graph Embedding 技术。
我们可以把特征工程看作是为推荐系统准备“食材”的过程。所以我希望通过这部分的学习,你不仅能够成为一名合格的“备菜”师傅,更能够利用学到的 Embedding 方法,来实现 Sparrow Recsys 中的相似电影推荐功能,在实践中快速成长起来。
线上服务篇:实践出真知,掌握搭建工业级推荐系统的核心技能
一个工业级推荐系统和实验室 Demo 的最大区别就在于线上服务部分。在这一篇中,我们要实打实地搭建一个推荐服务器,它包括了服务器、存储、缓存、模型服务等相关知识。相信通过这部分的学习,你能初步掌握 Jetty Server、Spark、Redis,这些工程领域的核心技能。
推荐模型篇:深度学习推荐系统上的明珠
如果让我挑出深度学习对传统推荐系统最大的改进,毫无疑问是深度学习在推荐模型上的应用,甚至我们称它为“推荐系统上的明珠”也不为过,所以这一部分可以说是整门课程的重中之重了。我们将一起学习深度学习推荐模型的原理和实现方法,主要包括 Embedding+MLP 、Wide&Deep、PNN 等深度学习模型的架构和 TensorFlow 实现,以及注意力机制、序列模型、增强学习等相关领域的前沿进展。
效果评估篇:建立成体系的推荐系统评估机制
在效果评估篇中,我们要重点学习效果评估的主要方法和指标。但对一个成熟的推荐系统来说,仅熟悉这些是不够的,我还期望你能通过这一篇的学习建立起包括线下评估、线上 AB 测试、评估反馈闭环等整套的评估体系,真正能够用业界的方法而不是实验室的指标来评价一个推荐系统。
前沿拓展篇:融会贯通,追踪业界前沿
在完成整体的知识积累之后,我们在通过这一篇的学习,将通过业界巨头们的深度学习推荐系统方案进行融会贯通。我会重点讲解 YouTube、阿里巴巴、微软、Pinterest 等一线公司的深度学习应用,帮助你追踪业界发展的最新趋势,并且找到自己技术道路上的方向。
所有的点穿成线、连成面,就组成了我们希望掌握的深度学习推荐系统架构。与此同时,我们也会在课程完成后,搭建起一个完整的推荐系统,再收获一份亲眼看见自己学习成果的成就感。
最后我想说,No Magic,不要期望一门课程就能够让你成为业界专家。如果你是完全没有推荐系统基础的新人,这门课程能够让你入门推荐系统,初步掌握深度学习推荐系统各模块的相关知识和业界实践。如果你是行业老兵,这门课能让你查漏补缺,在技术视野和格局上有所提高。但推荐系统的每个模块都有着极深的技术纵深,不管是 TensorFlow 还是 Spark,还是 Redis、Flink,它们中的每一个都需要我们持续性的钻研才能够成为领域专家。在技术专家的道路上,这仅仅是个开始,当然,我也很荣幸能帮你开启这个既有魅力又有挑战性的技术领域。
最后,关于深度学习推荐系统,希望你能在这里畅所欲言,提出你的困惑和疑问。也欢迎多多给我留言,你们的鼓励是我的动力。如果你身边也有想要学习深度学习推荐系统的同学,也别忘了把这个课程分享给他。很高兴能与你一起开启深度学习推荐系统的学习之路,愿与你在攀登行业塔尖的路上共勉
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《深度学习推荐系统实战》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥19.9
立即订阅
登录 后留言

精选留言(9)

  • Daryl
    王喆老师的课必须盲买🤟

    作者回复: 那就多谢支持啦!

    2020-09-22
    1
  • 瓜瓜
    不知道 深度学习 在复杂业务业务场景下 有没有应用场景。

    作者回复: 要看一下具体是什么复杂业务场景,如果是比较复杂的推荐场景的话,一般采用深度学习主模型,混合多种推荐策略的方式满足业务需求。

    深度推荐模型肯定不是全部,一定要跟具体的业务逻辑结合在一起才能支持实际的需求。

    2020-09-21
    1
    1
  • 罗奕康
    追着书过来的
    2020-09-23
  • 李@君
    pyhton后端开发,业务中会涉及机器学习和深度学习,对推荐系统感兴趣。希望能跟着老师入门。

    作者回复: 设计这门课的目标之一就是帮助相关岗位的同学熟悉实践整体知识,希望能让大家有收益!

    2020-09-22
  • 我叫路飞 名...
    有没有推荐系统的平台,后台管理的可视化系统的设计方案呀?可能我的描述不够准确,就是像crm那样可以监控推荐系统各个流程的可视化系统

    作者回复: 这属于BI(Business Intelligence)系统的范畴,每个推荐系统肯定会建立这样的监控系统,监控平台各模块的工作状况,实时的效果等等。我们这门课会提到相关的知识,但可能不是这节课的重点。

    2020-09-22
  • Aug
    在8、9千万数量级的用户中,深度学习相比传统机器学习算法能提升的多少?值得尝试深度学习吗?

    作者回复: 那和我们公司的用户量很接近,具体说提升的幅度比较困难,因为这跟业务特点,数据模式,以及你们现在模型的复杂程度都有关系。
    我们在不同业务上相比传统模型取得过10%-40%之间的提升,如果有8、9千万的用户量,数据质量又比较高的话,我觉得完全有可能取得这样幅度的提高。

    2020-09-22
  • huyu6789
    经济学专业,只有python基础和统计学习基础可以看吗?

    作者回复: 这门课会涉及到的主要语言是java,scala和python。另外需要一些机器学习基础。所以可能会稍微有些困难。

    但我基本会用“从0开始”的语言来讲解这门课程,希望把门槛降下来。

    而且在第一篇的最后我会给完全没有这个领域基础的同学一个参考书列表。如果能够基本过一两本参考书,把基础打好,是完全没有问题的。

    还是推荐挑战一下自己,祝好。

    2020-09-22
  • georgesuper
    挺好的课,我是资深大数据工程师,业余学了几年机器学习,老师这课可以让我的知识点贯通升华

    作者回复: 基本是我开设这门课的初衷之一,希望能帮助到想建立起全局推荐系统框架的同行们学习提高。

    2020-09-22
  • 少刷票圈多读书
    追完了王喆老师的知乎专栏、《百面机器学习》,正在学习《深度学习推荐系统》,就出了实战课程,真香~

    作者回复: 非常感谢对这所有作品的支持,期待提出更多建议!

    2020-09-21
收起评论
9
9
返回
顶部