实时检测机器人广告点击的深度学习方案

介绍SLIDR系统如何利用深度学习和优化技术实时识别无效广告点击,包括弱监督训练、流量分片校准和系统部署细节,有效保护广告主免受机器人点击损失。

实时无效化机器人广告点击

机器人广告点击检测旨在判断电商网站上的广告点击是由人类还是软件代理发起,其目标是确保广告主活动不被机器人行为计费,同时不错误无效化人类点击。该检测必须实时运行,对广告主体验干扰最小,且具备可扩展性、全面性、精确性,并能快速响应变化的流量模式。

在今年的创新人工智能应用会议(IAAI)上,我们提出了SLIDR(分片级机器人检测),这是一种实时深度神经网络模型,通过弱监督训练识别在线广告中的无效点击。自2021年起,SLIDR已在某中心部署,保护广告主活动免受机器人点击侵害。

挑战

在线广告中检测机器人活动面临多种挑战:

  1. 难以获得高覆盖率的精确真实标签;
  2. 机器人行为模式不断演变;
  3. 机器人行为模式在不同流量分片(如桌面端与移动端)间差异显著;
  4. 误报会减少广告收入。

标签生成

由于无法大规模获取准确真实标签,通过识别两种极不可能由机器人执行的高门槛活动生成数据标签:

  1. 导致购买的广告点击;
  2. 来自具有高RFM评分客户账户的广告点击。RFM评分代表客户在某中心购买模式的近期度(R)、频率(F)和货币价值(M)。此类点击被标记为人类点击;其余点击标记为非人类。

评估指标

缺乏可靠真实标签时,无法使用准确率等典型指标评估模型性能,因此采用三种特定指标:

  • 无效化率(IVR):算法标记为机器人的点击占总点击的比例,反映模型召回率。
  • 误报率(FPR):购买点击中被算法无效化的比例,假设所有购买点击均为人类且代表所有人类点击。
  • 机器人覆盖率:通过启发式方法(如一小时内超过k次广告点击的用户会话标记为机器人)评估模型覆盖范围。

神经网络模型

模型输入特征包括:

  • 用户级频率和速度计数器:计算不同时间段内用户的点击量和速率,识别突发机器人攻击。
  • 用户实体计数器:跟踪IP的会话或用户数统计,识别可能作为网关的IP地址。
  • 点击时间:记录小时和星期几,映射到单位圆,人类活动遵循昼夜和每周模式而机器人活动常不遵循。
  • 登录状态:区分登录客户和非登录会话,后者机器人流量更多。

神经网络为二元分类器,包含三个全连接层,使用ReLU激活函数和中间层L2正则化。训练时使用样本权重,平衡不同时间、登录状态和标签的点击权重,提升模型性能和稳定性。

校准

校准涉及选择模型输出概率的阈值,高于该阈值的点击标记为无效。目标是无效化高机器人点击同时避免无效化人类点击导致收入损失。一种方法是选择IVR-FPR曲线的“拐点”,超过该点误报率急剧增加。

为保障所有流量分片的公平性,将校准表述为凸优化问题:固定总体FPR预算(所有分片FPR上限),联合优化最大化总IVR,同时满足各分片最小机器人覆盖率(FPR下限)且总FPR不超预算。通过近似各分片IVR-FPR曲线为二次函数,求解联合优化问题。

部署系统

为快速适应变化的机器人模式,构建离线系统每日重新训练和校准模型。实时组件使用Redis和只读数据库缓存计算特征值,并在可水平扩展的GPU实例上运行神经网络推理。整个推理服务运行在某机构云上,p99.9延迟低于5毫秒。

为防止重新训练和校准时的数据和模型异常,对输入训练数据和模型性能设置防护措施,如每周每小时最小人类密度防护。还开发了灾难恢复机制,如观察到指标急剧偏差时快速回滚到先前稳定模型,以及重放工具重新处理流量或重新计算实时特征发布延迟决策。

未来计划添加更多特征,如用户、IP、UserAgent和搜索查询的学习表示,并试验深度交叉网络等先进神经架构以有效捕获表格数据中的特征交互。

致谢:Muneeb Ahmed

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计