书接上回《基于强化学习的自动出价论文阅读笔记(2)》。上一篇笔记介绍了带约束自动出价统一方案------USCB和个性化自动出价方案------PerBid。USCB对各种类型约束下的自动出价进行统一建模,推导出通用的出价计算公式,并使用无模型强化学习中同时学习价值函数和策略函数的Actor-Critic算法之一------DDPG算法,先离线与仿真竞价系统交互进行训练、再在线与真实竞价系统交互进行预测,输出出价计算公式中各参数最优值,从而计算出价并竞价,最终实现各种类型约束下广告流量价值的最大化。PerBid针对使用一个智能体为不同广告主进行自动出价所带来的公平性问题,在USCB的基础上,首先通过广告计划画像网络输出广告计划画像表征,以表征广告计划的静态属性特征和动态环境特征,然后将广告计划划分为多个类簇,为每个类簇构建一个自动出价智能体,并且每个自动出价智能体将广告计划画像表征作为状态输入之一、从而感知不同广告计划动态环境的上下文,通过为每个广告计划适配相应的智能体,在保障投放效果的同时,也提升广告投放的公平性。
之前两篇笔记所介绍的各自动出价方案,均先离线与仿真竞价系统交互进行训练、再在线与真实竞价系统交互进行预测,因此存在一个共性问题是如何保持仿真竞价系统和真实竞价系统的一致性,而真实竞价系统存在复杂的拍卖机制、激励的出价竞争,仿真竞价系统难以精确模拟真实竞价系统,而如果不能保持两个系统的一致性,则可能导致仿真竞价系统下所训练的自动出价方案在真实竞价系统中非最优。
为解决上述问题,一种方案是用真实竞价系统替代仿真竞价系统,让智能体通过与真实竞价系统的交互,进行策略学习,但直接替代并不可行,若直接替代,初始未训练的智能体与真实竞价系统交互会生成不安全的出价,影响广告投放效果。而另一种方案是使用离线强化学习,这里需要注意的是,离线强化学习中的"离线"和离线与仿真竞价系统交互进行训练的"离线"并不是一个概念,离线强化学习中的"离线"是指不与环境交互,使用预先已收集的轨迹数据进行训练,而在线强化学习则会与环境交互,收集交互后产生的轨迹数据进行训练,因此之前两篇笔记所介绍的各自动出价方案均属于在线强化学习,只是与智能体发生交互的是仿真竞价系统、非真实竞价系统,而离线强化学习因为不与环境交互,所以训练时也不需要仿真竞价系统,但同时也引入了另一个问题------分布偏移,因此,目前离线强化学习领域有较多的工作探索如何解决分布偏移问题,如CQL、IQL等。
本篇笔记主要介绍阿里妈妈在2023年发表的论文《Sustainable Online Reinforcement Learning for Auto-bidding》,其提出的SOLA框架,将离线强化学习和在线安全探索相结合,同时解决了训练依赖仿真竞价系统和在线探索出价安全性的问题。笔记如有不足之处,请指正。
离线强化学习背景介绍
在线和离线强化学习的区别
首先看一下离线强化学习和在线强化学习(进一步可分为在线策略和离线策略)的区别。
在线强化学习在线策略算法的示意图如图1所示。强化学习智能体使用当前策略 πk(作为行为策略),根据状态 s决策待执行动作 a,然后在环境中执行动作 a,得到奖励 r,并转移到下一个状态 s′,从而得到轨迹数据 {(si,ai,si′,ri)},最后智能体直接使用上述由策略 πk采样得到的轨迹数据对策略 πk**(作为目标策略)的参数进行更新,从而得到新策略** πk+1**,即行为策略和目标策略是同一个策略**。

在线强化学习离线策略算法的示意图如图2所示。强化学习智能体使用当前策略 πk(作为行为策略),根据状态 s决策待执行动作 a,然后在环境中执行动作 a,得到奖励 r,并转移到下一个状态 s′,从而得到轨迹数据 {(si,ai,si′,ri)},但后续和在线策略不同,智能体并不直接使用上述由策略 πk采样得到的轨迹数据对策略 πk(作为目标策略)的参数进行更新,而是先将轨迹数据放入缓存池 D,再从缓存池 D采样轨迹数据对策略 πk的参数进行更新,从而得到新策略 πk+1,因为缓存池 D包含由前序多个策略 π0,π1,...,πk采样得到的轨迹数据,所以从缓存池 D采样并进行策略更新的轨迹数据不一定是由策略 πk采样得到的,即行为策略和目标策略不是同一个策略。

在线策略和离线策略算法均属于在线强化学习,即训练时智能体与环境发生交互、产生新的轨迹数据用于策略训练,而离线强化学习(offline reinforcement learning),如图3所示,其训练所需的轨迹数据提前由另一个行为策略与环境发生交互而产生,训练时智能体与环境不发生交互,不产生新的轨迹数据。

离线强化学习中的分布偏移问题
强化学习中状态动作价值网络 Qθ(s,a)可通过以下贝尔曼最优迭代求解:
Qθ(s,a)←r(s,a)+a′maxQ(s′,a′)
其中, s表示状态, a表示状态 s下的动作, s′表示状态 s下进行动作 a后转移的下一个状态, Qθ(s,a)表示由状态动作价值网络预测状态 s下进行动作 a的状态动作价值,该值可由 r(s,a)+maxa′Q(s′,a′)逼近,其中 r(s,a)表示状态 s下进行动作 a获得的奖励, maxa′Q(s′,a′)表示状态 s′下进行任一动作所能取得的状态动作价值的最大值,该值也可由状态动作价值网络 Qθ(s′,a′)预测,且 a′为 Qθ(s′,a)取得最大值时动作的取值,即 a′=argmaxaQθ(s′,a)。
而离线强化学习的轨迹数据集提前由另一个行为策略与环境发生交互而产生,训练时智能体与环境不发生交互,不产生新的轨迹数据,因此, (s′,a′)可能并不在已有的轨迹数据集中,从而导致分布偏差(OOD)问题。若 (s′,a′)不在已有的轨迹数据集中,则由于没有数据支撑,导致状态动作价值网络 Qθ(s′,a′)的预测值可能与真实值有偏,进一步导致 maxa′Qθ(s′,a′)被高估的问题,这一问题也被称为外推误差(Extrapolation Error)问题。
离线强化学习和在线安全探索相结合的方案-SOLA
阿里妈妈在2023年发表的论文《Sustainable Online Reinforcement Learning for Auto-bidding》提出了SOLA算法,将离线强化学习和在线安全探索相结合,同时解决了训练依赖仿真竞价系统和在线探索出价安全性的问题。
问题建模
论文使用带约束的马尔科夫决策过程(Constrained Markov Decision Process,CMDP)对自动出价问题进行建模。
在强化学习背景知识中,笔者已介绍马尔可夫决策过程由元组 ⟨S,A,P,r,γ⟩构成、以及元组中各元素的含义。对于上述自动出价场景下的带约束的马尔可夫决策过程,其相应的各元素具体含义如下:
- 状态集合 S,自动出价智能体第 t步的状态 st包含以下属性:当前步数 t;第 t步的剩余预算 Bt;第 t步往后剩余可调整出价调控系数的次数 ROLt;第 t−1步和第 t步之间的预算消耗速率 BCRt=(Bt−Bt−1)/Bt−1;第 t−1步和第 t步之间的千次广告展现费用 CPMt;竞胜率 WRt;上一步动作 at−1所获得的奖励 rt−1(即第 t−1步和第 t步之间的广告流量为广告主带来的点击或转化之和)。
- 动作集合 A,动作 a以比例的方式对出价调控系数进行调整,即 λt=λt−1×(1+βa)。
- 状态转移函数 T(或 P),论文基于无模型的强化学习算法,因此无需对环境进行建模,不求解状态转移函数。
- 奖励 r,第 t步的奖励 rt为第 t步和第 t+1步之间竞得的广告流量价值之和。
- 费用约束 c,第 t步的费用 ct为第 t步和第 t+1步之间竞得的广告流量费用之和。
- 折扣因子 γ,因为各时段的奖励对于最大化当天累积奖励的目标来说有相等的权重,不会按时间衰减,所以折扣因子被固定为1。
自动出价问题的目标可表示为:
μ∈ΠmaxV(μ)≜Est+1∼P,at∼μt=1∑Tγtrt(st,at), subject to t=1∑Tct(st,at)≤B
即在满足预算约束下,最大化累计奖励。
之前两篇笔记所介绍的各自动出价方案,均先离线与仿真竞价系统交互进行训练、再在线与真实竞价系统交互进行预测,因此存在一个共性问题是仿真竞价系统和真实竞价系统并不完全一致,即IBOO(inconsistency between online and offline)问题。
论文介绍了真实竞价系统(Real-world Advertising System,RAS)和仿真竞价系统(Virtual Advertising System,VAS)的不同(仿真竞价系统被称为虚拟竞价系统更合适,为了和前两篇笔记保持一致,这里暂仍称为仿真系统系统),如图4所示,真实竞价系统采用两阶段竞价,第一阶段为粗排,从数十万广告中筛选出数百个广告,第二阶段为精排,从数百个广告中筛选出最终竞胜的广告,而仿真竞价系统采用一阶段竞价,只使用线上精排日志模拟竞价环境;真实竞价系统存在多种拍卖机制,而仿真竞价系统只采用GSP拍卖机制;真实竞价系统除当前广告主外、其余广告主也会不断调整出价,而仿真竞价系统中,其余广告主的出价以市场价的形式被固定,不会变化。

解决方案
基于上述问题,论文提出了SOLA框架,将离线强化学习和在线安全探索相结合,通过离线强化学习解决训练依赖仿真竞价系统的问题,通过在线安全探索解决在线探索出价安全性的问题。
在线安全探索
论文首先设计在线安全探索策略。令 μs表示自动出价策略, πe表示探索策略,则安全探索的要求可表示为:
V(μs)−V(πe)≤ϵs
即因探索导致的广告价值的下降应小于阈值 ϵs。而动作价值函数的贝尔曼迭代方程如下:
Qμ(st,at)=rt(st,at)+γEst+1∼P(⋅∣st,at)Qμ(st+1,μ(st+1))
论文证明,给定状态 st时,动作价值函数 Q 随 at的变化满足Lipschitz平滑,即动作价值函数随 at变化的斜率小于常数 LQ,如图5所示,其中,若保证广告价值下降值小于阈值 ϵs,则探索的安全区间(即动作的取值区间)应在 μs(st)−ξ和 μs(st)+ξ之间,且 ξ≤LQγt1ΔTϵs。

则探索策略可表示为:
πe(st)={sampling fromμs(st)−ξ,μs(st)+ξ,μs(st)t1≤t≤t2;otherwise. ∀t
其中, 0≤t1≤t2≤T−1,且 ΔT=t2−t1+1,即在一段时间内,在安全区间内采样动作进行探索,在其他时间内,直接使用出价策略的最优动作。
而对于上式中的采样方法,在安全性保证下,论文进一步设计采样方法以提升探索效率。一般采样方法可采用高斯分布,如下所示:
π~e,N=N(μs(st),σ2)
论文希望新采样方法的分布 π~e满足以下目标:
π~e,∀stmax Eat∼π~e(⋅∣st)Q (st,at) s.t. DKL(π~e,π~e,N)≤ϵe
即 π~e在高斯分布的基础上向动作价值期望最大的方向偏移,以提升探索效率,同时新分布和原高斯分布的差异在一定范围内,保证安全性。最后可求得 π~e:
π~e=C(st)π~e,Nexp{λ1Q (st,at)}=C(st)1exp⎩ ⎨ ⎧safety −2σ2(at−μs(st))2+efficiency λ1Q (st,at)⎭ ⎬ ⎫C(st)=∫atexp{−2σ2(at−μs(st))2+λ1Q (st,at)}dat
新分布 π~e和高斯分布的曲线如图6所示。

综上,论文提出的在线安全探索策略可表示为:
πe(st)={sampling fromμs(st)−ξ,μs(st)+ξ with π~e,μs(st)t1≤t≤t2;otherwise. ∀t
即在一段时间内,在安全区间内使用分布 π~e采样动作进行探索,在其他时间内,直接使用出价策略的最优动作。
离线强化学习
因为在线安全探索策略只在安全区域探索,所以无法收集安全区域外的状态、动作对数据,因此,在离线强化学习时,需要解决分布偏差问题。目前解决分布偏差的离线强化学习算法有CQL、BCQ等,其中CQL的思想是在已有强化学习算法的基础上,对已有数据集区域外的动作价值增加惩罚,避免高估。
第一篇笔记中已介绍,强化学习的动作价值网络可通过以下贝尔曼最优迭代求解:
Q(s,a)←Q(s,a)+αr+γa′∈AmaxQ(s′,a′)−Q(s,a)
其中,使用 r+γmaxa′∈AQ(s′,a′)和 Q(s,a)的差值迭代更新 Q(s,a),也就是说,使 Q(s,a)逼近 r+γmaxa′∈AQ(s′,a′),因此,对于一组轨迹数据 {(si,ai,ri,si′)},动作价值网络的损失函数可以表示为以下均方误差:
w∗=argwmin2N1i=1∑NQw(si,ai)−(ri+γa′maxQw(si′,a′))2
SOLA这篇论文将上式表示为:
LTD=21Esk,ak,sk′∼D(Q (sk,ak)−BˉQˉ(sk,ak))2
其中, Q (sk,ak)表示动作价值网络, Qˉ(sk,ak)表示动作价值网络的目标网络, Bˉ表示贝尔曼算子,即 BˉQˉ(sk,ak)=rk+γmaxak′Qˉ(sk′,ak′)。
论文借鉴了离线强化学习领域已有的CQL(Conservative Q-Learning)算法,在原动作价值网络损失函数的基础上,增加以下约束项,以解决离线强化学习的分布偏差和外推误差问题:
LCQL=α1conservative penalty: punishing all actions Esk∼D loga∼Unif(A)∑exp(Q (sk,a)) −α2Reward the in-distribution actions Esk∼DQ (sk,μb(sk))
其中,第一部分为惩罚项,即对满足均匀分布的所有动作的动作价值进行惩罚,防止动作价值的过高估计,第一部分值越小越好,第二部分为奖励项,即对数据集中已有动作的动作价值进行奖励,因为可认为动作价值网络对数据集中已有动作的动作价值预估比较准确,可以不进行惩罚,所以通过上述奖励项对数据集中已有动作在第一部分的惩罚进行补偿,第二部分值越大越好。 α1和 α2为控制上述两项权重的超参, D为数据集, μb为在真实竞价系统进行出价并采集数据的行为策略。
下一节会介绍SOLA算法整体框架是一个迭代的过程,启动阶段使用已有安全策略在真实竞价系统进行出价并采集数据后,开始迭代阶段,每次迭代中,先使用已有数据集进行离线强化学习训练,训练得到新策略后,再在真实竞价系统进行出价并采集数据,新采集的数据扩充原有数据集,因此 μb可表示为:
μb={μs,πe,τ,for data in Dsfor data in Don,τ
即启动阶段,行为策略为已有安全策略,后续第 τ次迭代,行为策略为当前迭代的在线安全探索策略。
论文还指出离线强化学习的另一个问题------离线评估(Off-Policy Evaluation,OPE)的不准确问题。离线强化学习的训练阶段虽然不再与仿真竞价系统(VAS)交互,但是评估阶段还是通过仿真竞价系统的交互,取得各步交互的奖励,并与理论最优奖励对比,作为评估指标,这一评估方式被称为离线评估。而仿真竞价系统(VAS)和真实竞价系统(RAS)的不一致,会导致离线评估的不准确,即离线评估指标值高的策略在真实竞价系统中取得的效果不一定好。
为了解决上述离线评估不准确的问题、以及离线强化学习训练不稳定的问题,论文首先发现由USCB算法在仿真竞价系统中交互训练所得的动作价值网络(之前的SOTA),以及在模拟的真实竞价系统中进行交互训练所得的动作价值网络,其在不同状态下,动作价值随动作的变化满足二次型(Quadratic Form),分别如图7和图8所示。因此,论文认为通过离线强化学习训练所得的动作价值网络,其在不同状态下,动作价值随动作的变化也应该满足二次型(Quadratic Form),从而在损失函数中进一步增加以下正则项:
LV=βEsk∼DDKL(∑a∼Unif(A)exp(Q (sk,a))exp(Q (sk,⋅)),∑a∼Unif(A)exp(Q qua(sk,a))exp(Q qua(sk,⋅)))
即通过KL散度,使得当前训练的动作价值网络 Q 尽量拟合之前训练的满足二次型的动作价值网络 Q qua。其中, β为控制该损失项权重的超参, DKL表示KL散度算子, Q 表示动作价值网络, Q qua表示满足二次型的动作价值网络。令动作满足均匀分布,然后使用Softmax函数将动作价值随动作的变化转化为一种概率密度函数,然后使用KL散度计算两种概率密度函数的相似性,通过最小化上述KL散度,使得 Q 的形态接近 Q qua。论文中,每次迭代中的 Q qua取上次迭代中的 Q ,第一次迭代中的 Q qua则取USCB算法在仿真竞价系统中交互训练所得的动作价值网络。


因此,论文最终动作价值网络的损失函数可表示为:
LV-CQL=LTD+LCQL+LV
整体框架

最终的SOLA框架如图9所示,伪代码如图10所示,其整体分为两个阶段,在启动阶段(Warm Booting),SOLA使用由USCB算法训练所得的出价策略 μs在真实竞价系统中进行出价、获取轨迹数据集 Ds={(sk,ak,rk,sk′)}k,并基于 Ds使用V-CQL算法训练得到初始出价策略 μ0;在迭代阶段(Iteration Process),SOLA会迭代多次,令第 τ次迭代的出价策略为 μτ,在线安全探索策略为 πe,τ,该次迭代在真实竞价系统中使用在线安全探索策略进行出价、获取的轨迹数据集为 Don,τ,然后基于已有累积的数据集使用V-CQL算法训练出价策略 μτ,如次迭代,直至最终算法收敛。

实验评估
实验评估时,论文构建了真实竞价系统(RAS)的模拟环境,论文称之为(s-RAS),s-RAS与仿真竞价系统(VAS)不同,仿真竞价系统中,其他广告主的出价根据历史精排日志固定,真实竞价系统的模拟环境中,其他广告主也会根据已有策略进行自动出价。
实验评估指标包括已消耗预算(Consumed Budget, ConBdg)、投资回报率(Return on Investment,ROI)、单次转化成本(Cost Per Acquisition,CPA),ConBdg、ROI越高越好,CPA越低越好。
实验评估所对比的模型包括:整体框架上,SOLA和USCB比较,离线强化学习上,V-CQL和BCQ、CQL比较,在线安全探索上,论文设计的采样分布(SER)和高斯分布比较。

如图11所示,使用论文设计的采样分布(SER)和高斯分布进行探索,累积价值的下降在5%以内,并且论文设计的采样分布相比高斯分布,累积价值随迭代的提升更快,说明使用论文设计的采样分布进行探索的安全性和有效性。

如图12所示,V-CQL和BCQ、CQL比较,V-CQL在第五次迭代时,已收敛到最优出价策略。
论文在真实竞价系统上进行AB实验,SOLA在各次迭代中的效果优于USCB。
