据调查,2018 年 75% 的开发商将会在更多的商业应用或服务中加入人工智能功能,其中一个表现是推荐系统会成为所有数据型产品的标配,而视频内容目前已经成为互联网上用户消费深度最高,消费时间最长的内容消费方式,那么视频与推荐系统如何结合?
4 月 20-24 日,QCon 全球软件开发大会将在北京国际会议中心举行。本次大会设置了《人工智能与业务实践》专题来深入探讨人工智能技术,以及如何将人工智能技术和具体的业务实践相结合,其中邀请了爱奇艺算法高级技术经理方非前来分享《爱奇艺短视频信息流推荐的深度学习之路》。
我们借此机会采访了方非老师,他为我们带来爱奇艺在视频信息流推荐的算法与产品方面的实践细节,如果读者想了解更多爱奇艺 Feed 推荐的整体架构以及排序、召回,视频内容理解等重点模块,欢迎报名参加 QCon 北京并与方非老师进一步交流。
目前爱奇艺推荐算法团队规模在 20 人以上,团队结构组成比较健康,涵盖应届毕业生到资深算法研发,既保证了团队成员具有较强的独立工作和产出能力,又保证了梯队建设上具备较强的持续性和活力。
整个推荐算法团队负责的业务模块和产品区域很多,但是我们的目标很明确:搭建行业最好的视频和内容推荐系统。 所以整个推荐系统经历了非常多次的迭代和重构,始终保持对业界先进算法的跟踪和探索,同时也根据业务情况加入了很多自己的创新。
加入爱奇艺将近 5 年的时间,我经历过很多业务上和个人职业发展上的挑战。
业务上最大的挑战就是开始做信息流推荐,这是我们之前没有接触过的领域,而且主要的竞争对手已经做了好几年,有非常大的先发优势。我们经过了不断地尝试、调整和突破后,用短短的一年时间,在信息流推荐上积累了一些初步的成果,也总结了一些经验教训。
首先,信息流推荐的复杂度和对全局生态的依赖要远远高于传统的个性化推荐。 算法作为主要的内容分发手段,在信息流业务中扮演了至关重要的核心作用,但是同样对于内容生产和内容质量有很强的依赖,比如是否有足够丰富内容和大量的 PGC 优质内容生产者
举个例子,我们发现短视频封面图的质量对推荐效果有着很大的影响,清晰、与标题强相关的封面图,能够大幅度提高用户的内容消费意愿;同样,色情、低质、标题党的内容泛滥也会对用户体验造成巨大的损害,造成用户流失。
其次,信息流的特点是用户在使用过程中产生的各类行为数据量巨大,信息更新很快。 因此特别适合进行大规模数据建模和学习,原本在推荐中很难出场的深度学习终于派上了用场。我们从内容识别分析到最终的排序模型中,都大量地应用了深度学习技术,最终线上效果证明相比传统的浅层组合模型,有非常明显的提高。
职业发展上,我遇到的最大的挑战是从单兵作战到团队管理,如何进行角色上的转换和适应。这里可以简单分享几点自己的经验教训。
首先,算法和 AI 作为当下最热门的方向,知识的更新速度已经远超其他领域,不管日常工作如何繁忙,一定要始终保持对算法细节的熟悉了解,并且对新趋势和新技术持续关注学习。
其次,在算法设计和优化上要给予团队核心成员足够的自由度,避免限制个人能力发挥。设定合理的目标并阶段性跟踪验收,而不是事无巨细地参与所有细节决策,保证核心成员能够快速成长,具备独挡一面的能力。
最后,一定要把招聘和团队成员培养工作放在第一位,AI 和算法的竞争本质上就是人才的竞争。对于优秀人才的招聘和培养,是团队管理中最为重要的工作,在这里也打个招聘广告,欢迎算法老司机和对推荐算法有兴趣的同学加入我们,只要你够优秀,其他方面都不是问题,联系 fangfei@qiyi.com
爱奇艺作为国内最大的视频平台,推荐算法最主要的任务就是帮助不同用户在不同的使用场景下找到适合的内容:
从内容维度划分,可分为版权长视频、短视频、图文等类型;
从使用场景划分,可分为相关推荐、个性化推荐和热门推荐等场景。
不同的内容类型和业务场景需要差异化的推荐算法和策略,但是从系统角度我们需要尽量的保证模型和架构的通用性、一致性和可复用性。所以我们通过进行 底层模块的抽象,建立统一的用户画像平台、特征工程和模型服务化来保证这几点,具体方法如下:
特征工程:我们会通过统一的特征工程来对不同的内容类型进行特征构建,并通过差异化的归一化方式来计算不同类型的特征值,使得长短视频和图文在特征上对齐,数值上达到可比的状态。
用户画像:用户在站内的所有行为统一建模,最后输出一个完整且能唯一代表用户长短期兴趣的画像。
模块微服务:对于不同算法的输入输出都以服务化的方式来构建,比如相关推荐和热门推荐实际上都可以作为个性化推荐的服务和模块进行使用。
用户画像的建立主要是通过收集用户在站内多个终端的行为,经过聚合、分析、建模转化和存储等多个步骤计算出可以精确刻画每个用户兴趣和偏好的各种属性,包括自然属性、人群属性、兴趣偏好、App 属性、消费属性、LBS 属性。
相比其他内容推荐类型(比如音乐、文章),视频消费的很多行为是相同的或者类似的,比如点击、浏览、点赞等。除此之外,还有观看时长、拖动快进、弹幕、追剧、电影评分、付费等更多的行为可以加以利用,从更多维度进行分析刻画。
因为用户行为有较强的稀疏性,目前我们除了刻画用户已知特征,也利用了机器学习方法,通过已有的用户行为,预测用户可能的兴趣点,增加推荐的多样性和用户粘性。我们还在用户画像中加入了大量的 Embedding 特征,方便将用户特征以深度学习比较喜欢的方式输入到后面的模型训练中。
至于新用户,冷启动是推荐里一直以来的难题,所谓巧妇难为无米之炊,但是我们可以通过一些方法缓解这个问题:
一是尽可能多的收集用户各维度信息,比如用户的性别、年龄、设备,以及当时的时间、地点等场景信息,利用这些信息做初步的个性化推荐。对于爱奇艺来说,用户的长视频观看行为也是短视频和图文冷启动的重要信息。
二是使用探索和利用,也就是通常说的 EE 算法,来加速用户的兴趣探索和收敛。
三是从产品交互层面上增加一些功能,让用户可以主动选择一些感兴趣的信息提供给系统进行初始化。
推荐质量其实在我们看就是用户的满意度,但是个性化推荐由于其“千人千面”的特点,很难以单个或者少数用户的 case 来衡量,还是以建立多种不同的统计指标来考量为主。评估主要分为线上和线下两部分:
线上评估部分: 我们设定了多个主要指标,包括了用户留存、点击率、播放时长、播放量、翻页数、评论率、转发率、视频分发量等。在衡量一个实验能否全量上线的时候,我们需要综合考虑所有的指标情况,并且经过仔细的评估和讨论后作出决定。
线下评估部分: 对于排序模型我们使用 AUC 和带时长权重的 AUC 来评估效果,目前来看在 Feed 流推荐中 AUC 的变化和实际线上指标的变化基本一致,具备比较好的线下评估效果。
我们也会适当做一些推出效果评估以及 bad case 回归,但是通常不会直接针对 case 进行单点解决,主要是通过分析具体 case 来发现 root cause 或者算法的缺陷,找到后续改进的方向。
推荐算法中的调参包括两种,一种是为业务和系统服务的,另一种是机器学习里常说的模型调参。
第一种参数在规则较多的系统里会大量存在,比如一个视频在发布多少天之后就不再进行推荐、某种类型的内容最多出几个、不同算法的结果怎么融合。
这种规则类的参数的优点是具备较强的可解释性和可控性。但缺点也很明显,就是和算法的最优解有非常大的差距,并且人工维护和更新成本很高。所以通常大家都会使用机器学习的模型来代替规则参数来获得更好的效果。
至于第二种机器学习模型调参,机器学习虽然通过建模解决了系统和业务参数的设定问题,但是机器学习本身特别是深度学习中仍然存在大量的模型参数需要调整,比如深度网络层数、每层节点数和梯度下降的学习率等。
一方面我们可以借鉴已知领域内或类似领域的最佳模型参数,参考作为基准设定若干候选参数,在训练时进行遍历,找到与样本最匹配的参数;另外一方面可以使用一些更加自适应的优化器,比如使用 AdamOptimizer 对学习率参数的变化进行自适应的调节,并且本身也有比较好的效果。
深度学习肯定是目前的趋势,在广告推荐系统里不太常用的深度学习已经越来越受到大家的重视。爱奇艺的推荐里已经大量的应用了深度学习,并且还搭建了专门的服务化框架来快速上线深度学习模型。
强化学习的背景设定和推荐的场景其实特别匹配,特别是信息流推荐中,存在大量的用户和环境之间的交互,目前也已经有若干的研究正在进行,相信是后面的一个非常重要的方向。
目前非常火热的对抗生成网络和对偶学习方法,对于提高样本不足的情况下的模型准确度非常有帮助,也是我们正在跟进的一个方向。
方非,爱奇艺算法高级技术经理,2013 年加入爱奇艺,一直从事推荐和机器学习方面的研究和应用,目前是爱奇艺推荐算法团队负责人,致力于打造强大的推荐系统架构和算法平台,积累了丰富的机器学习和算法优化经验。
先后参与和主导了爱奇艺电影个性化推荐、社交推荐、相关视频推荐和视频 Feed 推荐等重要项目的算法工作,通过对深度学习和算法模型的持续优化,实现了多项业务目标和数据的爆发增长。