广告自动出价通常被写成一个逐步决策问题:看到当前预算、消耗速度和 CPC,立刻决定下一步把出价系数调高还是调低。AIGB 换了一个角度:先生成一条“理想的未来投放轨迹”,再反推出现在应该采用什么动作。
假设广告主一天有 1000 元预算,一天被切成 96 个 15 分钟时间步。传统强化学习关心的是:当前还剩 600 元,下一步出价系数该是多少?DiffBid 先回答另一个问题:接下来的剩余预算最好依次变成 580、555、530……还是 590、570、548……?有了理想的下一状态,再由逆动力学模型把“600 元变成 580 元”翻译成当前出价参数。
这就是论文 AIGB: Generative Auto-bidding via Diffusion Modeling 的核心:把广告出价从直接的 Action Optimization,改写成 State Trajectory Planning + Action Generation。
flowchart LR
A[业务目标<br/>高 Return / CPC 合规 / 消耗节奏] -->|条件 y| B[Conditional Diffusion<br/>生成整条状态轨迹]
H[已经发生的真实历史状态] -->|固定历史片段| B
B -->|取下一目标状态 s'ₜ₊₁| C[Inverse Dynamics]
H -->|最近 L+1 个状态| C
C -->|出价参数 aₜ = λ| D[出价公式]
D --> E[真实广告环境]
E -->|得到真实下一状态| H
H -->|下个 15 分钟重新规划| B
这张图还有一个容易忽略的细节:DiffBid 每次生成完整未来轨迹,却只执行由下一目标状态推导出的当前动作。15 分钟后拿到新的真实状态,再把整条未来轨迹重算一遍。它更像生成模型版本的滚动时域规划,而不是在早晨一次性排好全天计划后机械执行。
## 1. 为什么要从“预测动作”转向“规划状态”
1. 从预测动作转向规划状态
一个时间步的状态可以写成:
动作 不是某一次曝光的最终报价,而是一组用于计算报价的出价参数。只考虑预算约束时,论文给出的报价形式可以简化为:
是第 个流量的预估价值, 是当前时间段的出价系数, 才是参与竞价的价格。存在多种约束时,公式扩展为:
直接预测 看起来最省事,但业务目标通常落在状态上:预算有没有按节奏花完、实时 CPC 有没有接近目标、后半天还剩多少预算。状态轨迹天然就是这些指标随时间的变化曲线,用它表达“想要什么”比用 96 个抽象动作更直观。
论文先用线上数据说明历史确实重要。只看最近一个状态时,预测下一状态的信息不够;历史长度从 1 增加到 3 后,Pearson 和 Spearman 相关系数明显上升,之后才趋于稳定。
图 1|历史状态长度与下一状态的 Pearson、Spearman、Kendall 相关系数。来源:AIGB 论文,Figure 1。
附录里的统计给出了这套状态轨迹建模更具体的业务依据:每个时间片内,赢得更多流量时 Cost Effectiveness 呈幂律下降;不同时间片的平均曝光成本波动相对有限。于是,一个时间片想赢多少流量、花多少预算,与剩余预算轨迹之间存在比较稳定的对应关系。
图 2|三个时间片的 Cost Effectiveness 曲线,以及一天内曝光成本的波动。来源:AIGB 论文,Figure 8。
2. 整体框架:条件生成、状态规划、动作反推
论文的 Figure 2 把整套系统画得很完整:左侧是 Return、约束和人工反馈,中间是对状态轨迹加噪与去噪的 Diffusion,右侧是从目标状态生成出价参数。
图 3|AIGB 的整体框架。条件进入 Temporal U-Net,Diffusion 生成状态轨迹,逆动力学再把下一状态变成出价参数。来源:AIGB 论文,Figure 2。
把它压缩成三个模块,就是:
- Conditional Diffusion:学习 ,给定业务目标 生成完整状态轨迹 。
- Inverse Dynamics:读取最近一段真实历史和生成的下一目标状态,输出当前出价参数。
- Rolling Execution:只执行当前一步,环境反馈真实状态后重新生成未来。
这里的 是一整条轨迹:
如果一天有 96 个时间步、每个状态有 5 个特征,那么:
只是一条训练轨迹的编号。条件 则可以包含最终 Return、是否满足 CPC、消耗是否平滑、预算是否偏早消耗等信息。
DiffBid 的训练目标是条件最大似然估计:
这句话翻译成业务语言就是:让真实历史轨迹在它实际取得的业务结果条件下,拥有尽可能高的生成概率。 文生图模型学习“文字条件下什么图片更像真实图片”,DiffBid 学习“业务目标条件下什么投放轨迹更像真实的高质量轨迹”。
## 3. Diffusion 如何生成一条 96 步投放轨迹
3. Diffusion 生成 96 步投放轨迹的过程
3.1 Forward Process:把规律逐渐打散
先取一条真实轨迹。为了方便理解,只保留剩余预算和 CPC 两个特征:
它有很强的结构:剩余预算总体向下,CPC 在有限区间里变化,预算消耗还会体现早晚流量差异。Forward Process 每一步加入高斯噪声:
等价地写成:
不断执行 ,原来清晰的预算与 CPC 轨迹就会被破坏成接近标准高斯噪声的矩阵。
这里有两个完全不同的“时间”:
即使 ,模型生成的仍然是长度为 96 的完整投放轨迹。20 表示把整个 矩阵去噪多少轮,不是只规划 20 个广告时间步。
训练时也不需要真的从 一步步加到 。利用 DDPM 的闭式形式,可以随机选择一个 ,直接构造:
其中 ,。论文用 Cosine Schedule 控制噪声强度。
3.2 Reverse Process:预测噪声,而不是直接预测出价
真正需要学习的是去噪网络:
输入是带噪轨迹 、业务条件 和当前 Diffusion 步数 ,输出是与轨迹同形状的噪声矩阵 。论文使用 Temporal U-Net:3 个残差块,每个块包含时间卷积、Group Normalization 和 Mish 激活;时间步与条件分别经过 MLP 编码。
模型同时学习有条件和无条件两种预测。训练时以一定概率丢掉条件 ,推理时用 Classifier-Free Guidance 合成两种噪声估计:
时只依赖无条件模型, 时等于条件模型,其他取值在两者之间插值或进一步放大条件方向。论文实验把 guidance scale 设为 0.2,同时把 condition dropout ratio 设为 0.2。
得到预测噪声以后,按 DDPM 的高斯反向过程采样:
重复 次,就从随机矩阵得到一条完整状态轨迹 。
线上推理还有一个关键操作:每一轮去噪都把已经发生的历史片段重新覆盖回去,即 Algorithm 1 中的 。所以模型不是凭空重写过去,而是在固定真实历史的前提下补全未来。
3.3 Inverse Dynamics:把目标状态翻译成当前动作
Diffusion 到这里仍然没有输出任何出价。它只给出下一目标状态 。当前动作由三层 MLP 完成:
假设 10:00 的真实状态是:
分别表示剩余预算 600 元、CPC 为 10 元、最近每 15 分钟消耗 20 元。Diffusion 给出的下一目标状态是:
这意味着接下来 15 分钟希望消耗 25 元,同时让 CPC 从 10 降到 9.8。逆动力学模型根据最近一段真实历史,判断什么出价参数最可能完成这次状态变化。假设它输出 ,某个流量的预估价值 ,最终报价就是:
这个数值例子只用于说明机制。正向 Dynamics 是 ,Inverse Dynamics 则把方向倒过来:。DiffBid 还把单个当前状态扩展成 ,让动作预测利用历史。
4. 训练与推理:两个监督学习任务串成一个决策系统
DiffBid 的总损失由两项 MSE 构成:
第一项让 Temporal U-Net 预测加到真实轨迹上的噪声;第二项让逆动力学网络用“历史状态 + 下一真实状态”回归日志里的真实动作。整个训练不需要策略梯度、Q-learning 或 Bellman Bootstrapping。
flowchart TD
subgraph 训练
A1[历史状态轨迹 x₀] --> A2[随机采样 k 和噪声 ε]
A2 --> A3[构造带噪轨迹 xₖ]
Y1[轨迹结果条件 y] --> A4[Temporal U-Net]
A3 --> A4
A4 -->|预测 ε̂| A5[去噪 MSE]
B1[历史 sₜ₋L:ₜ / 真实 sₜ₊₁] --> B2[Inverse Dynamics]
B2 -->|预测 âₜ| B3[动作 MSE]
end
subgraph 推理
C1[随机噪声轨迹] --> C2[固定真实历史并反复去噪 K 次]
Y2[目标 Return / CPC / 节奏] --> C2
C2 --> C3[完整预测轨迹]
C3 -->|只取 s'ₜ₊₁| C4[Inverse Dynamics]
H2[最近真实历史] --> C4
C4 --> C5[当前出价参数]
end
两阶段架构带来一个实际差异:训练逆动力学时,它看到的下一状态来自真实日志;推理时,下一目标状态来自 Diffusion。工程上需要关注这两种输入分布的差异,但滚动重规划能把已经发生的偏差及时写回历史,避免错误轨迹一路开环执行到当天结束。
5. 把 Return、CPC 和人工偏好统一成条件
DiffBid 最适合广告业务的部分,不只是“用了 Diffusion”,而是把多个目标统一成生成条件 。
5.1 Return 条件
一条轨迹的 Return 是:
论文用数据集内的最小值和最大值做归一化:
假设 、,某条轨迹的 Return 为 820,那么 。训练时模型学习 ;生成时把 设为 1,就会朝数据里高 Return 轨迹的区域采样。
5.2 CPC 约束
假设广告主要求 。论文把每条历史轨迹是否达标编码成二值条件:
推理时设 ,相当于要求模型生成“像历史合规轨迹”的状态序列。若同时追求高 Return,就把条件写成 。
论文用 Exceeding Ratio 衡量约束超出比例。与 IQL 相比,DiffBid 随 CPC 条件变化能明显调节超限率,同时让 Return 保持在较稳定水平。
图 4|IQL 与 DiffBid 在不同归一化 CPC 条件下的超限率和 Return。来源:AIGB 论文,Figure 4。
5.3 Smoothness 与 Early Spend
Smoothness 用相邻时间片消耗变化的均值表示:
Early Spend 则看前半天消耗占全天消耗的比例:
论文把二者都按阈值分成高、低条件。生成结果的分布确实会随条件移动:Early Spend 的高低两组分离得很清楚,Smoothness 也能改变分布形态。
图 5|Smoothness 与 Early Spend 条件下的生成分布。Low、High 是指定条件,True 是原始轨迹分布。来源:AIGB 论文,Figure 5。
把这些条件拼成一个向量:
同一个模型就能在不同目标组合之间切换。它的思路不是为每种业务组合重新手工设计一套奖励函数,而是从历史日志里学习“哪些状态轨迹与这些结果共同出现”。
6. 第 5 章的理论:把轨迹似然改写成累计奖励
理论部分最关键的不是复杂的 、 推导,而是一个很朴素的转换:整条轨迹的对数概率,可以拆成每一步条件概率的对数之和。
先忽略条件 ,最大似然目标是:
是历史轨迹分布, 是模型学到的分布。假设历史里三类轨迹的比例是:上午快速消耗 20%、全天匀速消耗 50%、下午集中消耗 30%,MLE 希望模型学到 ,而不是把其中一类错误放大成 。
对状态轨迹 使用链式法则:
取对数后:
初始状态分布固定时,第一项可以视为常数。于是 MLE 变成:
它已经长得很像“累计奖励最大化”。只要定义:
最大化轨迹似然,就等价于最大化这套构造奖励的累计值。
### 6.1 动作如何进入这套构造
6.1 把动作纳入构造
真实广告环境里,状态变化由动作产生。论文引入历史依赖策略 和环境转移 。把动作积分掉,就得到策略诱导的下一状态概率:
用一个离散例子看更直观。当前剩余预算 600 元,策略以 0.7 的概率提高出价、0.3 的概率降低出价;提高出价后下一时间片花到 30 元的概率是 0.8,降低出价时这个概率是 0.2。那么:
论文把奖励定义为这个概率的对数:
某个策略给真实发生的下一状态分配 0.9 的概率,奖励是 ;另一个策略只分配 0.1,奖励是 。最大化这项奖励,会鼓励策略更准确地复现示范数据里的状态转移。
### 6.2 为什么又出现了 V、Q 和 Bellman 关系
6.2 从轨迹 MLE 到 V、Q 与 Bellman 关系
作者进一步定义:
它表示给定历史以后,未来真实状态序列的期望对数概率。按轨迹概率的递推分解,可以写成:
再加入动作,就能构造 及相应的 Soft Policy Iteration 关系。整套证明想表达的是:
这里的 Value 是未来轨迹的期望对数概率,不是 GMV;构造奖励也不是线上直接观测到的业务收益。把这两点记住,第 5 章就不会再和传统 RL 的 混在一起。
## 7. 实验:DiffBid 学到了什么
7. 实验结果与分析
论文的离线环境把一天切成 96 步,每步 15 分钟;广告主数量为 30,预算在 1000 到 4000 元之间,每个时间步有 50 到 300 次曝光机会。
表 1|离线 Real Advertising System 的主要参数。来源:AIGB 论文,Table 5。
### 7.1 离线主结果:不同预算和数据规模下都领先
7.1 不同预算与数据规模下的离线结果
论文用 USCB 收集 5000 条基础轨迹,并通过随机探索构造 USCBEx-5K 和 USCBEx-50K;基线包括 USCB、BCQ、CQL、IQL 和 Decision Transformer。每种配置随机初始化环境 50 次,报告 Top-5 分数的平均值。
表 2|不同训练数据和预算下的累计收益。DiffBid 在 12 个组合里均为最高。来源:AIGB 论文,Table 1。
数据越丰富,DiffBid 的优势越明显。在 USCBEx-50K、预算 1.5K 的设置下,DiffBid 为 495.57,相对最强基线提升 8.05%;其余配置的相对提升在 0.65% 到 3.40% 之间。
### 7.2 消融:条件比历史逆动力学更关键,但两者都有效
7.2 消融实验:条件与历史逆动力学的作用
表 3|去掉条件(w/o cond)或只用当前状态与下一状态(w/o non-mkv)的结果。来源:AIGB 论文,Table 2。
去掉条件后,USCBEx-5K 从 2280.12 降到 1812.64,USCBEx-50K 从 2395.60 降到 1852.21;只去掉历史逆动力学时也会下降,但幅度更小。这说明高 Return 条件不是装饰项,而是决定生成方向的主要信号;历史状态则进一步改善动作可实现性。
### 7.3 状态轨迹:预算完成率更集中
7.3 状态轨迹与预算完成率
图 6|USCB 与 DiffBid 在一天内的预算剩余比例。颜色表示不同预算。来源:AIGB 论文,Figure 3。
USCB 的轨迹在尾段分散很大,不少广告主到一天结束仍剩较多预算;DiffBid 的轨迹更集中,绝大多数最终消耗超过 80%。对小预算广告主,模型还会把更多预算留到下午,因为下午流量的成本效率更高但数量有限。
7.4 Diffusion 步数与稳定性
图 7|左:不同 对各预算的影响;右:CQL、IQL、DiffBid 在 30 次随机初始化下的结果分布。来源:AIGB 论文,Figure 6。
小预算对 Diffusion 步数更敏感,大预算在 之间变化不大;多数设置在 30 步内已经达到最好或接近最好的结果。稳定性图中,DiffBid 的分布更集中、低分失败样本更少。
附录还设计了一个长时域动作控制任务:Return 被重新定义成奇数时间步动作之和减去偶数时间步动作之和。IQL 的输出几乎不随条件变化,DiffBid 则能沿着条件切换动作模式。
图 8|动作控制实验。DFUSER 即论文图中的 DiffBid 实现。来源:AIGB 论文,Figure 7。
### 7.5 线上 A/B:GMV +2.81%,ROI +3.36%
7.5 线上 A/B 实验
论文在 2024 年 2 月 1 日到 2 月 8 日做了线上 A/B,与离线基线里表现较好的 IQL 比较。两组计划数和预算相同,DiffBid 的 Cost 下降 0.53%,Buy Count 上升 2.09%,GMV 上升 2.81%,ROI 上升 3.36%。
表 4|线上 A/B 结果。来源:AIGB 论文,Table 3。
代价是推理更慢:GPU 加速下 DiffBid 每次请求约 0.2 秒,基线约 0.07 秒。广告出价参数每几分钟更新一次,这个量级在论文的系统里仍可接受。
8. DiffBid 与 RL、Decision Transformer 的位置
DiffBid 最有价值的创新不是“把 U-Net 用到广告里”,而是这条分层链路:
Diffusion 只是实现轨迹生成的一种方式。只要能稳定学习 ,Transformer、Flow Matching 或状态空间模型也可以替换进来。真正需要保留的是“先规划状态,再求动作”的建模方式,以及每个决策周期用真实反馈重新规划。
9. 工程上最值得继续追的三个问题
### 9.1 为什么生成完整 96 步,最后只用下一步
**完整轨迹生成、单步执行。**完整轨迹让模型同时考虑预算终点、早晚流量差异和 CPC 的长期变化,下一状态不是局部回归器独立猜出来的,而是整日计划的一部分。代价是每个决策点都要做 次全轨迹去噪。论文的 Figure 6 说明 10 到 30 步已能工作,但没有直接比较“完整轨迹生成”与“只预测下一状态”的效果和延迟,这正是判断全轨迹规划价值的关键消融。
### 9.2 规划出的状态能否被动作实现
**规划状态的可实现性。**轨迹生成和动作生成由两个监督目标分别训练。Diffusion 可能提出历史里很少见的目标状态,Inverse Dynamics 却只在真实相邻状态上训练。更稳妥的后续方案可以加入轨迹可实现性评分、Forward Dynamics 一致性损失,或者让生成器在动作模型的可达区域内采样。
### 9.3 条件生成如何走向真正的收益优化
从条件生成走向收益优化。 表示靠近训练数据中的高 Return 区域, 表示靠近历史合规轨迹。它们提供了灵活的目标控制,却没有把未来市场、硬约束和反事实收益直接放进生成目标。更进一步的系统需要把分布外收益估计、约束满足概率和在线反馈纳入同一套规划闭环。
10. 符号速查
表 5|论文主要符号。来源:AIGB 论文,Table 4。
一句话收束整篇论文:DiffBid 用条件 Diffusion 生成理想状态轨迹,用历史依赖的 Inverse Dynamics 把下一目标状态变成当前出价参数,再通过真实反馈不断滚动重规划。 第 4 章讲这套系统如何训练和运行,第 5 章则把轨迹 MLE 改写成一类历史依赖的序列决策问题。
参考资料
- Jiayan Guo et al. AIGB: Generative Auto-bidding via Diffusion Modeling, KDD 2024. DOI
- AIGB 逐公式讲解对话