英文原标题:Uplifting conversion across the acquisition funnel with personalization using contextual bandits on AWS

本文为英文原文的机器翻译摘要,原文见:AWS Machine Learning Blog ↗

本文介绍了Amazon Payments如何利用基于Amazon SageMaker AI的多目标上下文多臂老虎机(MAB)在获客漏斗中实现个性化,通过七周A/B测试,在某一客户群体中最终转化率获得高个位数百分比的相对提升,而另一群体未见改善,问题在于内容而非模型。

背景与挑战

生成式AI使得大规模、低成本地生产个性化内容成为可能,但随之而来的挑战是如何从众多选项中选择最适合每个客户的内容,并快速学习。本文聚焦于这一选择问题。

Amazon Payments在获客漏斗中应用了基于AI的个性化,采用多目标上下文多臂老虎机(MAB)在Amazon SageMaker AI上实现。

  • 生成式AI解决了内容生产问题,但选择问题成为新挑战。
  • 多臂老虎机(MAB)适用于选项多、流量有限的场景,能在服务客户的同时学习最佳选项。

多臂老虎机与上下文老虎机

多臂老虎机(MAB)是一种强化学习方法,将每个内容变体视为一个“臂”,通过实时流量测试并逐步将曝光转向表现好的臂,同时保留一部分流量继续探索。这平衡了利用(服务当前最佳臂)和探索(尝试不确定的臂)。

标准MAB为整个受众学习一个最佳臂,而个性化需要根据访问者特征进行条件决策,因此需要上下文老虎机。上下文老虎机直接基于特征向量进行条件决策,使得在一个上下文中学习的模式可以迁移到所有相似的访问,无需为每个分组单独分配流量。

  • MAB的核心是平衡利用与探索,持续改进且无需等待测试结束。
  • 上下文老虎机通过特征向量实现个性化,避免人为分组和流量分割。
  • Amazon Payments选择UCB策略,因其确定性选择规则可审计、可复现。

LinUCB算法

Amazon Payments选择了Linear UCB(LinUCB)作为上下文方法。LinUCB计算高效、可审计,并能处理大臂空间和有限冷启动数据。其假设是臂的期望奖励是上下文向量的线性函数,从而能泛化到未见过的访问者。

每个臂维护两个累加器:奖励账本b(记录哪些访问者信号导致转化)和经验账本A(记录臂见过的访问者)。通过奖励除以经验得到估计θ = A⁻¹·b。经验账本还随着证据增加而缩小探索奖励。臂的得分由估计值和不确定性奖励组成,不确定性奖励是上下文相关的,对于很少见到的访问者类型较大,对于常见类型较小。

  • LinUCB通过线性假设实现特征级学习,泛化到新访问者。
  • 每个臂独立维护奖励和经验矩阵,增量更新无需重新训练。
  • 探索奖励随证据增加而减小,实现自适应探索。

优化整个漏斗

客户旅程包括三个步骤:申请开始、提交和批准。目标是多阶段结果,而非单一指标。这些阶段并不一致:优化开始可能吸引广泛受众,但批准取决于报价是否适合申请人。孤立优化一个阶段可能损害另一个阶段,称为“跷跷板问题”。反之,仅优化批准会因批准稀少且延迟而缺乏信号。

该方法通过为每个阶段(开始、提交、批准)运行一个LinUCB模型,并通过线性组合结合它们的UCB得分来同时优化整个漏斗。阶段权重可以根据业务优先级分配或通过校准步骤学习。实践中使用了近似相等的权重。

  • 漏斗优化面临多阶段目标不一致的挑战。
  • 通过多目标LinUCB组合各阶段得分,实现整体优化。
  • 阶段权重可调整,例如在模型预热后增加批准权重。

实现与结果

代码示例展示了LinUCBDisjoint类为每个臂维护独立参数,以及MultiObjectiveLinUCB类组合三个阶段的LinUCB。每个臂的更新是精确的增量更新,无需重新训练。

在七周的在线A/B测试中,一个客户群体的最终漏斗转化率获得高个位数百分比的相对提升,而另一个群体未见改善。分析表明问题在于内容而非模型。

  • 提供了可复现的代码仓库,可在合成数据上测试该方法。
  • A/B测试显示不同客户群体效果差异,内容质量是关键因素。

站内导航