实时检测机器人广告点击的深度学习技术
研究背景
机器人广告点击检测是一项关键任务,旨在确定电子商务网站上的广告点击是由人类还是软件代理发起。其目标是确保广告主活动不会因机器人活动而被计费,同时不会错误地使人类点击失效。该系统必须实时运行,对广告主体验造成最小干扰,并且必须具备可扩展性、全面性、精确性,能够快速响应变化的流量模式。
在今年的创新人工智能应用会议(IAAI)上,我们展示了SLIDR(切片级机器人检测)系统。这是一个通过弱监督训练的实时深度神经网络模型,用于识别在线广告中的无效点击。自2021年以来,SLIDR已在某中心部署,保护广告主活动免受机器人点击的影响。
技术挑战
在线广告中的机器人活动检测面临多种挑战:
- 难以获得具有高覆盖率的精确地面真实标签
- 机器人行为模式不断演变
- 不同流量切片(如桌面端与移动端)中的机器人行为模式存在显著差异
- 误报会降低广告收入
标签生成
由于无法获得大规模准确的地面真实数据,我们通过识别两种极不可能由机器人执行的高门槛活动来生成数据标签:
- 导致购买的广告点击
- 来自具有高RFM分数的客户账户的广告点击
RFM分数代表客户在某中心购买模式的最近一次购买时间(R)、购买频率(F)和购买金额(M)。这两种点击都被标记为人类点击;所有剩余的点击都被标记为非人类点击。
评估指标
由于缺乏可靠的地面真实标签,无法使用准确率等典型指标来评估模型性能。因此我们转向三个更具体的指标:
失效率(IVR):被算法标记为机器人的点击占总点击的比例。IVR反映了我们模型的召回率,因为具有较高IVR的模型更可能使机器人点击失效。
误报率(FPR):我们将购买点击视为人类点击分布的代理,并将FPR定义为被算法失效的购买点击比例。这里我们做出两个假设:(1)所有购买点击都是人类点击;(2)购买点击是所有人类点击的代表性样本。
机器人覆盖率:通过检查模型对识别高可能性机器人点击的启发式方法的覆盖范围来定义更精确的召回率变体。
神经网络模型
我们考虑各种输入特征,使模型能够区分机器人和人类行为:
- 用户级频率和速度计数器:计算用户在不同时间段内的点击量和点击率
- 用户实体计数器:跟踪来自IP的不同会话或用户数量等统计信息
- 点击时间:跟踪一天中的小时和一周中的天数
- 登录状态:区分客户和未登录会话
神经网络是一个二元分类器,由三个具有ReLU激活和L2正则化的全连接层组成。
在训练模型时,我们使用样本权重,在一天中的小时、一周中的天数、登录状态和标签值上对点击进行等效加权。我们发现样本权重对于提高模型性能和稳定性至关重要。
校准优化
校准涉及选择模型输出概率的阈值,高于该阈值的所有点击都被标记为无效。模型应该使某些高度机器人的点击失效,但同时不会因使人类点击失效而产生高收入损失。
为确保所有流量切片的公平性,我们将校准制定为凸优化问题。我们通过固定总体FPR预算(所有切片组合的FPR上限)在所有切片上执行联合优化,并求解以最大化所有切片上的组合IVR。优化必须满足两个条件:(1)每个切片具有最小机器人覆盖率;(2)所有切片的组合FPR不应超过FPR预算。
系统部署
为快速适应变化的机器人模式,我们构建了一个离线系统,每天重新训练和重新校准模型。对于传入的流量请求,实时组件使用Redis和只读数据库缓存的组合计算特征值,并在水平可扩展的GPU实例集群上运行神经网络推理。为满足实时约束,整个推理服务的p99.9延迟低于五毫秒。
为解决重新训练和重新校准期间的数据和模型异常,我们在输入训练数据和模型性能上设置了某些防护措施。例如,当几小时内缺少购买标签时,模型可能学会使大量流量失效。防护措施(如每周每小时的最小人类密度)可防止此类行为。
我们还开发了灾难恢复机制,例如在观察到急剧指标偏差时快速回滚到先前稳定的模型,以及重放工具可以重放流量通过先前稳定的模型或重新计算实时特征并发布延迟决策,这有助于防止高影响事件。
未来方向
未来,我们计划向模型添加更多特征,例如用户、IP、用户代理和搜索查询的学习表示。我们还计划试验先进的神经架构,如深度和交叉网络,这些架构可以有效地捕获表格数据中的特征交互。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码
公众号二维码