本文介绍在构建通用推荐人工智能服务的用户商品倾向模型方面MasterCard和Intel的合作项目。Analytics Zoo [1] 是Intel开源的一个统一的Analytics + AI平台,它无缝地将Spark、TensorFlow、Keras和BigDL[2] 程序集成到一个整合的流水线中,可以透明地扩展到大型Apache Hadoop/Spark集群中,用于分布式训练或预测,而无需额外的GPU基础设施。
在金融行业中,用户商品倾向模型可以用来计算消费者在特定行业内从商家或零售商处购买的概率。该模型可以用于展示市场研究前景,或为相关金融产品或商业交易提供个性化建议。利用建立在Spark基础上的基于深度学习的神经推荐模型,推荐系统可以在改善消费者体验、活动绩效和目标营销产品/计划的准确性方面发挥重要作用,并提供相关信息以鼓励忠诚度和奖励。本文使用一个个性化的市场营销业务用例作为示例,阐述从格式化的信用卡交易中预测用户的购买商品的倾向:
背景
MasterCard作为全球领先的支付解决方案提供商,正在将人工智能(AI)集成到其平台中,以更好地为客户服务。Analytic Zoo通过支持在大型Intel® Xeon®可扩展处理器集群上运行基于Spark的BigDL,是满足企业深度学习需求的理想解决方案,因为它允许用户直接在现有的大数据(Apache Hadoop/Spark)基础设施上开发和运行深度学习应用程序。相比之下,在企业中部署基于GPU的解决方案存在许多挑战(例如,错误的工具集成,昂贵的数据复制和移动,耗时和工程人员资源密集,监控较少,学习曲线陡峭等),因为它们与现有数据分析基础设施不兼容。
深度学习可以通过营销活动的有效性来推动更高的投资回报率。因此,着重于对消费者行为的敏锐洞察,根据客户的兴趣和喜好与客户进行连接。例如,如果商家提供优惠给购买潜力最高的消费者,那么商家的优惠是最有效的。传统的机器学习算法在以前的解决方案中起着至关重要的作用。然而,业界正在寻求一种更健壮的简化流程的解决方案,用于处理模型的复杂性,劳动密集的特征工程过程,以及更高的精度。近年来,人们提出了许多基于深度学习的神经推荐模型,以进一步提高营销活动的有效性。
推荐系统概述
推荐系统(RS)是一种信息过滤工具,用于引导用户以个性化的方式从大量可能的选项中发现他们的偏好。它是为许多在线网站和移动应用程序推广销售和服务的关键工具。例如,80%在Netflix上观看的电影来自推荐 [3];60%的视频点击来自YouTube [4] 上的主页推荐。基于深度学习的推荐系统在克服传统模型的障碍和实现高质量推荐方面得到了广泛的关注 [5] 。
推荐模型可分为三类:协同过滤、基于内容和混合系统。协同过滤通过学习用户商品历史交互,通过显式的(例如,用户先前的评级)或隐式的反馈(例如,购买历史)来提出建议。由于数据约束,在这个用例里面,协同过滤利用隐式数据。
传统机器学习和深度学习的基准测试
基准概述
作为一个在Spark上本地运行的集成分析和人工智能平台,Analytic Zoo满足企业深度学习应用程序的标准要求。
考虑到MasterCard已经为类似的模型运行了几十年的传统机器学习,并且在Spark ML生态系统(如Spark MLlib)上花费了资源,业务利益相关者希望对这两种方法进行基准测试,并确定其差异。因此,在Spark机器学习和Analytics Zoo的BigDL模型进行了基准测试。
选择数据集
数据来自过去三年中从特定渠道收集的数据集:
生产环境Hadoop集群:
基准库:
对于传统的机器学习方法,选择Spark MLlib方法的交替最小二乘(ALS)模型 [6] 。
对于深度学习方法,基于最新的研究和行业实践,选择了神经协同过滤(NCF)和宽深(WAD)模型作为推荐的两个候选模型。来自Analytics Zoo的Keras风格API也被用于用python和scala构建深度学习模型。
图1.将深度学习模型与ALS模型进行比较
深度学习模型阐述
神经协同过滤(NCF)模型
Xiangnan He [7] 首先提出的简单通用的NCF模型,旨在作为开发推荐服务深度学习方法的指导,以捕捉用户和物品之间的非线性关系。由于存在大量未观察到的实例,NCF采用负抽样来减小训练数据量,显著提高了学习效率。传统的矩阵分解可以看作是NCF的一个特例。使用Analytics Zoo,用户可以轻松构建NCF模型,如下图所示。
图2.神经协同过滤(NCF)模型的示例
宽深(WAD)模型
2016年,Heng Tze Cheng [8] 为Google Play商店提出了一个应用推荐系统,该系统采用了宽深(wad)模式。宽分量是一个单层感知器,它是一个广义线性模型。深部分量是类似于NCF的多层感知器。结合这两种学习技术,推荐系统可以捕获记忆和泛化。在这种情况下,Merchant ID和其他特性用于生成宽模型的交叉列。
图3.宽深模型图
WAD模型使用了SparseTensor,以及为稀疏数据计算明确设计的一些的层,例如SparseLinear, SparseJoinTable等。Analytics Zoo支持DataFrame和弹性分布式数据集(RDD)两种接口,用于数据准备和训练,为不同场景提供灵活性,允许Spark 1.5兼容到最新版本。
模型评估
利用Spark MLlib ALS的评价工具,NCF和WAD实现的推荐器用下列指标进行测量。
为了与传统的矩阵分解算法相比,在SARS2.2.0上的ALS训练采用了相同的数据和优化参数。相比之下,深度学习模型比ALS模型有显著的改进,如下表所示。
NCF 模型 | WAD模型 | |
---|---|---|
对比ALS召回率改进 | 29% | 26% |
对比ALS精准度提升 | 18% | 21% |
对比ALS前20个精准度增长 | 14% | 16% |
模型服务
服务方式
通过使用Plain Old Java Object(POJO),本地Java API或Scala / Python模型加载API,Analytic Zoo模型可以无缝集成到Web服务(如Spark Streaming,Kafka 等)中。
MasterCard使用数据流水线框架Apache NiFi [9] 构建企业数据流水线平台。它开发了相关的定制处理器,通过利用Analytic Zoo的服务API,将深度学习和模型服务流程嵌入到现有的企业数据流水线中。
摘要
本文介绍了我们使用Analytic Zoo深度学习建立基于消费者交易历史的推荐AI服务的经验,为满足企业的深度学习需求提供了一个很好的解决方案。开发并评估了两种深度学习模型(NCF,WAD)。与传统的机器学习算法(如LR或ALS)相比,深度学习模型可以显着提高推荐的质量并简化模型训练程序。作为端到端的行业用例,我们展示了如何利用Analytic Zoo的深度学习来构建一个出色的推荐系统,以帮助加强MasterCard的营销和个性化能力的重要组成部分。
参考
译文出处: https://software.intel.com/en-us/articles/deep-learning-with-analytic-zoo-optimizes-mastercard-recommender-ai-service