书接上回《基于强化学习的自动出价论文阅读笔记(2)》。上一篇笔记介绍了带约束自动出价统一方案——USCB和个性化自动出价方案——PerBid。USCB对各种类型约束下的自动出价进行统一建模,推导出通用的出价计算公式,并使用无模型强化学习中同时学习价值函数和策略函数的Actor-Critic算法之一——DDPG算法,先离线与仿真竞价系统交互进行训练、再在线与真实竞价系统交互进行预测,输出出价计算公式中各参数最优值,从而计算出价并竞价,最终实现各种类型约束下广告流量价值的最大化。PerBid针对使用一个智能体为不同广告主进行自动出价所带来的公平性问题,在USCB的基础上,首先通过广告计划画像网络输出广告计划画像表征,以表征广告计划的静态属性特征和动态环境特征,然后将广告计划划分为多个类簇,为每个类簇构建一个自动出价智能体,并且每个自动出价智能体将广告计划画像表征作为状态输入之一、从而感知不同广告计划动态环境的上下文,通过为每个广告计划适配相应的智能体,在保障投放效果的同时,也提升广告投放的公平性。
之前两篇笔记所介绍的各自动出价方案,均先离线与仿真竞价系统交互进行训练、再在线与真实竞价系统交互进行预测,因此存在一个共性问题是如何保持仿真竞价系统和真实竞价系统的一致性,而真实竞价系统存在复杂的拍卖机制、激励的出价竞争,仿真竞价系统难以精确模拟真实竞价系统,而如果不能保持两个系统的一致性,则可能导致仿真竞价系统下所训练的自动出价方案在真实竞价系统中非最优。
为解决上述问题,一种方案是用真实竞价系统替代仿真竞价系统,让智能体通过与真实竞价系统的交互,进行策略学习,但直接替代并不可行,若直接替代,初始未训练的智能体与真实竞价系统交互会生成不安全的出价,影响广告投放效果。而另一种方案是使用离线强化学习,这里需要注意的是,离线强化学习中的“离线”和离线与仿真竞价系统交互进行训练的“离线”并不是一个概念,离线强化学习中的“离线”是指不与环境交互,使用预先已收集的轨迹数据进行训练,而在线强化学习则会与环境交互,收集交互后产生的轨迹数据进行训练,因此之前两篇笔记所介绍的各自动出价方案均属于在线强化学习,只是与智能体发生交互的是仿真竞价系统、非真实竞价系统,而离线强化学习因为不与环境交互,所以训练时也不需要仿真竞价系统,但同时也引入了另一个问题——分布偏移,因此,目前离线强化学习领域有较多的工作探索如何解决分布偏移问题,如CQL、IQL等。
本篇笔记主要介绍阿里妈妈在2023年发表的论文《Sustainable Online Reinforcement Learning for Auto-bidding》,其提出的SOLA框架,将离线强化学习和在线安全探索相结合,同时解决了训练依赖仿真竞价系统和在线探索出价安全性的问题 。笔记如有不足之处,请指正。
离线强化学习背景介绍
在线和离线强化学习的区别
首先看一下离线强化学习和在线强化学习(进一步可分为在线策略和离线策略)的区别。
在线强化学习在线策略算法的示意图如图1所示。强化学习智能体使用当前策略π k \pi_k π k (作为行为策略),根据状态s s s 决策待执行动作a a a ,然后在环境中执行动作a a a ,得到奖励r r r ,并转移到下一个状态s ′ s' s ′ ,从而得到轨迹数据{ ( s i , a i , s i ′ , r i ) } \{(s_i,a_i,s_i',r_i)\} {( s i , a i , s i ′ , r i )} ,最后智能体直接使用上述由策略 π k \pi_k π k 采样得到的轨迹数据对策略 π k \pi_k π k (作为目标策略)的参数进行更新,从而得到新策略 π k + 1 \pi_{k+1} π k + 1 ,即行为策略和目标策略是同一个策略 。
在线强化学习离线策略算法的示意图如图2所示。强化学习智能体使用当前策略π k \pi_k π k (作为行为策略),根据状态s s s 决策待执行动作a a a ,然后在环境中执行动作a a a ,得到奖励r r r ,并转移到下一个状态s ′ s' s ′ ,从而得到轨迹数据{ ( s i , a i , s i ′ , r i ) } \{(s_i,a_i,s_i',r_i)\} {( s i , a i , s i ′ , r i )} ,但后续和在线策略不同,智能体并不直接使用上述由策略π k \pi_k π k 采样得到的轨迹数据对策略π k \pi_k π k (作为目标策略)的参数进行更新,而是先将轨迹数据放入缓存池D \mathcal{D} D ,再从缓存池D \mathcal{D} D 采样轨迹数据对策略π k \pi_k π k 的参数进行更新,从而得到新策略π k + 1 \pi_{k+1} π k + 1 ,因为缓存池 D \mathcal{D} D 包含由前序多个策略 π 0 , π 1 , … , π k \pi_0,\pi_1,\dots,\pi_k π 0 , π 1 , … , π k 采样得到的轨迹数据,所以从缓存池 D \mathcal{D} D 采样并进行策略更新的轨迹数据不一定是由策略 π k \pi_k π k 采样得到的,即行为策略和目标策略不是同一个策略 。
在线策略和离线策略算法均属于在线强化学习,即训练时智能体与环境发生交互、产生新的轨迹数据用于策略训练,而离线强化学习(offline reinforcement learning),如图3所示,其训练所需的轨迹数据提前由另一个行为策略与环境发生交互而产生,训练时智能体与环境不发生交互,不产生新的轨迹数据 。
离线强化学习中的分布偏移问题
强化学习中状态动作价值网络Q θ ( s , a ) Q_\theta(s,a) Q θ ( s , a ) 可通过以下贝尔曼最优迭代求解:
Q θ ( s , a ) ← r ( s , a ) + max a ′ Q ( s ′ , a ′ ) Q_\theta(s,a)\leftarrow r(s,a)+\max_{a'}{Q(s',a')} Q θ ( s , a ) ← r ( s , a ) + a ′ max Q ( s ′ , a ′ )
其中,s s s 表示状态,a a a 表示状态s s s 下的动作,s ′ s' s ′ 表示状态s s s 下进行动作a a a 后转移的下一个状态,Q θ ( s , a ) Q_\theta(s,a) Q θ ( s , a ) 表示由状态动作价值网络预测状态s s s 下进行动作a a a 的状态动作价值,该值可由r ( s , a ) + max a ′ Q ( s ′ , a ′ ) r(s,a)+\max_{a'}{Q(s',a')} r ( s , a ) + max a ′ Q ( s ′ , a ′ ) 逼近,其中r ( s , a ) r(s,a) r ( s , a ) 表示状态s s s 下进行动作a a a 获得的奖励,max a ′ Q ( s ′ , a ′ ) \max_{a'}{Q(s',a')} max a ′ Q ( s ′ , a ′ ) 表示状态s ′ s' s ′ 下进行任一动作所能取得的状态动作价值的最大值,该值也可由状态动作价值网络Q θ ( s ′ , a ′ ) Q_\theta(s',a') Q θ ( s ′ , a ′ ) 预测,且a ′ a' a ′ 为Q θ ( s ′ , a ) Q_\theta(s',a) Q θ ( s ′ , a ) 取得最大值时动作的取值,即a ′ = arg max a Q θ ( s ′ , a ) a'=\arg\max_{a}{Q_\theta(s',a)} a ′ = arg max a Q θ ( s ′ , a ) 。
而离线强化学习的轨迹数据集提前由另一个行为策略与环境发生交互而产生,训练时智能体与环境不发生交互,不产生新的轨迹数据,因此, ( s ′ , a ′ ) (s',a') ( s ′ , a ′ ) 可能并不在已有的轨迹数据集中,从而导致分布偏差(OOD)问题。若( s ′ , a ′ ) (s',a') ( s ′ , a ′ ) 不在已有的轨迹数据集中,则由于没有数据支撑,导致状态动作价值网络Q θ ( s ′ , a ′ ) Q_\theta(s',a') Q θ ( s ′ , a ′ ) 的预测值可能与真实值有偏,进一步导致max a ′ Q θ ( s ′ , a ′ ) \max_{a'}{Q_\theta(s',a')} max a ′ Q θ ( s ′ , a ′ ) 被高估的问题,这一问题也被称为 外推误差(Extrapolation Error)问题 。
离线强化学习和在线安全探索相结合的方案-SOLA
阿里妈妈在2023年发表的论文《Sustainable Online Reinforcement Learning for Auto-bidding》提出了SOLA算法,将离线强化学习和在线安全探索相结合,同时解决了训练依赖仿真竞价系统和在线探索出价安全性的问题。
问题建模
论文使用带约束的马尔科夫决策过程(Constrained Markov Decision Process,CMDP)对自动出价问题进行建模。
在强化学习背景知识中,笔者已介绍马尔可夫决策过程由元组⟨ S , A , P , r , γ ⟩ ⟨\mathcal{S},\mathcal{A},P,r,\gamma⟩ ⟨ S , A , P , r , γ ⟩ 构成、以及元组中各元素的含义。对于上述自动出价场景下的带约束的马尔可夫决策过程,其相应的各元素具体含义如下:
状态集合S \mathcal{S} S ,自动出价智能体第t t t 步的状态s t s_t s t 包含以下属性:当前步数t t t ;第t t t 步的剩余预算B t B_t B t ;第t t t 步往后剩余可调整出价调控系数的次数R O L t ROL_t RO L t ;第t − 1 t-1 t − 1 步和第t t t 步之间的预算消耗速率B C R t = ( B t − B t − 1 ) / B t − 1 BCR_t=(B_t-B_{t-1})/B_{t-1} BC R t = ( B t − B t − 1 ) / B t − 1 ;第t − 1 t-1 t − 1 步和第t t t 步之间的千次广告展现费用C P M t CPM_t CP M t ;竞胜率W R t WR_t W R t ;上一步动作a t − 1 a_{t-1} a t − 1 所获得的奖励r t − 1 r_{t-1} r t − 1 (即第t − 1 t-1 t − 1 步和第t t t 步之间的广告流量为广告主带来的点击或转化之和)。
动作集合A \mathcal{A} A ,动作a a a 以比例的方式对出价调控系数进行调整,即λ t = λ t − 1 × ( 1 + β a ) \lambda_t=\lambda_{t-1}\times(1+\beta_a) λ t = λ t − 1 × ( 1 + β a ) 。
状态转移函数T \mathcal{T} T (或P P P ),论文基于无模型的强化学习算法,因此无需对环境进行建模,不求解状态转移函数。
奖励r r r ,第t t t 步的奖励r t r_t r t 为第t t t 步和第t + 1 t+1 t + 1 步之间竞得的广告流量价值之和。
费用约束c c c ,第t t t 步的费用c t c_t c t 为第t t t 步和第t + 1 t+1 t + 1 步之间竞得的广告流量费用之和。
折扣因子γ \gamma γ ,因为各时段的奖励对于最大化当天累积奖励的目标来说有相等的权重,不会按时间衰减,所以折扣因子被固定为1。
自动出价问题的目标可表示为:
max μ ∈ Π V ( μ ) ≜ E s t + 1 ∼ P , a t ∼ μ [ ∑ t = 1 T γ t r t ( s t , a t ) ] , subject to ∑ t = 1 T c t ( s t , a t ) ≤ B \max_{\mu\in\Pi}{V(\mu)}\triangleq\mathbb{E}_{s_{t+1}\sim\mathbb{P},a_t\sim\mu}\left[\sum_{t=1}^T{\gamma^tr_t(s_t,a_t)}\right],\space\text{subject to}\space\sum_{t=1}^T{c_t(s_t,a_t)}\le B μ ∈ Π max V ( μ ) ≜ E s t + 1 ∼ P , a t ∼ μ [ t = 1 ∑ T γ t r t ( s t , a t ) ] , subject to t = 1 ∑ T c t ( s t , a t ) ≤ B
即在满足预算约束下,最大化累计奖励。
之前两篇笔记所介绍的各自动出价方案,均先离线与仿真竞价系统交互进行训练、再在线与真实竞价系统交互进行预测,因此存在一个共性问题是仿真竞价系统和真实竞价系统并不完全一致,即IBOO(inconsistency between online and offline)问题。
论文介绍了真实竞价系统(Real-world Advertising System,RAS)和仿真竞价系统(Virtual Advertising System,VAS)的不同(仿真竞价系统被称为虚拟竞价系统更合适,为了和前两篇笔记保持一致,这里暂仍称为仿真系统系统),如图4所示,真实竞价系统采用两阶段竞价,第一阶段为粗排,从数十万广告中筛选出数百个广告,第二阶段为精排,从数百个广告中筛选出最终竞胜的广告,而仿真竞价系统采用一阶段竞价,只使用线上精排日志模拟竞价环境;真实竞价系统存在多种拍卖机制,而仿真竞价系统只采用GSP拍卖机制;真实竞价系统除当前广告主外、其余广告主也会不断调整出价,而仿真竞价系统中,其余广告主的出价以市场价的形式被固定,不会变化。
解决方案
基于上述问题,论文提出了SOLA框架,将离线强化学习和在线安全探索相结合,通过离线强化学习解决训练依赖仿真竞价系统的问题,通过在线安全探索解决在线探索出价安全性的问题。
在线安全探索
论文首先设计在线安全探索策略。令μ s \mu_s μ s 表示自动出价策略,π e \pi_e π e 表示探索策略,则安全探索的要求可表示为:
V ( μ s ) − V ( π e ) ≤ ϵ s V(\mu_s)-V(\pi_e)\le\epsilon_s V ( μ s ) − V ( π e ) ≤ ϵ s
即因探索导致的广告价值的下降应小于阈值ϵ s \epsilon_s ϵ s 。而动作价值函数的贝尔曼迭代方程如下:
Q μ ( s t , a t ) = r t ( s t , a t ) + γ E s t + 1 ∼ P ( ⋅ ∣ s t , a t ) [ Q μ ( s t + 1 , μ ( s t + 1 ) ) ] Q^\mu(s_t,a_t)=r_t(s_t,a_t)+\gamma\mathbb{E}_{s_{t+1}\sim\mathbb{P}(\cdot|s_t,a_t)}[Q^\mu(s_{t+1},\mu(s_{t+1}))] Q μ ( s t , a t ) = r t ( s t , a t ) + γ E s t + 1 ∼ P ( ⋅ ∣ s t , a t ) [ Q μ ( s t + 1 , μ ( s t + 1 ))]
论文证明,给定状态s t s_t s t 时,动作价值函数Q ^ \widehat{Q} Q 随a t a_t a t 的变化满足Lipschitz平滑,即动作价值函数随a t a_t a t 变化的斜率小于常数L Q L_Q L Q ,如图5所示,其中,若保证广告价值下降值小于阈值ϵ s \epsilon_s ϵ s ,则探索的安全区间(即动作的取值区间)应在μ s ( s t ) − ξ \mu_s(s_t)-\xi μ s ( s t ) − ξ 和μ s ( s t ) + ξ \mu_s(s_t)+\xi μ s ( s t ) + ξ 之间,且ξ ≤ ϵ s L Q γ t 1 Δ T \xi\le\frac{\epsilon_s}{L_{Q}\gamma^{t_1}\Delta T} ξ ≤ L Q γ t 1 Δ T ϵ s 。
则探索策略可表示为:
π e ( s t ) = { sampling from [ μ s ( s t ) − ξ , μ s ( s t ) + ξ ] , t 1 ≤ t ≤ t 2 ; μ s ( s t ) otherwise . ∀ t \pi_e(s_t) = \begin{cases}
\text{sampling from} [\mu_s(s_t)-\xi,\mu_s(s_t)+\xi],&t_1\le t\le t2; \\
\mu_s(s_t) &\text{otherwise}.
\end{cases}\space\forall t π e ( s t ) = { sampling from [ μ s ( s t ) − ξ , μ s ( s t ) + ξ ] , μ s ( s t ) t 1 ≤ t ≤ t 2 ; otherwise . ∀ t
其中,0 ≤ t 1 ≤ t 2 ≤ T − 1 0\le t_1\le t_2\le T-1 0 ≤ t 1 ≤ t 2 ≤ T − 1 ,且Δ T = t 2 − t 1 + 1 \Delta T=t_2-t_1+1 Δ T = t 2 − t 1 + 1 ,即在一段时间内,在安全区间内采样动作进行探索,在其他时间内,直接使用出价策略的最优动作。
而对于上式中的采样方法,在安全性保证下,论文进一步设计采样方法以提升探索效率。一般采样方法可采用高斯分布,如下所示:
π ~ e , N = N ( μ s ( s t ) , σ 2 ) \tilde{\pi}_{e,\mathcal{N}}=\mathcal{N}(\mu_s(s_t),\sigma^2) π ~ e , N = N ( μ s ( s t ) , σ 2 )
论文希望新采样方法的分布π ~ e \tilde{\pi}_e π ~ e 满足以下目标:
max π ~ e , ∀ s t E a t ∼ π ~ e ( ⋅ ∣ s t ) Q ^ ( s t , a t ) s.t. D KL ( π ~ e , π ~ e , N ) ≤ ϵ e \max_{\tilde{\pi}_e,\forall s_t}\space\mathbb{E}_{a_t\sim\tilde{\pi}_e(\cdot|s_t)}\widehat{Q}(s_t,a_t)\space\text{s.t.}\space D_{\text{KL}}(\tilde{\pi}_e,\tilde{\pi}_{e,\mathcal{N}})\le\epsilon_e π ~ e , ∀ s t max E a t ∼ π ~ e ( ⋅ ∣ s t ) Q ( s t , a t ) s.t. D KL ( π ~ e , π ~ e , N ) ≤ ϵ e
即π ~ e \tilde{\pi}_e π ~ e 在高斯分布的基础上向动作价值期望最大的方向偏移,以提升探索效率,同时新分布和原高斯分布的差异在一定范围内,保证安全性。最后可求得π ~ e \tilde{\pi}_e π ~ e :
π ~ e = π ~ e , N C ( s t ) exp { 1 λ Q ^ ( s t , a t ) } = 1 C ( s t ) exp { − ( a t − μ s ( s t ) ) 2 2 σ 2 ⏟ safety + 1 λ Q ^ ( s t , a t ) ⏟ efficiency } C ( s t ) = ∫ a t exp { − ( a t − μ s ( s t ) ) 2 2 σ 2 + 1 λ Q ^ ( s t , a t ) } d a t \begin{align}
&\tilde{\pi}_e=\frac{\tilde{\pi}_{e,\mathcal{N}}}{C(s_t)}\exp\left\{\frac{1}{\lambda}\widehat{Q}(s_t,a_t)\right\}=\frac{1}{C(s_t)}\exp\left\{\underbrace{-\frac{(a_t-\mu_s(s_t))^2}{2\sigma^2}}_{\text{safety}}+\underbrace{\frac{1}{\lambda}\widehat{Q}(s_t,a_t)}_{\text{efficiency}}\right\}\\
&C(s_t)=\int_{a_t}{\exp\{-\frac{(a_t-\mu_s(s_t))^2}{2\sigma^2}+\frac{1}{\lambda}\widehat{Q}(s_t,a_t)\}\text{d}a_t}
\end{align} π ~ e = C ( s t ) π ~ e , N exp { λ 1 Q ( s t , a t ) } = C ( s t ) 1 exp ⎩ ⎨ ⎧ safety − 2 σ 2 ( a t − μ s ( s t ) ) 2 + efficiency λ 1 Q ( s t , a t ) ⎭ ⎬ ⎫ C ( s t ) = ∫ a t exp { − 2 σ 2 ( a t − μ s ( s t ) ) 2 + λ 1 Q ( s t , a t )} d a t
新分布π ~ e \tilde{\pi}_e π ~ e 和高斯分布的曲线如图6所示。
综上,论文提出的在线安全探索策略可表示为:
π e ( s t ) = { sampling from [ μ s ( s t ) − ξ , μ s ( s t ) + ξ ] with π ~ e , t 1 ≤ t ≤ t 2 ; μ s ( s t ) otherwise . ∀ t \pi_e(s_t) = \begin{cases}
\text{sampling from} [\mu_s(s_t)-\xi,\mu_s(s_t)+\xi]\text{ with }\tilde{\pi}_e,&t_1\le t\le t2; \\
\mu_s(s_t) &\text{otherwise}.
\end{cases}\space\forall t π e ( s t ) = { sampling from [ μ s ( s t ) − ξ , μ s ( s t ) + ξ ] with π ~ e , μ s ( s t ) t 1 ≤ t ≤ t 2 ; otherwise . ∀ t
即在一段时间内,在安全区间内使用分布π ~ e \tilde{\pi}_e π ~ e 采样动作进行探索,在其他时间内,直接使用出价策略的最优动作。
离线强化学习
因为在线安全探索策略只在安全区域探索,所以无法收集安全区域外的状态、动作对数据,因此,在离线强化学习时,需要解决分布偏差问题。目前解决分布偏差的离线强化学习算法有CQL、BCQ等,其中CQL的思想是在已有强化学习算法的基础上,对已有数据集区域外的动作价值增加惩罚,避免高估。
第一篇笔记中已介绍,强化学习的动作价值网络可通过以下贝尔曼最优迭代求解:
Q ( s , a ) ← Q ( s , a ) + α [ r + γ max a ′ ∈ A Q ( s ′ , a ′ ) − Q ( s , a ) ] Q(s,a)\leftarrow Q(s,a)+\alpha\left[r+\gamma\max_{a'\in\mathcal{A}}Q(s',a')-Q(s,a)\right] Q ( s , a ) ← Q ( s , a ) + α [ r + γ a ′ ∈ A max Q ( s ′ , a ′ ) − Q ( s , a ) ]
其中,使用r + γ max a ′ ∈ A Q ( s ′ , a ′ ) r+\gamma\max_{a'\in\mathcal{A}}Q(s',a') r + γ max a ′ ∈ A Q ( s ′ , a ′ ) 和Q ( s , a ) Q(s,a) Q ( s , a ) 的差值迭代更新Q ( s , a ) Q(s,a) Q ( s , a ) ,也就是说,使Q ( s , a ) Q(s,a) Q ( s , a ) 逼近r + γ max a ′ ∈ A Q ( s ′ , a ′ ) r+\gamma\max_{a'\in\mathcal{A}}Q(s',a') r + γ max a ′ ∈ A Q ( s ′ , a ′ ) ,因此,对于一组轨迹数据{ ( s i , a i , r i , s i ′ ) } \{(s_i,a_i,r_i,s_i')\} {( s i , a i , r i , s i ′ )} ,动作价值网络的损失函数可以表示为以下均方误差:
w ∗ = arg min w 1 2 N ∑ i = 1 N [ Q w ( s i , a i ) − ( r i + γ max a ′ Q w ( s i ′ , a ′ ) ) ] 2 w^*=\arg\min_w\frac{1}{2N}\sum_{i=1}^N{\left[Q_w(s_i,a_i)-\left(r_i+\gamma\max_{a'}Q_w(s_i',a')\right)\right]^2} w ∗ = arg w min 2 N 1 i = 1 ∑ N [ Q w ( s i , a i ) − ( r i + γ a ′ max Q w ( s i ′ , a ′ ) ) ] 2
SOLA这篇论文将上式表示为:
L TD = 1 2 E s k , a k , s k ′ ∼ D [ ( Q ^ ( s k , a k ) − B ˉ Q ˉ ( s k , a k ) ) 2 ] \mathcal{L}_{\text{TD}}=\frac{1}{2}\mathbb{E}_{s_k,a_k,s'_k\sim\mathcal{D}}\left[\left(\widehat{Q}(s_k,a_k)-\bar{\mathcal{B}}\bar{Q}(s_k,a_k)\right)^2\right] L TD = 2 1 E s k , a k , s k ′ ∼ D [ ( Q ( s k , a k ) − B ˉ Q ˉ ( s k , a k ) ) 2 ]
其中,Q ^ ( s k , a k ) \widehat{Q}(s_k,a_k) Q ( s k , a k ) 表示动作价值网络,Q ˉ ( s k , a k ) \bar{Q}(s_k,a_k) Q ˉ ( s k , a k ) 表示动作价值网络的目标网络,B ˉ \bar{\mathcal{B}} B ˉ 表示贝尔曼算子,即B ˉ Q ˉ ( s k , a k ) = r k + γ max a k ′ Q ˉ ( s k ′ , a k ′ ) \bar{\mathcal{B}}\bar{Q}(s_k,a_k)=r_k+\gamma\max_{a'_k}\bar{Q}(s'_k,a'_k) B ˉ Q ˉ ( s k , a k ) = r k + γ max a k ′ Q ˉ ( s k ′ , a k ′ ) 。
论文借鉴了离线强化学习领域已有的CQL(Conservative Q-Learning)算法,在原动作价值网络损失函数的基础上,增加以下约束项,以解决离线强化学习的分布偏差和外推误差问题:
L C Q L = α 1 E s k ∼ D [ log ∑ a ∼ Unif ( A ) exp ( Q ^ ( s k , a ) ) ] ⏟ conservative penalty: punishing all actions − α 2 E s k ∼ D [ Q ^ ( s k , μ b ( s k ) ) ] ⏟ Reward the in-distribution actions \mathcal{L}_{CQL}=\alpha_1\underbrace{\mathbb{E}_{s_k\sim\mathcal{D}}\left[\log\sum_{a\sim\text{Unif}(\mathcal{A})}{\exp(\widehat{Q}(s_k,a))}\right]}_{\text{conservative penalty: punishing all actions}}-\alpha_2\underbrace{\mathbb{E}_{s_k\sim\mathcal{D}}\left[\widehat{Q}(s_k,\mu_b(s_k))\right]}_{\text{Reward the in-distribution actions}} L CQ L = α 1 conservative penalty: punishing all actions E s k ∼ D log a ∼ Unif ( A ) ∑ exp ( Q ( s k , a )) − α 2 Reward the in-distribution actions E s k ∼ D [ Q ( s k , μ b ( s k )) ]
其中,第一部分为惩罚项,即对满足均匀分布的所有动作的动作价值进行惩罚,防止动作价值的过高估计,第一部分值越小越好,第二部分为奖励项,即对数据集中已有动作的动作价值进行奖励,因为可认为动作价值网络对数据集中已有动作的动作价值预估比较准确,可以不进行惩罚,所以通过上述奖励项对数据集中已有动作在第一部分的惩罚进行补偿,第二部分值越大越好。α 1 \alpha_1 α 1 和α 2 \alpha_2 α 2 为控制上述两项权重的超参,D \mathcal{D} D 为数据集,μ b \mu_b μ b 为在真实竞价系统进行出价并采集数据的行为策略。
下一节会介绍SOLA算法整体框架是一个迭代的过程,启动阶段使用已有安全策略在真实竞价系统进行出价并采集数据后,开始迭代阶段,每次迭代中,先使用已有数据集进行离线强化学习训练,训练得到新策略后,再在真实竞价系统进行出价并采集数据,新采集的数据扩充原有数据集,因此μ b \mu_b μ b 可表示为:
μ b = { μ s , for data in D s π e , τ , for data in D o n , τ \mu_b=\begin{cases}
\mu_s, &\text{for data in } \mathcal{D}_s \\
\pi_{e,\tau}, &\text{for data in } \mathcal{D}_{on,\tau}
\end{cases} μ b = { μ s , π e , τ , for data in D s for data in D o n , τ
即启动阶段,行为策略为已有安全策略,后续第τ \tau τ 次迭代,行为策略为当前迭代的在线安全探索策略。
论文还指出离线强化学习的另一个问题——离线评估(Off-Policy Evaluation,OPE)的不准确问题。离线强化学习的训练阶段虽然不再与仿真竞价系统(VAS)交互,但是评估阶段还是通过仿真竞价系统的交互,取得各步交互的奖励,并与理论最优奖励对比,作为评估指标,这一评估方式被称为离线评估。而仿真竞价系统(VAS)和真实竞价系统(RAS)的不一致,会导致离线评估的不准确,即离线评估指标值高的策略在真实竞价系统中取得的效果不一定好。
为了解决上述离线评估不准确的问题、以及离线强化学习训练不稳定的问题,论文首先发现由USCB算法在仿真竞价系统中交互训练所得的动作价值网络(之前的SOTA),以及在模拟的真实竞价系统中进行交互训练所得的动作价值网络,其在不同状态下,动作价值随动作的变化满足二次型(Quadratic Form),分别如图7和图8所示。因此,论文认为通过离线强化学习训练所得的动作价值网络,其在不同状态下,动作价值随动作的变化也应该满足二次型(Quadratic Form),从而在损失函数中进一步增加以下正则项:
L V = β E s k ∼ D [ D KL ( exp ( Q ^ ( s k , ⋅ ) ) ∑ a ∼ Unif ( A ) exp ( Q ^ ( s k , a ) ) , exp ( Q ^ qua ( s k , ⋅ ) ) ∑ a ∼ Unif ( A ) exp ( Q ^ qua ( s k , a ) ) ) ] \mathcal{L}_{\text{V}}=\beta\mathbb{E}_{s_k\sim\mathcal{D}}\left[D_{\text{KL}}\left(\frac{\exp(\widehat{Q}(s_k,\cdot))}{\sum_{a\sim\text{Unif}(\mathcal{A})}{\exp(\widehat{Q}(s_k,a))}},\frac{\exp(\widehat{Q}_{\text{qua}}(s_k,\cdot))}{\sum_{a\sim\text{Unif}(\mathcal{A})}{\exp(\widehat{Q}_{\text{qua}}(s_k,a))}}\right)\right] L V = β E s k ∼ D [ D KL ( ∑ a ∼ Unif ( A ) exp ( Q ( s k , a )) exp ( Q ( s k , ⋅ )) , ∑ a ∼ Unif ( A ) exp ( Q qua ( s k , a )) exp ( Q qua ( s k , ⋅ )) ) ]
即通过KL散度,使得当前训练的动作价值网络Q ^ \widehat{Q} Q 尽量拟合之前训练的满足二次型的动作价值网络Q ^ qua \widehat{Q}_{\text{qua}} Q qua 。其中,β \beta β 为控制该损失项权重的超参,D KL D_{\text{KL}} D KL 表示KL散度算子,Q ^ \widehat{Q} Q 表示动作价值网络,Q ^ qua \widehat{Q}_{\text{qua}} Q qua 表示满足二次型的动作价值网络。令动作满足均匀分布,然后使用Softmax函数将动作价值随动作的变化转化为一种概率密度函数,然后使用KL散度计算两种概率密度函数的相似性,通过最小化上述KL散度,使得Q ^ \widehat{Q} Q 的形态接近Q ^ qua \widehat{Q}_{\text{qua}} Q qua 。论文中,每次迭代中的Q ^ qua \widehat{Q}_{\text{qua}} Q qua 取上次迭代中的Q ^ \widehat{Q} Q ,第一次迭代中的Q ^ qua \widehat{Q}_{\text{qua}} Q qua 则取USCB算法在仿真竞价系统中交互训练所得的动作价值网络。
因此,论文最终动作价值网络的损失函数可表示为:
L V-CQL = L TD + L CQL + L V \mathcal{L}_{\text{V-CQL}}=\mathcal{L}_{\text{TD}}+\mathcal{L}_{\text{CQL}}+\mathcal{L}_{\text{V}} L V-CQL = L TD + L CQL + L V
整体框架
最终的SOLA框架如图9所示,伪代码如图10所示,其整体分为两个阶段,在启动阶段(Warm Booting),SOLA使用由USCB算法训练所得的出价策略μ s \mu_s μ s 在真实竞价系统中进行出价、获取轨迹数据集D s = { ( s k , a k , r k , s k ′ ) } k \mathcal{D}_s=\{(s_k,a_k,r_k,s'_k)\}_k D s = {( s k , a k , r k , s k ′ ) } k ,并基于D s \mathcal{D}_s D s 使用V-CQL算法训练得到初始出价策略μ 0 \mu_0 μ 0 ;在迭代阶段(Iteration Process),SOLA会迭代多次,令第τ \tau τ 次迭代的出价策略为μ τ \mu_\tau μ τ ,在线安全探索策略为π e , τ \pi_{e,\tau} π e , τ ,该次迭代在真实竞价系统中使用在线安全探索策略进行出价、获取的轨迹数据集为D o n , τ \mathcal{D}_{on,\tau} D o n , τ ,然后基于已有累积的数据集使用V-CQL算法训练出价策略μ τ \mu_\tau μ τ ,如次迭代,直至最终算法收敛。
实验评估
实验评估时,论文构建了真实竞价系统(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。
参考文献