▐ 摘要
阿里妈妈风控团队支撑数十个产品线,能力覆盖站内、站外媒体相关的各种广告业务。面对层出不穷、频繁更迭的新业务场景、新风险类型,传统的领域经验驱动的治理效率是远远不够的。为了解决其中的各项问题,风控团队过去2年打造了新一代的阿里妈妈反作弊平台(Deepstring oN Alimama Defense Force,DNA)。
其核心是流批一体的算法框架 DeepString,利用大模型去学习业务自然规律,在无监督场景下也能保障交付效果和时效,同时举一反三,针对风险演变有更强的召回效果。弱化领域经验,新接入场景也能覆盖大部分风险。面对未知风险自动发现异常角度,召回不足时不依赖经验快速迭代。
1. 背景介绍
1.1 流量与媒体反作弊简介
阿里妈妈是淘天集团商业数智营销中台,管理并运营淘天集团搜索、展示、信息流等多种消费场景下的营销产品及技术解决方案,每年为数百万广告主提供上千亿金额的营销服务。根据秒针《2023年中国全域广告异常流量白皮书》显示,异常流量占比约23.9%。作为头部广告平台之一,阿里妈妈坐拥价值逾千亿的商业流量,是黑灰产觊觎的主要目标。
阿里妈妈风控团队支撑阿里妈妈、闲鱼、飞猪、优酷等多个业务的数十个产品线,保护数百万广告主、上千亿规模广告年消耗不受作弊流量侵害。在与站外媒体相关的广告业务,外投、淘宝联盟、市场部集采、业务创新等场景,保护数百亿资金不受黑灰产骗取,维护平台生态健康底线。
1.2 问题定义
随着广告生态的持续发展,相应的业务策略及黑灰产的作弊模式也在不断增加。不同的广告主有着各自的关注点,而平台内的合作伙伴也各自有不同的需求。而反作弊领域对抗强烈、人工标注成本高、强依赖人工经验,普遍存在“难迭代”的问题。为了解决上述问题,我们将业务从冷启动接入、到长期稳定运行,抽象为“管生”和“管养”2个阶段。而算法的核心任务,是解决其中效果与效率问题。
1.2.1 效果问题
精度不足,流量过滤场景中会导致平台应收广告消耗减少。而召回不足,流量过滤场景中会导致广告主预算被作弊流量消耗,进而引发投诉,破坏平台生态健康。与站外媒体过程中会导致资金被黑灰产骗取,直接造成平台损失。广告算法模型一旦受到作弊污染,导致出价不准确,影响平台收入。
同时,满足业务的时效性需求也至关重要。以恶意消耗广告主预算为例,广告消耗结算周期可能是天级、月级..等,但一旦预算消耗完,就需要立刻停止广告投放。时效性不足会导致广告因无效消耗而提前下线,减少了应有的曝光。而且对于电商这种有流量峰值节点的场景(如双十一大促),时效性不足的影响还会被严重放大。
1.2.2 效率问题
目前业内主流的迭代模式是,在每个场景中调研风险的模式,再通过规则圈选、人工标注,得到置信样本,用于监督训练。多以短平快的止血手段满足业务诉求,往往有效周期短。
阿里妈妈风控团队支撑数十个产品线,能力覆盖站内、站外媒体相关的各种广告业务。面对层出不穷、频繁更迭的新业务场景、 新风险类型,传统的领域经验驱动的治理效率是远远不够的。研发一套可持续发展的算法框架是我们的唯一选择。即支持风控人员在弱领域经验时,对无标签新场景实现快速接入,面对新风险也能做到快速迭代。
1.3 DNA 平台简介
1.3.1 概览
为了解决上述问题,我们打造了新一代的阿里妈妈反作弊平台(Deepstring oN Alimama Defense Force,DNA)。DNA 平台包括:分级时效性的过滤应用、多主体的挖掘应用、无监督的样本库应用、模型训练应用、报表应用、分析应用等10+应用。本文重点介绍其核心的算法框架:DeepString。
DeepString利用大模型去学习业务自然规律,在无监督场景下也能保障交付效果和时效,同时举一反三,针对风险演变有更强的召回效果。弱化领域经验,新接入场景也能覆盖大部分风险。面对未知风险自动发现异常角度,召回不足时不依赖经验快速迭代。而且在设计上坚持流批一体,支持过滤系统在计算成本与效果约束间做取舍,满足不同场景对于时效性的需求。
在设计和实现过程中我们也遇到了许多难点,比如:为了提高精度,必须学习到以“大促活动”、“节假日”为代表的各类流量突变。但又不能被千变万化、规模不一的作弊流量所欺骗,以免影响召回。目前仍存在一些问题在持续解决中,我们尽量在框架设计上保留未来可迭代的开放性。
1.3.2 业务效果
目前DNA 平台的主干部分——以 DeepString 算法框架为核心的流式过滤应用,已经在阿里妈妈历史攻防最激烈的几个业务场景上线,并取得了非常显著的对抗收益。仅使用一套框架纯流式原理覆盖原100+ 模型,且在保障原有精度下,达成约 20% 召回增量提升,具有里程碑式的意义。
下图为过滤应用,在12份不同场景与风险类型的数据集上,相同精度下的召回对比(场景已脱敏,数据集均为百亿规模、时间横跨历史1-5年不等)。
2. DeepString 算法框架概述
DeepString 的名称源自弦理论(String Theory)这一科学领域的基本构成元素——“弦”。弦理论以统一量子力学与广义相对论为目标,深入探讨基本粒子及其相互作用的本质。DeepString 的核心理念在于,探索超高维样本空间中的无效流量异常子空间。随着独立异常维度的不断增加,我们逐步提升异常的置信度。
2.1 框架简介
DeepString 框架由 3 个部分串行组成,整个流程如下图所示:
前 2 个模块为全业务共享的基座模型(Foundation Model)。依靠长时间跨度、丰富的数据广度,学习普适的业务规律。离线的<事件挖掘>模块,以高时间复杂度为代价,通过启发式的搜索、投影,构建异常明显的事件。<事件异常度量>模块负责计算事件发生频次与理论值的差异。在实时应用中,按照时间轴流式统计频次。在离线应用中,使用批处理统计频次。
第 3 个模块为业务独享的对齐模型(Alignment Model),以业务侧特有的信号做启发,集成决策。对于在线流式过滤应用,第 3 部分使用无状态的集成函数,保持轻量、可解释。通过高频自动更新适应业务变化,从而保证长期效果稳定。
2.2 基本假设
假设 1:作弊一定会使流量增加
针对构造无效流量的场景,作弊一定会使流量增加。这一假设显然是成立的,但背后有许多问题:
假设 2:作弊的流量分布一定做不对
为了解决上述的问题,我们提出了假设二:作弊的流量分布一定做不对。
淘系生态有非常丰富的数据,数据之间充满了人无法直接理解、却又长期稳定存在的关系。
例如我们已知(数据为虚构),命中事件 b:<黑龙江省哈尔滨市,搜索词=连衣裙,10 点-11 点> 的流量每增长 1%,命中事件 c:<上海市,搜索词=平底锅,18 点-19 点> 的流量就会上升 0.28%。如果事件 b 流量增加,事件 c 却没有增加,事件 b 就可能出现了无效流量。这在没有淘宝的真实数据时,黑灰产是不可能做对的。
2.3 离线&在线应用
基于上述 2 个假设,在离线场景中,只需要事先定义合适的数据结构。未来每当作弊发生时,我们基于假设做启发式搜索,找到足够多、独立且流量增加的维度,就可以在高精度下召回作弊流量,同时从不同时效性修正样本库。
但是对于秒级延时的在线过滤应用,时效性显然是不足的。因此我们选择在每轮离线更新时,从历史全量样本库中启发得到异常显著增加的事件,和人工构造的事件(引入领域知识)结合。在高时效性约束下,最大化覆盖历史见过的作弊样本,又一定程度上能防御未来新作弊。
3. 基座模型(1/2):事件挖掘
3.1 什么是事件挖掘
事件挖掘的核心,是通过启发式搜索,找到让作弊流量增加更为明显的子空间。
以 cpc 计费场景为例,假设某段事件内 1 次点击事件为作弊的概率。在标签未知的情况下,“事件挖掘”模块的目标是寻找到事件使。在这种定义下,当发生作弊时,从事件的视角下更容易观察到流量增加。
事件挖掘决定了DeepString框架召回的上限。我们对事件的需求是保召回的,并不需要等价于作弊,类似于作弊的“必要条件”。然后通过多种角度集成来提高精度。
在上述的图例中,每个格子就代表着 1 个事件,例如事件b:<黑龙江省哈尔滨市,搜索词=连衣裙,10点-11点>。实际框架里常用的事件,是从高维空间启发式搜索、投影,得到的子空间,物理意义往往不像例子这样具体,与启发目标有关。
3.2 对比传统机器学习
我们对事件的假设,没有传统机器学习任务那么强。仅假设风险在新的样本空间集中,而非处于某个固定的取值范围。
举一个简单的例子,已知一个浏览器爬虫每隔 10 秒爬取一次宝贝信息。我们将时间间隔取值秒作为事件,。无论未来的爬虫是 10 秒还是 3 秒,取值相同就仍在事件上集中。
相比之下,传统有监督模型倾向记住的作弊概率较大,需要构造更抽象的特征才能获得泛化性。看似数据驱动,实则强依赖人工经验。约束放松后,DeepString 框架在保持泛化能力同时,提供了“弱化了领域经验”的可能性。
当然,问题也转变为,怎么得到事件,使作弊的条件概率显著上升,即。这部分在下一小节进行介绍。
3.3 如何挖掘事件
搜索问题的核心是效率问题。在淘系的数据场景中,原始数据是极高维且稀疏的。我们无法在有限时间内,暴力枚举所有的事件。而且很多场景没有标签,需要确定以哪种有相关性的假设来施加约束。以爬虫为例,爬虫设备未来不可能对平台有价值贡献。用长期用户价值为目标,做启发式投影,可以得到作弊集中的离散事件。
对于不同的数据结构,建模方法不同。以业内常用的几种数据结构为例,表格特征 -> 时间序列 -> 行为序列 -> 异质图,表达能力逐渐上升。比如,异质图不同采样策略下的游走,理论上可以获得超过行为序列的信息表达,但是子空间搜索的复杂度也在急剧上升。
另外,上文提到,框架需要利用多种独立事件异常集成来提高精度。事件挖掘能并行产出多种独立事件,效率会更高。
3.4 算法实例介绍
事件挖掘作为一个独立的组件,在框架中有多种实例。假设已经根据业务规律,定义了和风险相关的启发目标,一种做法是直接简化为监督学习任务。虽然大多时候启发式目标和“是否作弊”不是完全等价的,但是拟合相关目标也能保证。
下面给出了 2 种不同数据结构下的实例。
对于最传统的表格数据(数值变量、字符变量),参考并行树的建模方法。假设要生成 N 个独立的样本空间(每个样本空间都由一组有限且互斥的事件组成),xgboost 并行训练 N 棵树,每次分裂随机选择部分样本、部分特征,从而引入树之间的随机性。采样率越小 N 个样本空间的随机性越强。
对于序列数据(时间序列、行为序列、图游走序列),先通过序列模型多任务拟合 M 种启发目标, 获得异常集中的 Embedding 表达,然后再分别并行做 K 组,引入随机性的投影,得到种离散、独立的样本空间。
除了利用业务规律定义启发目标外,也存在许多普遍适用的假设。比如用序列的前 n 个元素的概率分布预估未来 t 个元素的概率分布,能把行为模式相似的流量,投影到相近的样本空间中。模型推理仅参考序列历史的概率分布,与序列的物理意义无关。在满足一些基本约束(如序列长度、稀疏度),就可以跨领域复用。
4. 基座模型(2/2):事件异常度量
4.1 估计事件发生的概率
前文已经介绍过,在 DeepString 框架内想要度量出异常的程度,首先要利用时间与空间上普适的业务规律,得到事件在正常情况下发生的概率。
4.1.1 普适的业务规律
对于任一事件 b, 如果只参考时间轴,只能发现时间轴上突发的异常信号。而且大促、节假日这种普遍流量低估、高估的场景偏差天然会比较大。如果只参考空间轴(即其他的事件),事件间的关系会随着时间会发生变化,同样会导致流量被低估或高估。比如“成人用品”相关的类目在夜间流量会显著上升。若不参考时间维度,相关事件在夜间异常度会上升。
上述类似的问题是无法被穷举的。此外,作弊会导致流量间的规律发生变化。既要精确捕捉正常流量规律,又不想被作弊污染所欺骗。数据驱动的学习时间与空间上普适的业务规律,是我们唯一的机会。
4.1.2 方案实例
接下来介绍一种线上流式过滤系统中的方案实例。
为了保证规律可学习,该方案在离线训练过程中,首先将流量规模相近、相互关系比较稳定的事件划分(如时间序列聚类)至只包含一部分流量的事件组。同一事件组可能同时包含,事件 b:<黑龙江省哈尔滨市,搜索词=连衣裙,10 点 - 11 点>、事件 c:<上海市,搜索词=平底锅,18 点 - 19 点>。
我们选择将事件按照时间轴排列,整个事件组记为,在不同时间切片上构成的序列作为 3 维张量共同建模。分别估计下一个时间切片上事件 发生的条件概率 ,其中。这样即使像双十一这种流量普遍发生变化的场景,也不会改变内部各个事件的相对关系。
下图的实例中,模型使用卷积来提取,事件发生规律的抽象表达。再通过注意力机制,提取不同事件表达之间的关系。由于事件的表达是仅参考自身历史抽象得来的,事件之间的关系并不依赖输入的相对位置。
4.2 计算实际与预估的差异
在前一小节的实例中,已知事件b理论发生的概率,和试验次数n和实际发生次数k,度量异常程度的方法我们也开发了许多组件。比如基于传统单变量极值的异常检测方法,可以直接利用二项分布公式精确计算事件发生概率。也可以使用尾部概率不等式(如切诺夫界、霍夫丁不等式)、尾部置信度检验(如 z 值检验、t 值检验)。用于评价模型性能的 metric 函数也可以使用。比如解释方差(Explained Variance)是一种对回归模型性能度量的方法。只关心偏差的方差,而不关心偏差本身。这对于淘宝流量节假日天然高估、大促天然低估的问题,非常友好。
在淘系复杂的业务背景下,单条样本有偏差几乎是必然的,我们更关心偏差的分布。此外,上述提到的各种方法背后代表着不同的假设,现实业务中几乎没有哪种强假设是永远成立的。不同组件的组合使用,也会为框架带来额外的集成收益。下一节对集成模块做简单介绍。
5. 对齐模型:集成
5.1 集成思路简介
以 MSE 损失为例:
而n个随机变量的均值的方差可以写为:
p描述变量之间的相关性,完全相关时,只有第 1 项。正交时,仅有第 2 项,即 iid 条件下的方差。增加集成的独立随机变量个数,即通过增大分母N减少,从而减少error。
在 DeepString 框架中,各个模块中的组件选择不同,都会构造出不同的随机变量,这就为系统提供了丰富的集成视角。最重要的还是事件挖掘,其余模块引入的视角相关性会更强。导致第一项的权重较大,集成收益减少。
流式过滤实例中,主要参考信贷领域的评分卡模型,开发了自动建模的 pipeline。由于输入都是和作弊正相关的异常分数,流程也会被极大简化。重点在于输入变量的标准化与去相关性,最后使用非负线性模型对多个子异常分进行集成,得到最终分数。
5.2 偏差校准
集成模型优化目标是全局最优,在局部偏差的分布会有差异。例如集成时拟合后续转化效果,就倾向于过滤一些低转化率的商品类目。校准模块可以对齐偏差,保证系统在各个角度上的过滤对于正常流量无偏。另一个好处是,可以保证模型每次更新的最终分数的物理含义都相同,过滤阈值固定。
下图展示了 1 个实例,参考了 CTR 预估中的校准模型,将置信正常样本的分数分布,统一映射到均匀分布,且固定白样本的最大值为,如。
由于其足够轻量,在流式过滤场景校准模块上可以支持实时的训练与切换,搭配比例-积分-微分控制器(Proportional-Integral-Derivative Controller,PID)实时调整阈值的能力,控制系统在任何突发情况下,精度不下降。
6. 总结与展望
本文主要介绍了 DNA 平台 DeepString 算法框架的理念,并给出了一些实例示意便于理解。
目前 DNA平台仍有许多不完美。以自动事件挖掘为例,目前只能做到一定程度上弱化人工经验。想真正做到 0 经验,但对于数十种节点、十数种边的异质图的搜索问题还有待突破。在面对一些极端稀疏的问题时,风险定性本身就是困难的,目前也仍需要引入人工知识来辅助。
此外,面临跨数十个场景的业务知识如何更好地共享、面对大规模漏召回时如何自迭代、如何更精准地捕捉业务规律等,有太多的问题等待着进一步优化。团队有很多同学在致力于优化各个模块,衷心希望志同道合的小伙伴能选择加入<阿里妈妈-风控技术团队>,和资深的领域专家、有激情的新生力量们一起交流、学习、实验,一起挑战领域内最难的问题。争取为行业带来一点小小的改变。
如果这篇文章对你有启发或者对内容有疑问,欢迎在评论区和我们分享或咨询。感谢阅读~
✉️ 简历投递邮箱:alimama_tech@service.alibaba.com