【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第1张图片

作者|携程基础业务研发部 编辑|Emily
AI 前线导读:携程作为国内领先的 OTA,每天向上千万用户提供全方位的旅行服务,如何为如此众多的用户发现适合自己的旅游产品与服务,挖掘潜在的兴趣,缓解信息过载,个性化推荐系统与算法在其中发挥着不可或缺的作用。而 OTA 的个性化推荐一直也是个难点,没有太多成功经验可以借鉴,本文分享了携程在个性化推荐实践中的一些尝试与摸索。

声明 | 本文为 InfoQ 特约稿件,未经许可,不得转载!

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)

推荐流程大体上可以分为 3 个部分,召回、排序、推荐结果生成,整体的架构如下图所示。

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第2张图片

召回阶段,主要是利用数据工程和算法的方式,从千万级的产品中锁定特定的候选集合,完成对产品的初步筛选,其在一定程度上决定了排序阶段的效率和推荐结果的优劣。业内比较传统的算法,主要是 CF[1][2]、基于统计的 Contextual 推荐和 LBS,但近期来深度学习被广泛引入,算法性取得较大的提升,如:2015 年 Netflix 和 Gravity R&D Inc 提出的利用 RNN 的 Session-based 推荐 [5],2016 年 Recsys 上提出的结合 CNN 和 PMF 应用于 Context-aware 推荐 [10],2016 年 Google 提出的将 DNN 作为 MF 的推广,可以很容易地将任意连续和分类特征添加到模型中 [9],2017 年 IJCAI 会议中提出的利用 LSTM 进行序列推荐 [6]。2017 年携程个性化团队在 AAAI 会议上提出的深度模型 aSDAE,通过将附加的 side information 集成到输入中,可以改善数据稀疏和冷启动问题 [4]。

对于召回阶段得到的候选集,会对其进行更加复杂和精确的打分与重排序,进而得到一个更小的用户可能感兴趣的产品列表。携程的推荐排序并不单纯追求点击率或者转化率,还需要考虑距离控制,产品质量控制等因素。相比适用于搜索排序,文本相关性检索等领域的 pairwise 和 listwise 方法,pointwise 方法可以通过叠加其他控制项进行干预,适用于多目标优化问题。工业界的推荐方法经历从线性模型+大量人工特征工程 [11] -> 复杂非线性模型 -> 深度学习的发展。Microsoft 首先于 2007 年提出采用 Logistic Regression 来预估搜索广告的点击率 [12],并于同年提出 OWLQN 优化算法用于求解带 L1 正则的 LR 问题 [13],之后于 2010 年提出基于 L2 正则的在线学习版本 Ad Predictor[14]。Google 在 2013 年提出基于 L1 正则化的 LR 优化算法 FTRL-Proximal[15]。2010 年提出的 Factorization Machine 算法 [17] 和进一步 2014 年提出的 Filed-aware Factorization Machine[18] 旨在解决稀疏数据下的特征组合问题,从而避免采用 LR 时需要的大量人工特征组合工作。阿里于 2011 年提出 Mixture of Logistic Regression 直接在原始空间学习特征之间的非线性关系 [19]。Facebook 于 2014 年提出采用 GBDT 做自动特征组合,同时融合 Logistic Regression[20]。近年来,深度学习也被成功应用于推荐排序领域。Google 在 2016 年提出 wide and deep learning 方法 [21],综合模型的记忆和泛化能力。进一步华为提出 DeepFM[15] 模型用于替换 wdl 中的人工特征组合部分。阿里在 2017 年将 attention 机制引入,提出 Deep Interest Network[23]。携程在实践相应的模型中积累了一定的经验,无论是最常用的逻辑回归模型(Logistic Regression),树模型(GBDT,Random Forest)[16],因子分解机(Factorization Machine),以及近期提出的 wdl 模型。同时,我们认为即使在深度学习大行其道的今下,精细化的特征工程仍然是不可或缺的。

基于排序后的列表,在综合考虑多样性、新颖性、Exploit & Explore 等因素后,生成最终的推荐结果。本文之后将着重介绍召回与排序相关的工作与实践。

数据 机器学习=数据+特征+模型

在介绍召回和排序之前,先简单的了解一下所用到的数据。携程作为大型 OTA 企业,每天都有海量用户来访问,积累了大量的产品数据以及用户行为相关的数据。实际在召回和排序的过程中大致使用到了以下这些数据:


  • 产品属性:产品的一些固有属性,如酒店的位置,星级,房型等。

  • 产品统计:比如产品一段时间内的订单量,浏览量,搜索量,点击率等。

  • 用户画像:用户基础属性,比如年纪,性别,偏好等等。

  • 用户行为:用户的评论,评分,浏览,搜索,下单等行为。

值得注意的是,针对统计类信息,可能需要进行一些平滑。例如针对历史 CTR 反馈,利用贝叶斯平滑来预处理。

召回

召回阶段是推荐流程基础的一步,从成千上万的 Item 中生成数量有限的候选集,在一定程度上决定了排序阶段的效率和推荐结果的优劣。而由 OTA 的属性决定,用户的访问行为大多是低频的。这就使得 user-item 的交互数据是极其稀疏的,这对召回提出了很大的挑战。在业务实践中,我们结合现有的通用推荐方法和业务场景,筛选和摸索出了几种行之有效的方法:

Real-time Intention

我们的实时意图系统可以根据用户最近浏览下单等行为,基于马尔科夫预测模型推荐或者交叉推荐出的产品。这些候选产品可以比较精准的反应出用户最近最新的意愿。

Business Rules

业务规则是认为设定的规则,用来限定推荐的内容范围等。例如机票推酒店的场景,需要通过业务规则来限定推荐的产品只能是酒店,而不会推荐其他旅游产品。

Context-Based

基于 Context 的推荐场景和 Context 本身密切相关,例如与季候相关的旅游产品(冬季滑雪、元旦跨年等)。

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第3张图片

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第4张图片

LBS

基于用户的当前位置信息,筛选出的周边酒店,景点,美食等等,比较适用于行中场景的推荐。地理位置距离通过 GeoHash 算法计算,将区域递归划分为规则矩形,并对每个矩形进行编码,筛选 GeoHash 编码相似的 POI,然后进行实际距离计算。

Collaborative Filtering

协同过滤算法是推荐系统广泛使用的一种解决实际问题的方法。携程个性化团队在深度学习与推荐系统结合的领域进行了相关的研究与应用,通过改进现有的深度模型,提出了一种深度模型 aSDAE。该混合协同过滤模型是 SDAE 的一种变体,通过将附加的 side information 集成到输入中,可以改善数据稀疏和冷启动问题,详情可以参见文献 [4]。

Sequential Model

现有的矩阵分解 (Matrix Factorization) 方法基于历史的 user-item 交互学习用户的长期兴趣偏好,Markov chain 通过学习 item 间的 transition graph 对用户的序列行为建模 [3]。事实上,在旅游场景下,加入用户行为的先后顺序,从而能更好的反映用户的决策过程。我们结合 Matrix Factorization 和 Markov chain 为每个用户构建个性化转移矩阵,从而基于用户的历史行为来预测用户的下一行为。在旅游场景中,可以用来预测用户下一个目的地或者 POI。

除此之外,也可以使用 RNN 来进行序列推荐,比如基于 Session 的推荐 [5],使用考虑时间间隔信息的 LSTM 来做下一个 item 的推荐等 [6]。

此外,一些常见的深度模型 (DNN, AE, CNN 等)[7][8][9][10] 都可以应用于推荐系统中,但是针对不同领域的推荐,需要更多的高效的模型。随着深度学习技术的发展,相信深度学习将会成为推荐系统领域中一项非常重要的技术手段。以上几种类型的召回方法各有优势,在实践中,针对不同场景,结合使用多种方法,提供给用户最佳的推荐,以此提升用户体验,增加用户粘性。

排序

以工业界在广告、搜索、推荐等领域的实践经验,在数据给定的条件下,经历了从简单线性模型+大量人工特征工程到复杂非线性模型+自动特征学习的演变。在构建携程个性化推荐系统的实践过程中,对于推荐排序这个特定问题有一些自己的思考和总结,并将从特征和模型这两方面展开。

Model

个性化排序模型旨在利用每个用户的历史行为数据集建立其各自的排序模型,本质上可以看作多任务学习 (multi-task learning)。事实上,通过加入 conjunction features,也就是加入 user 和 product 的交叉特征,可以将特定的 multi-task 任务简化为单任务模型。梳理工业界应用的排序模型,大致经历三个阶段,如下图所示:

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第5张图片

本文并不准备详细介绍上图中的算法细节,感兴趣的读者可以查看相关论文,以下几点是我们的一些实践经验和体会。


  • 在实践中选用以 LR 为主的模型,通过对数据离散化、分布转换等非线性处理后使用 LR。一般的,采用 L1 正则保证模型权重的稀疏性。在优化算法的选择上,使用 OWL-QN 做 batch learning,FTRL 做 online learning。

  • 实践中利用因子分解机(Factorization Machine)得到的特征交叉系数来选择喂入 LR 模型的交叉特征组合,从而避免了繁杂的特征选择工作。一般的受限于模型复杂度只进行二阶展开。对于三阶以上的特征组合可以利用基于 mutual information 等方法处理。已有针对高阶因子分解机(High Order FM)的研究,参见文献 [24]。

  • 对于 Wide and Deep Learning,将 wide 部分替换 gbdt 组合特征,在实验中取得了较好的效果,并将在近期上线。后续的工作将针对如何进行 wide 部分和 deep 部分的 alternating training 展开。

Feature Engineering

事实上,虽然深度学习等方法一定程度上减少了繁杂的特征工程工作,但我们认为精心设计的特征工程仍旧是不可或缺的, 其中如何进行特征组合是我们在实践中着重考虑的问题。一般的,可以分为显式特征组合和半显式特征组合。

显式特征组合

对特征进行离散化后然后进行叉乘,采用笛卡尔积 (cartesian product)、内积 (inner product) 等方式。

在构造交叉特征的过程中,需要进行特征离散化;针对不同的特征类型,有不同的处理方式。

 numerical feature


  • 无监督离散化:根据简单统计量进行等频、等宽、分位点等划分区间

  • 有监督离散化:1R 方法,Entropy-Based Discretization (e.g. D2,MDLP)

 ordinal feature(有序特征)

编码表示值之间的顺序关系。比如对于卫生条件这一特征,分别有差,中,好三档,那么可以分别编码为 (1,0,0),(1,1,0),(1,1,1)。

 categorical feature (无序特征)


640?wx_fmt=jpeg


  • 离散化为哑变量,将一维信息嵌入模型的 bias 中,起到简化逻辑回归模型的作用,降低了模型过拟合的风险。

  • 离散特征经过 OHE 后,每个分类型变量的各个值在模型中都可以看作独立变量,增强拟合能力。一般的,当模型加正则化的情况下约束模型自由度,我们认为 OHE 更好。

  • 利用 feature hash 技术将高维稀疏特征映射到固定维度空间

半显式特征组合

区别于显式特征组合具有明确的组合解释信息,半显式特征组合通常的做法是基于树方法形成特征划分并给出相应组合路径。

一般做法是将样本的连续值特征输入 ensemble tree,分别在每颗决策树沿着特定分支路径最终落入某个叶子结点得到其编号,本质上是这些特征在特定取值区间内的组合。ensemble tree 可以采用 Gbdt 或者 random forest 实现。每一轮迭代,产生一棵新树,最终通过 one-hot encoding 转化为 binary vector,如下图所示。

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第6张图片

以下几点是我们在实践中的一些总结和思考。


  • 在实验中发现如果将连续值特征进行离散化后喂入 gbdt,gbdt 的效果不佳,AUC 比较低。这是因为 gbdt 本身能很好的处理非线性特征,使用离散化后的特征反而没什么效果。xgboost 等树模型无法有效处理高维稀疏特征比如 user id 类特征,可以采用的替代方式是: 将这类 id 利用一种方式转换为一个或多个新的连续型特征,然后用于模型训练。

  • 需要注意的是当采用叶子结点的 index 作为特征输出需要考虑每棵树的叶子结点并不完全同处于相同深度。

  • 实践中采用了 Monte Carlo Search 对 xgboost 的众多参数进行超参数选择。

  • 在离线训练阶段采用基于 Spark 集群的 xgboost 分布式训练,而在线预测时则对模型文件直接进行解析,能够满足线上实时响应的需求。此外,在实践发现单纯采用 Xgboost 自动学到的高阶组合特征后续输入 LR 模型并不能完全替代人工特征工程的作用;可以将原始特征以及一些人工组合的高阶交叉特征同 xgboost 学习到的特征组合一起放入后续的模型,获得更好的效果。

总结

完整的推荐系统是一个庞大的系统,涉及多个方面,除了召回、排序、列表生产等步骤外,还有数据准备与处理,工程架构与实现,前端展现等等。 在实际中,通过把这些模块集成在一起,构成了一个集团通用推荐系统,对外提供推服务,应用在 10 多个栏位,60 多个场景,取得了很好的效果。本文侧重介绍了召回与排序算法相关的目前已有的一些工作与实践,下一步,计划引入更多地深度模型来处理召回与排序问题,并结合在线学习、强化学习、迁移学习等方面的进展,优化推荐的整体质量。

作者简介

携程基础业务研发部 - 数据产品和服务组,专注于个性化推荐、自然语言处理、图像识别等人工智能领域的先进技术在旅游行业的应用研究并落地产生价值。目前,团队已经为携程提供了通用化的个性化推荐系统、智能客服系统、AI 平台等一系列成熟的产品与服务。

References[1]    Koren, Yehuda, Robert Bell, and Chris Volinsky. "Matrix factorization techniques for recommender systems." Computer 42.8 (2009).

[2]    Sedhain, Suvash, et al. "Autorec: Autoencoders meet collaborative filtering." Proceedings of the 24th International Conference on World Wide Web. ACM, 2015.

[3]    Rendle, Steffen, Christoph Freudenthaler, and Lars Schmidt-Thieme. "Factorizing personalized markov chains for next-basket recommendation." Proceedings of the 19th international conference on World wide web. ACM, 2010.

[4]    Dong, Xin, et al. "A Hybrid Collaborative Filtering Model with Deep Structure for Recommender Systems." AAAI. 2017.

[5]    Hidasi, Balázs, et al. "Session-based recommendations with recurrent neural networks." arXiv preprint arXiv:1511.06939 (2015).

[6]    Zhu, Yu, et al. "What to Do Next: Modeling User Behaviors by Time-LSTM." Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, IJCAI-17. 2017.

[7]    Barkan, Oren, and Noam Koenigstein. "Item2vec: neural item embedding for collaborative filtering." Machine Learning for Signal Processing (MLSP), 2016 IEEE 26th International Workshop on. IEEE, 2016.

[8]    Wang, Hao, Naiyan Wang, and Dit-Yan Yeung. "Collaborative deep learning for recommender systems." Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2015.

[9]    Covington, Paul, Jay Adams, and Emre Sargin. "Deep neural networks for youtube recommendations." Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 2016.

[10]    Kim, Donghyun, et al. "Convolutional matrix factorization for document context-aware recommendation." Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 2016.

[11]    https://mli.github.io/2013/03/24/the-end-of-feature-engineering-and-linear-model/

[12]    Richardson, Matthew, Ewa Dominowska, and Robert Ragno. "Predicting clicks: estimating the click-through rate for new ads." Proceedings of the 16th international conference on World Wide Web. ACM, 2007

[13]    Andrew, Galen, and Jianfeng Gao. "Scalable training of L 1-regularized log-linear models." Proceedings of the 24th international conference on Machine learning. ACM, 2007.

[14]    Graepel, Thore, et al. "Web-scale bayesian click-through rate prediction for sponsored search advertising in microsoft's bing search engine." Omnipress, 2010.

[15]    McMahan, H. Brendan, et al. "Ad click prediction: a view from the trenches." Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2013.

[16]    Chen, Tianqi, and Carlos Guestrin. "Xgboost: A scalable tree boosting system." Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining. ACM, 2016.

[17]    Rendle, Steffen. "Factorization machines." Data Mining (ICDM), 2010 IEEE 10th International Conference on. IEEE, 2010.

[18]    Juan, Yuchin, et al. "Field-aware factorization machines for CTR prediction." Proceedings of the 10th ACM Conference on Recommender Systems. ACM, 2016.

[19]    Gai, Kun, et al. "Learning Piece-wise Linear Models from Large Scale Data for Ad Click Prediction." arXiv preprint arXiv:1704.05194 (2017).

[20]    He, Xinran, et al. "Practical lessons from predicting clicks on ads at facebook." Proceedings of the Eighth International Workshop on Data Mining for Online Advertising. ACM, 2014.

[21]    Cheng, Heng-Tze, et al. "Wide & deep learning for recommender systems." Proceedings of the 1st Workshop on Deep Learning for Recommender Systems. ACM, 2016.

[22]    Guo, Huifeng, et al. "DeepFM: A Factorization-Machine based Neural Network for CTR Prediction." arXiv preprint arXiv:1703.04247 (2017).

[23]    Zhou, Guorui, et al. "Deep Interest Network for Click-Through Rate Prediction." arXiv preprint arXiv:1706.06978 (2017).

[24]    Blondel, Mathieu, et al. "Higher-order factorization machines." Advances in Neural Information Processing Systems. 2016.

[25]    http://breezedeus.github.io/2014/11/20/breezedeus-feature-hashing.html

[26]    https://en.wikipedia.org/wiki/Categorical_variable

[27]    https://www.zhihu.com/question/48674426




红豆Live推荐算法中召回和排序的应用和策略


AI前线                                                        

                                                                         


【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第7张图片

作者|胡南炜 编辑|Emily AI 前线导读:有人曾说,“语音直播产品红豆 Live 的突然出现,让沉寂了一段时间的语音知识付费市场又重新燃起了生机”,让语音直播这个小众市场重新吸引了大众的注意力,让声音爱好者找到知音和志同道合之友。但红豆 Live 也用了 AI 这个事实,你知道吗?用到了哪些 AI 技术?推荐算法如何帮助它在众多语音直播产品中脱颖而出?对有意采用 AI 技术的公司有何启示?InfoQ 将在这篇文章中揭开这些问题的答案。

InfoQ 编辑对微博机器学习计算和服务平台负责人胡南炜进行了采访,询问了关于微博旗下的语音直播平台——红豆 Live 应用 AI 技术的详细情况,以及他对 AI 的深入了解和趋势预测。

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front) 红豆 Live 的 AI 布局

据该产品官网数据显示,2017 年 1 月,红豆 Live 面向大众全面开放,KOL 入驻量达 5000+,主播总数量 4 万人,开启了一个全民语音直播的时代。而这款产品的成功,按照该公司的说法,是“AI 发挥的作用不可忽略”。那么,红豆 Live 中究竟采用了哪些 AI 技术?这家公司在 AI 技术方面是否有着深远的布局呢?

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第8张图片

从技术层面讲,红豆 Live 在 AI 领域使用了语音识别、推荐排序等深度学习技术;其中在推荐排序中红豆 Live 经历了三次算法迭代,从协同过滤到基于内容的推荐,最后到基于音频谱图隐藏特征的深度学习预测模型的演进。“每次的算法迭代都是为了解决用户发现更多优质主播以及提高语音直播内容传播的目标。”胡南炜说道。

众所周知,企业采用 AI 技术需要高昂的成本,在采用这些技术后究竟能产生多大的效果,这是人们非常关心的问题。胡南炜表示,红豆 Live 的推荐模型目标是发现更多主播、用户留存、平均收听时长 3 项。在应用深度学习预测模型后,从数据表现上,该平台的主播发现率较人工运营时提高了 135%,用户留存率提升 20%,平均收听时长增长 80%。这款产品在应用 AI 后三个重要指标均有较大上涨,因此可以说,深度学习模型对于其业务是有着明显影响的。

语音直播相对来说受众数量较小,那这类产品靠什么来吸引用户呢?胡南炜认为,虽然语音直播受众数量较小,但确实有效解决了一部分垂直用户的痛点需求。在他看来,直播主要可以满足用户两个方面的需求:娱乐需求和价值需求。顾名思义,娱乐需求是指人们对于娱乐的追求以获得精神满足,直播等视听感受结合的形式可以满足大众的娱乐需求;而满足价值需求,是指直播能给用户带来专业的知识、实用的技能、思路的启发等具有实际意义的东西,解决现实问题。在这方面,他认为语音直播更具优势。另外,音频直播可以更好的将用户的注意力聚焦在内容本身上并降低直播成本,AI 可以帮助忠粉和垂直用户更便利、更有针对性的获取到自己所喜欢的语音内容,从而解决内容获取的痛点。

推荐系统的技术支持详情

推荐系统的成功离不开背后的技术支持,而部署 AI 更需要强大的技术来做支撑。

红豆 live 推荐系统中使用 CNN+LSTM 用在标签服务里面,把直播间中一些隐藏特征自动化的提取、关联、抽象出来,准备率比起传统机器学习算法大大提高。在 Wide & Deep 排序中,使用宽深度学习网络结合 LR,不仅仅使特征工程的工作量工程量大为降低,而且排序模型的记忆能力和泛化能力比单独使用 LR 提高不少。”从中我们可以看到,推荐系统的算法支持使得红豆 Live 的业务能力显著提高。

然而,没有任何算法是完美无缺的。“红豆 Live 推荐系统主要的缺陷是,推荐系统中的冷启动问题。对于新用户,我们无法获取他们的行为日志和 query 日志。“而针对这个问题,他们有弥补的方法,”因为红豆 live 用户和微博用户重合度为 90%,可以利用该用户的微博兴趣标签,解决用户的冷启动问题。”胡南炜说道。

关键技术召回和排序的作用和策略

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第9张图片

红豆 Live 推荐系统中的两个关键技术分别是召回和排序,其中在召回层用到的策略,是基于 item 的协同过滤,基于用户 query 的 CTR 进行召回,和基于用长短期兴趣的进行召回。而在排序层,则使用 Wide & Deep 网络,主要基于召回层的 item 进行融合、排序,最终选出 top N 个 item 推荐用户。

召回层的作用在于根据用户的不同兴趣,从海量 item 中选出数百个用户感兴趣的 item。而排序层的作用则是基于用户的一些特征,对召回层的 item 再次进行打分排序,更精准地选出用户感兴趣的 item。

具体工作流程

此外,胡南炜还为我们揭示了红豆 Live 推荐算法的具体工作流程:

第一,对用户的行为日志进行利用 JStorm 实时收集,并定时更新基于 item 的协同过滤内容。

第二,对直播间内容进行利用 JStorm 实时收集,实时为直播间打上分类标签、topic、主题词等标签,并定时更新用户画像内容。

第三,对用户 query 日志利用 JStorm 实时收集,定时计算用户 query 的 CTR。

最后,当用户进行刷新时,利用召回策略进行召回,再根据排序策略选择 top N 呈现给用户。

AI 识别“少儿不宜”内容准确率提高

“三俗”内容识别一直是正规内容平台严格把关的方面,AI 能够在这一方面发挥更大的作用。红豆 Live 由于采用了可以提取更丰富特征的新算法,对"三俗"内容进行过滤,因此准确率相较传统机器学习算法有了很大提升。为了保障用户体验,其针对“三俗”内容分别训练模型以及使用敏感词的策略,在对用户进行推荐前,对推荐内容进行实时过滤。

过拟合问题是最大挑战

而被问及红豆 Live 的推荐系统在开发应用过程中遇到的最大困难是什么时,胡南炜表示,任何 AI 技术应用的过程中,神经网络的过拟合问题都是让人头疼的问题,红豆 Live 也不例外,在开发过程中遇到的最大挑战就是它。而他们解决这个问题的思路主要有三点:添加 dropout 层、进行正则化,以及当 loss 和 acc 稳定即停止训练,这或许对我们有所启发。

对 AI 发展趋势的预测

最后,InfoQ 请胡南炜对 AI 行业在未来的发展趋势进行了预测,单就语音直播领域来说,胡南炜认为 AI 技术在语音直播内容分发,以及满足用户个性化语音内容需求等方向会带来深远的影响。“如果说用户碎片时间主要被社交、阅读、音视频等 APP 占据,那么不久的将来也一定会增加语音直播类。”他说道。

而在 2018 年 AI 将有什么样的发展趋势这一问题上,他认为 AI 技术的应用将更加垂直化,AI 技术深入到用户日常生活的每一个方面,比如语音直播。

胡南炜表示,非监督类学习将是红豆 Live 下一步的探索,“我们有这方面的摸索计划,比如在没有标注数据的前提下,我们通过聚类算法将语音直播内容形成一个个的簇,从而做一些粗粒度的随机推荐。”

注:本文观点仅代表受访者本人意见,与受访者所在公司无关。

讲师简介

胡南炜,毕业于北京航空航天大学计算机科学和工程系,在这里完成博士学业之后多年从事软件工程研发和互联网,个人技术专长为大数据、云计算技术和机器学习。他于 2014 年加入微博,负责微博机器学习计算和服务平台开发。在此之前,曾经在 IBM、Yahoo 等公司工作。




深度图像特征在推荐和广告中的应用

机器不学习 

CNN 是一个简单的网络结构,初学者一般从MNIST入手,提及CNN第一印象可能只有经典的图像分类的那个model。深入了解才会发现,学术圈和工业界是如何通过稍稍改变 Feature Map 之后的结构和目标函数等实现各种复杂任务,这其中迸发的想象力让人激动。

1.Image Feature Learning for Cold Start Problem in Display Advertising

“Image Feature Learning for Cold Start Problem in Display Advertising“ 这篇文章发表在ijcai15,是腾讯把图像特征应用到广告ctr预估的总结,同时也解答了广告中什么区域对点击率影响较大。这篇文章是较早把图像的深度特征用于点击率预估的工作之一,2015年的时候,推荐学术界里在深度学习方面起到重要影响的文章 Wide and Deep 、Youtube Rec with DNN 和一些 RNN 做推荐的方法尚未出现,高维稀疏特征的one hot encode embedding 成低维稠密特征的方法尚未被大众熟悉,所以这篇文章的做法并不是直接端到端的结构,而是通过CNN 抽取图像特征,然后用到 Logistic Regression(LR) 等常见的CTR模型中使用。

下面进入广告时间,猜猜什么因素导致左边点击率高,文末有答案。

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第10张图片

文章主要想法分为两步,第一步,利用卷积神经网络,实现从原始像素到用户点击反馈的 end-to-end 的图像特征学习。第二步,训练好的CNN可以抽取与点击率相关的图像特征,外加广告属性的特征,这些特征综合起来训练LR等模型来预估最终点击率。

抽取图像特征的网络结构如下:

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第11张图片

100*100像素图像输入 => 4层conv+pool => 3层FC => 二分类softmax(点击率)

视觉元素的位置重要性

传统的图像分类只关心是否包含某个视觉元素,而不关心该视觉元素在图像中的位置。对于展示面积比较大的广告图片,因为用户的视觉焦点一般在图像中心,关键的视觉元素在图像中的位置对于点击率有明显影响,因此设计的卷积神经网络的最后一层卷积输出层的feature map应该稍大,以传递原图的位置信息。

数据集

  • 样本规模:470亿样本,样本来源于腾讯在线广告日志,包含5种类别,5 种展示位置。样本数据量太大,直接用CNN训练在时间上不可接受,因此作者吧相同的图片聚合一起,形成二维样本<未点击数,点击数>。文章没有提到的一点是,<1000,10> 和 <100, 1> 从统计上来说点击率相同,训练的时候有什么区别?我猜测对梯度应该有一定影响,样本数量越大,步长越长。

  • 数据增强:25万张广告图片,划分为22万张训练集和3.3万张测试集。训练集缩放裁剪到 128 * 128像素大小,然后随机裁剪 100 * 100 子图作为卷积网络的输入。测试集随机裁剪 10 次,用输出概率的平均值作为最后的预测结果。

  • 单机GPU训练 2 天

实验结果

做了两种版本的比较,第一种只用图像特征,第二种包括广告id、类目id和展示位置id三个额外特征,分别用LR模型预测ctr,用AUC离线评测:

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第12张图片

什么影响点击率

用可视化方法,可以观察d奥图片模特人脸区域和文字区域对点击率影响比较大:

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第13张图片

2.Deep CTR Prediction in Display Advertising

这篇文章发表在 ACM MM16,是阿里当时的实习生做的,现在应该是正式员工了。与腾讯那篇“Image Feature Learning for Cold Start Problem in Display Advertising” 不同的是,这篇文章把特征提取与点击率预估整合在一起,做到了end to end的训练。

同样来看一个例子:

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第14张图片

b 比 a 点击率低,是因为 b 的主体和背景的对比度太低;d 比 c 点击,是因为用户对多男模的图片不太喜欢,这种case 跟腾讯广告同学举得还不太一样

整体的网络架构如下:

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第15张图片

左侧的卷积网络用来提取图像特征,结构类似于 VGG16。因为上面网络结构较为复杂,可以先用图像分类任务来解决CNN的预训练问题。

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第16张图片

右侧是全连接层,类似于embedding,区别在于全连接层有非线性变换。输入层是 one-hot-encode 形式,约 20w维,非常稀疏,在计算的时候,很多0输入节点的前向后向计算都可省略,特征存储也可以用下标的方式输入,减少计算和存储资源消耗。

广告的样本数量很大,但是CNN计算较为耗时,如果按照 PSLR 的方式去批次训练,训练过程过于漫长。作者把有相同图片的样本聚合在一起,相同图片只用计算一次CNN。举个例子,batchsize 为 5000,图片只有 10张,则CNN只用计算 10 次,右侧的全连接层非常稀疏,计算效率很高,5000个样本的计算时间可能比10张图片CNN计算时间还短。

实验对比

  • 5千万样本,10w张图片

  • 对比实验的结果:

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第17张图片

特征区域的可视化

图片中的猫、纹理、文字对点击率有影响

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第18张图片

3.Image Matters: Jointly Train Advertising CTR Model with Image Representation of Ad and User Behavior

阿里 2017 发表在 arxiv 的文章,与前面文章的区别在于,图像不单可以表征广告,用户点过的图像集合也可以用来表征用户,比如当前图片与用户点过的某张图片很相似,用户的点击概率就会比较高。文章利用广告相关id特征、用户相关id特征、广告图像特征、用户点击过的图像特征共同建模,end-to-end训练,预测最终的ctr。这篇文章对标 youtube 那篇做推荐的文章Deep Neural Networks for YouTube Recommendations里面的 rank model部分。

点击率模型经常用到的 parameter server logistic regression(PSLR) 更擅长于记忆,而不是泛化,所以即使在rank模型中,遇到新的 id 时,还是存在冷启动问题。图像特征重要,相同的广告id用不同的图片,点击率可能完全不一样,所以图像特征其实有比较好的泛化能力,不同的广告用同一张图像,在用户无法分辨的情况下,点击率相同。

整个模型框架如下:

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第19张图片

basicNet 和阿里那篇 Deep CTR Prediction in Display Advertising 一脉相承,通过全连接做 id 特征的向量化。AdNet采用VGG16的前14层,从图像提取 4096 维特征。可能是由于网络结果过于复杂,这里的卷积层是固定的,在rank部分不会调整,这样做也有一个好处,可以先把所有图片的 4096 维特征预先计算出来,CNN不用多次重复计算,也不需要更新权重,训练效率会高很多。固定CNN实际上也有不得已的地方,本文的创新点在于利用了UserNet,但是UseNet带来的一个弊端是,无法像之前两篇文章里将相同图片的样本聚合起来减少CNN部分的计算,因为UserNet的输入平均是37张图片的排列组合。在4096 维特征后面,又加入可训练的三个全连接层,把一张图像的特征降低到 12 维。

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第20张图片

UserNet 的结构与 AdNet一致,区别在于,用户点击包含多张图片(平均37张),如何把多张图片的12维特征整合成单独的12维,其中有一些简单的做法如 sum、avg、max,也有一些复杂的 attentive方法。

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第21张图片

根据后面训练的attentive权重来看,用户对相似图片的权重明显大。

实验对比

  • 39亿样本,2亿图片,20台GPU集群训练,17个小时

  • 实验结果可以看到图像特征有一些提升,但是在添加用户点击行为中的图像特征,边际效益不是那么高。

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第22张图片

640?wx_fmt=png




人工智能赛博物理操作系统

AI-CPS OS

人工智能赛博物理操作系统新一代技术+商业操作系统“AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)分支用来的今天,企业领导者必须了解如何将“技术”全面渗入整个公司、产品等“商业”场景中,利用AI-CPS OS形成数字化+智能化力量,实现行业的重新布局、企业的重新构建和自我的焕然新生。


AI-CPS OS的真正价值并不来自构成技术或功能,而是要以一种传递独特竞争优势的方式将自动化+信息化、智造+产品+服务数据+分析一体化,这种整合方式能够释放新的业务和运营模式。如果不能实现跨功能的更大规模融合,没有颠覆现状的意愿,这些将不可能实现。


领导者无法依靠某种单一战略方法来应对多维度的数字化变革。面对新一代技术+商业操作系统AI-CPS OS颠覆性的数字化+智能化力量,领导者必须在行业、企业与个人这三个层面都保持领先地位:

  1. 重新行业布局:你的世界观要怎样改变才算足够?你必须对行业典范进行怎样的反思?

  2. 重新构建企业:你的企业需要做出什么样的变化?你准备如何重新定义你的公司?

  3. 重新打造自己:你需要成为怎样的人?要重塑自己并在数字化+智能化时代保有领先地位,你必须如何去做?

AI-CPS OS是数字化智能化创新平台,设计思路是将大数据、物联网、区块链和人工智能等无缝整合在云端,可以帮助企业将创新成果融入自身业务体系,实现各个前沿技术在云端的优势协同。AI-CPS OS形成的字化+智能化力量与行业、企业及个人三个层面的交叉,形成了领导力模式,使数字化融入到领导者所在企业与领导方式的核心位置:

  1. 精细种力量能够使人在更加真实、细致的层面观察与感知现实世界和数字化世界正在发生的一切,进而理解和更加精细地进行产品个性化控制、微观业务场景事件和结果控制。

  2. 智能:模型随着时间(数据)的变化而变化,整个系统就具备了智能(自学习)的能力。

  3. 高效:企业需要建立实时或者准实时的数据采集传输、模型预测和响应决策能力,这样智能就从批量性、阶段性的行为变成一个可以实时触达的行为。

  4. 不确定性:数字化变更颠覆和改变了领导者曾经仰仗的思维方式、结构和实践经验,其结果就是形成了复合不确定性这种颠覆性力量。主要的不确定性蕴含于三个领域:技术、文化、制度。

  5. 边界模糊:数字世界与现实世界的不断融合成CPS不仅让人们所知行业的核心产品、经济学定理和可能性都产生了变化,还模糊了不同行业间的界限。这种效应正在向生态系统、企业、客户、产品快速蔓延。

AI-CPS OS形成的数字化+智能化力量通过三个方式激发经济增长:

  1. 创造虚拟劳动力,承担需要适应性和敏捷性的复杂任务,即“智能自动化”,以区别于传统的自动化解决方案;

  2. 对现有劳动力和实物资产进行有利的补充和提升,提高资本效率

  3. 人工智能的普及,将推动多行业的相关创新,开辟崭新的经济增长空间


给决策制定者和商业领袖的建议:

  1. 超越自动化,开启新创新模式:利用具有自主学习和自我控制能力的动态机器智能,为企业创造新商机;

  2. 迎接新一代信息技术,迎接人工智能:无缝整合人类智慧与机器智能,重新

    评估未来的知识和技能类型;

  3. 制定道德规范:切实为人工智能生态系统制定道德准则,并在智能机器的开

    发过程中确定更加明晰的标准和最佳实践;

  4. 重视再分配效应:对人工智能可能带来的冲击做好准备,制定战略帮助面临

    较高失业风险的人群;

  5. 开发数字化+智能化企业所需新能力:员工团队需要积极掌握判断、沟通及想象力和创造力等人类所特有的重要能力。对于中国企业来说,创造兼具包容性和多样性的文化也非常重要。


子曰:“君子和而不同,小人同而不和。”  《论语·子路》云计算、大数据、物联网、区块链和 人工智能,像君子一般融合,一起体现科技就是生产力。


如果说上一次哥伦布地理大发现,拓展的是人类的物理空间。那么这一次地理大发现,拓展的就是人们的数字空间。在数学空间,建立新的商业文明,从而发现新的创富模式,为人类社会带来新的财富空间。云计算,大数据、物联网和区块链,是进入这个数字空间的船,而人工智能就是那船上的帆,哥伦布之帆!


新一代技术+商业的人工智能赛博物理操作系统AI-CPS OS作为新一轮产业变革的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎。重构生产、分配、交换、消费等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生新技术、新产品、新产业、新业态、新模式。引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。





产业智能官  AI-CPS



用“人工智能赛博物理操作系统新一代技术+商业操作系统“AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的认知计算和机器智能;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链



【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第23张图片

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?_第24张图片


长按上方二维码关注微信公众号: AI-CPS,更多信息回复:


新技术“云计算”、“大数据”、“物联网”、“区块链”、“人工智能新产业:智能制造”、“智能农业”、“智能金融”、“智能零售”、“智能城市、“智能驾驶”新模式:“财富空间、“数据科学家”、“赛博物理”、“供应链金融”


官方网站:AI-CPS.NET




本文系“产业智能官”(公众号ID:AI-CPS)收集整理,转载请注明出处!



版权声明产业智能官(公众号ID:AI-CPS推荐的文章,除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,与您共同协商解决。联系、投稿邮箱:[email protected]






你可能感兴趣的:(【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?)