16 | 深度学习革命:深度学习推荐模型发展的整体脉络是怎样的?
16 | 深度学习革命:深度学习推荐模型发展的整体脉络是怎样的?
讲述:王喆
时长14:46大小13.49M
深度学习对推荐系统的影响详解
1. 深度学习模型的强拟合能力
2. 深度学习模型结构的灵活性
深度学习推荐模型的演化关系图
小结
课后思考
赞 22
提建议
精选留言(15)
- Eio2020-11-11请问老师 深度模型中怎么没有xDeepFM模型呢 我看它在学术界的评价要比deepfm好 但是工业界综合各个方面的因素是不是效果并不理想呢
作者回复: 没有特殊的原因,xDeepFM也非常好,我们没必要也没有空间把所有模型都覆盖到。因为xDeepFM也属于FM+DNN的一个衍生模型。 而且不要过度迷信这些paper里面的效果,外界的传言,自己在自己的数据上判断,用不同结构去做试验,得出最终solid的结论,做算法工程师有时候要自信一些,没有人比你自己更了解你要解决的问题。
共 4 条评论37 - Dikiwi2020-11-11算法选型一定是与业务相关的,按照老师的说法就是没有银弹。比如阿里的购买序列是具有一定的所谓演化的概念的,但不适合feed信息流,feed的兴趣相对会比较稳定。但在结合业务特点情况下选择以后的模型优化好了是大概率有不错的效果提升的。 个人觉得深度学习可以根据业务特点灵活定制模型结构的是其最具有魔力的地方。
作者回复: 说的太好了,关于信息流和电商的思考也很好,推荐其他同学参考。
共 3 条评论34 - 傻2020-11-27老师,想请教下,一般深度学习线上serving的方式是怎么来做的呢,如果用原生的tf-serving的方式,耗时有点久(80-300ms不等)
作者回复: 之前我们有专门的一节课讲model serving,介绍了四五种方法,就是我们现在最主流的方式。 谈到tf serving,确实有这个问题,我们实践中同样有这个问题。就两种主流方案,一种是把模型拆了,复杂部分离线算,线上部分保持简单结构,用embedding连接两部分。 第二种是魔改tf serving,需要从源码入手,把其中一些复杂运算和没必要的操作去掉。
19 - Alan2021-03-17答:肯定不是这么理解的。我的理解:适合算法(选型、调参)+数据结构(数据准备)+业务场景(流程变动)=推荐系统优化。 首先从算法自身,在MLP层数是较多情况下,模型复杂度越高越精确,相对计算时间也越长久,但是实际的业务与数据,只需要2层的MLP,那么还不如Emmbedding+MLP简单层效果。 其次业务场景出发,不是所有的算法都是公司的业务,现有公司的业务数据就是这样,DIEN模型是因为阿里具有强大的大数据采集处理能力平台架构,用户行为变化的能力可以完全捕捉,才能实现Attention机制深度推荐系统,那么你公司现有架构能有这样超强能力吗? 最后,算法千千万,业务效益为王!了解各个算法的特性原理是每个算法工程师必修道路!展开
作者回复: 说的非常好,推荐所有其他同学参考。
共 2 条评论17 - Abigail2021-05-02深度模型结构和公司推荐系统的效果之间没有直接的因果关系。 归根结底,这个世界数据为王,优秀的数据源+基于业务的特征工程足可以抹平一些“高级”深度模型带来的优势。当然推荐系统算法工程师肯定是想不断的尝试新的技术,毕竟工作和产品是公司的,事业和技术是自己的。但是,产品经理和项目经理不是这么想的,提高利润,降低成本,这是他们的业绩指标也是公司的核心利益。 所以一定要和团队上下把产品的优化目标协商好,不然就是出力不讨好了,工作成果得不到认可,这种挫败感可不好受。 要反复确定系统的评价指标,这个对系统的运维很重要。然后设计模型落地部署,做AB测试,用实际的运行结果说话,这样大家可以相互理解,管理团队和研发团队也都顺心。展开
作者回复: 说的非常好,推荐其他同学关注学习。
共 2 条评论15 - 王继伟2021-02-13请问老师,DIN模型中的注意力激活单元(两个输入向量拼合两个输入向量的差,然后输入到全连阶层)的设计思路是基于什么呀?两个向量按元素相减代表什么,为什么要这样设计?
作者回复: 其实只是创造一些两个embedding交互的操作,不要过多寻求可解释性的东西。强行解释的话,element wise minus也是一种表达相似度的操作。
共 2 条评论8 - 超~~2020-11-11老师你好,关于阿里的EGES,怎么通过训练得到的item embedding ,得出user的embedding?可以直接avg么,谢谢老师
作者回复: 这个我们之前应该介绍过,item emb通过item2vec预训练,user embedding可以通过avg得到。 第二种方法是放到EGES中,加入item emb layer和user emb layer,做end2end训练。
7 - 小匚2020-11-11从数据输入看,对数据源的处理(特征选择)也是一个难点。尽管处理特征的能力在深度学习背景下变强,但依然需要将不同语义下的数据汇总到一起。 另外,从影响因素来说,用户购买行为依然有一部分随机因素难以捕捉到,或者说不同的人受影响的随机因素不同。有的人心情不好就喜欢买奇奇怪怪的东西,那机器有办法捕捉到心情的特征吗?有的人随着年龄见识的增长,频繁购买的东西类别也会发生变化。还有一种情况,我帮朋友代买了一次,但是系统认为是我本人的行为,所以后面如果给我推荐类似产品会效果变差(超出机器范围……不会考虑在模型里)展开
作者回复: 确实存在这个问题,但我要说的是既然是做机器学习,我们只能从统计的角度理解问题,这些special case确实会损伤模型效果,但没办法,有时候我们不能钻牛角尖。 当然,对于特征的处理我完全赞同,即使在深度学习背景下,特征的挑选,预处理仍然重要,数据和特征是上限,模型结构只是逼近这个上限。
7 - 范闲2020-12-02数据、业务和业务指标的特点决定选择什么样的模型,对模型结构做什么样的修改。因地制宜才符合工业界推荐系统的演化标准
作者回复: 是这样
2 - 那时刻2020-11-12老师提到深度学习模型可以大大增加模型的“非线性”拟合能力,对复杂数据模型进行更准确的分类,避免“欠拟合”现象的发生。请问对于过拟合,深度学习模型又怎么避免和处理呢?是通过处理超参数么?
作者回复: 过拟合说明深度学习模型过于复杂了,可以通过减少模型层数,每层的神经元数量,采用dropout,增加L1正则化项等方式解决。具体的方法篇幅原因不展开讲,推荐去搜一下就清楚了。
共 2 条评论2 - Geek_8a732a2021-08-11数据本身也很重要,比如数据清洗、特征提取的过程。2
- archmageforac2022-03-16把一些经典的深度模型结构实现好,肯定能提升我们公司推荐系统的效果,很有问题。 业界有种说法叫:七分数据,三分算法;算法里面又分七分特征,三分模型。 最重要的是原始数据的质量和数据的清洗,其次是特征的挖掘,最后才是模型。 即使到了模型这一层,也得根据模型效果、需要处理的数据量和算力成本做权衡。展开
- 小泥鳅2021-11-30王老师,有没有讲排序相关的章节呢
作者回复: 往下继续学习
共 2 条评论 - 南海长风九万里2021-08-191.经典模型存在非常大的借鉴价值,但实践才能检验价值的真实性<考虑业务需求特性,业务数据量级等>。 2.除了模型效果外,工程实现能力必然是一点了,需要考虑工程是否能承受复杂模型的计算压力。
- 南海长风九万里2021-08-19有的同学说,深度学习这么流行,我把一些经典的深度模型结构实现好,肯定能提升我们公司推荐系统的效果,你觉得这种观点有问题吗?你觉得除了模型结构,还有哪些影响推荐效果的因素?为什么?
作者回复: 这个问题我想你学完这门课肯定会有答案。