当前位置: 首页 > 科技观察

重的!阿里妈妈首次发布自主研发的CTR预估核心算法MLR_0

时间:2023-03-20 20:25:52 科技观察

一、技术背景CTR(Click-Through-Rate)即点击率,是互联网广告中常用的术语,指网络广告(图片广告/文字广告/关键词广告文字广告/排名广告/视频广告等),即广告的实际点击次数除以广告的展示量。点击率预测(Click-ThroughRatePrediction,CTR)是互联网主流应用(广告、推荐、搜索等)的核心算法问题,包括谷歌、Facebook等行业巨头一直在不断投入和研究这个问题。CTR预估是互联网计算广告中的关键技术环节,预估的准确性直接影响公司的广告收入。广告领域的CTR预估问题面临着超高维离散特征空间中模式发现的挑战——如何拟合已有数据的规律,同时具有泛化性。2.CTR预估方法的现状与进展2.1传统CTR预估方法及不足业界传统的CTR预估方案是广义线性模型LR(逻辑回归)+人工特征工程。LR使用Logit变换将函数值映射到0~1区间,映射后的函数值就是CTR的预估值。LR的线性模型易于并行化,处理数亿训练样本不成问题。但该方案的缺点在于,由于线性模型的学习能力有限,需要引入大量的领域知识,人工设计特征和特征之间的交叉组合,间接补充算法的非线性学习能力,耗费了大量的人力和机器资源。迁移不够友好。此外,目前业界不断提出一些效果较好的非线性模型,并在工程中进行了实践,取得了较好的效果,但这些模型都或多或少存在不足。例如,Kernel方法复杂度高,不易实现;例如Facebook团队在2014年首次提出的Tree-based方法,有效解决了LR模型的特征组合问题,但缺点仍然是历史行为的记忆,缺乏泛化性;还有FM(factorizationmachine)模型,可以自动学习高阶属性的权重,不需要手动选择特征进行交叉,但是FM模型只能拟合特定的非线性模型,比如最常用的2nd-orderFM只能拟合特征之间的线性和二次关系。深度神经网络的非线性拟合能力足够强,但面对广告等大规模工业级稀疏数据,业界仍在探索适合数据规则且具有泛化能力的网络结构,尤其是对实现端到端的规模化,技术挑战还是很大的。那么挑战来了,如何设计算法从大规模数据中挖掘出可泛化的非线性模式?2.2阿里妈妈自主研发MLR算法。2011-2012年间,阿里妈妈资深专家盖坤(昵称京师)突破主流,基于大规模线性模型的思想,创新提出了MLR(mixedlogisticregression,混合逻辑回归)算法,从而带动了广告领域CTR预测算法的全新升级。MLR算法创新性地提出并实现了直接在原始空间中学习特征之间的非线性关系,并根据数据自动发现可泛化模式,相对于人工在效率和准确性上都有了很大的提升。MLR可以看作是LR的自然延伸。它采用分而治之的思想,用分段线性模型来拟合高维空间的非线性分类面。其形式化表达如下:这里,超参数块的个数m可以更好地平衡模型的拟合和泛化能力。当m=1时,MLR退化为普通LR。m越大,模型的拟合能力越强,但模型参数的规模随m线性增加,相应需要的训练样本也增加。因此,在实际应用中,需要根据实际情况选择m。例如,在我们的场景中,m一般选择为12。下图的MLR模型可以完美拟合数据中的菱形分类面,有4个切片。MLR算法适用于工业规模的大规模稀疏数据场景,比如广告CTR预估。其背后的优势体现在两个方面:1)端到端的非线性学习:从模型端自动挖掘隐藏在数据中的非线性模式,省去了大量的人工特征设计,使得MLR算法完备end-to-end不同场景下的训练、迁移和应用非常容易。2)稀疏性:MLR在建模时引入L1和L2,1范数正则化,可以使最终训练好的模型具有更高的稀疏性,模型的学习和在线预测性能更好。当然,这也给算法的最优解带来了巨大的挑战。详情请参考我们的论文(见文末)。2.3MLR算法的高级特性在具体的实际应用中,阿里妈妈精准定位团队进一步开发了MLR算法的多种高级特性,主要包括:1)结构先验。基于先验领域知识,可以灵活设置用于空间划分和线性拟合的不同特征结构。例如,精准投放广告的有效先验是:除以用户特征空间,用广告特征做线性拟合。直观上来说,这符合人们的认知:不同人群具有聚类特征,同一人群对广告的偏好相似。比如高消费群体喜欢点击单价高的广告。结构先验帮助模型缩小对解决方案空间的探索范围,使收敛更容易。2)线性偏差。该特性为解决CTR预估问题中的偏差特征提供了更好的解决方法,例如位置、资源位置等。在实际应用中,我们对位置偏差信息进行建模,获得了4%的RPM提升效果。3)模型级联。MLR支持与LR模型进行级联联合训练,有点类似于wide&deeplearning。在我们的实践经验中,一些强特征被配置成级联模式,有助于提高模型的收敛性。例如,一个典型的应用方法是:构造具有统计反馈特征的第一层模型,其输出(下图中的FBTr)级联到第二层大规模稀疏ID特征系统,可以帮助获得更好的提升效果。4)增量训练。实践证明,MLR通过结构先验进行预训练,然后增量进行全空间参数优化训练,会进一步提升效果。同时,在增量训练模式下,模型达到收敛的步数更小,收敛更稳定。在我们的实际应用中,增量训练带来的RPM增益达到了3%。2.4大规模分布式实现MLR算法面向工业级数据,如亿级特征、百亿级参数、千亿级样本。因此,我们设计了一个分布式架构来支持模型的高效并行训练。下图是架构示意图,与传统的参数服务器架构略有不同。主要区别在于我们在每个分布式节点上同时部署了工作角色和服务器角色,而不是将服务器分开部署。这背后的考虑是充分利用每个节点的CPU和内存,从而保证机器的资源利用率最大化。此外,针对个性化广告场景下数据的结构化特点,我们提出并实现了一个通用的特征trick,可以大大压缩样本存储,加速模型训练。例如下图,在展示广告中,一般来说,一个用户一天内会看到多个广告,一天内这个用户的大量静态特征(比如年龄、性别、昨天之前的历史行为))一样的,通过普通的特征压缩,我们只需要为这些样本存储一次用户的静态特征,其余的样本通过索引关联起来;这部分特征在训练过程中只需要计算一次。在实践中应用通用特征技巧使我们能够以近1/3的资源消耗实现12倍的加速。3、MLR在阿里妈妈业务中的应用现状2013年以来,MLR算法在阿里妈妈主要场景及阿里妈妈多个BU(包括阿里妈妈定向广告、淘宝客、神马商业广告、淘宝主搜等)中得到应用。已经得到了大规模的应用和尝试,尤其是在阿里妈妈的精准投放场景中。算法模型的创新带来了业务的重大突破。主要场景的CTR和RPM均有20%以上的提升。典型应用如下:3.1基于MLR的定向广告CTR预估算法基于MLR算法的非线性学习能力,阿里妈妈的定向广告CTR预估采用大规模原始ID特征+MLR算法的架构。具体来说,我们将一个广告展示描述为一个特征向量,它由三部分独立组成:用户部分特征(包括userid、profile信息、用户在淘宝平台的历史行为特征(浏览/购买的宝贝/店铺/类目)id和frequency等),广告的一些特征(包括adid,campaignid,广告对应的sellerstoreid,categoryid等),场景的一些特征(包括时间,地点,资源位置等)。没有传统维度的交叉组合大概2亿。然后我们直接将数据喂给MLR算法,并应用结构化先验、预训练+增量训练、线性偏差等先进技术,让模型从数据中自动总结和模拟。实践证明,与传统的LR+特征工程思想相比,该方案更加高效优雅,模型更加精准,在实际生产中的迭代性更强。3.2基于MLR的LearningtoMatch定向广告匹配算法Match算法是定向广告中的一个重要环节。它的核心任务是根据用户的人口统计属性和历史行为等信息,猜测用户可能感兴趣的广告集合。传统的Match算法多采用规则匹配和协同过滤。和其他方法一样,该方法的可扩展性不强。在阿里妈妈的精准投放系统中,我们开发了基于MLR的学习匹配算法框架。简单来说,就是利用模型的方法,根据用户的行为历史,学习用户的个性化兴趣,从而召回高度相关的候选广告集。同样,基于MLR算法的非线性能力,我们可以轻松地将不同的特征源和标签系统集成到框架中,而无需过多关注和设计特征。交叉组合大大增强了框架的灵活性。4、总结与挑战总的来说,阿里妈妈算法技术团队自主创新的MLR模型和算法,为阿里妈妈业务的大规模推广应用带来了巨大的收益。因此,在大数据智能方面,由于省略了特征工程,具有从数据接入到应用的全自动功能。虽然目前已经取得了很好的效果,但是未来的挑战也不小:比如初值问题,非凸问题的局部极值,虽然MLR比LR好,但是不知道差多远来自全局最优;二是需要在Pre-train的初值等方面对模型功能进行完善和优化;第三,目前的规模能力还需要能够处理更多的特征和数据,比如采用更快的收敛算法等;最后,整体MLR算法的抽象能力也需要进一步加强。【本文为专栏作者《阿里巴巴官方技术》原创稿件,转载请联系原作者】点此查看作者更多好文