Page 305 - 《软件学报》2025年第10期
P. 305
4702 软件学报 2025 年第 36 卷第 10 期
在训练时, 使用极大似然估计, 求模型的参数. 在计算损失时, 使用 KL 散度或者 MSE 方法等, 计算分布 p 和
分布 q 之间的差异. 假设分布 p 和 q 都服从高斯分布, 且方差定为常数. 那么只需要优化二者均值之间的差, 去噪
网络参数更新可表示为:
[ ]
2
L d (ϕ) = E ξ∼N(0,I),x∼N(0,I),s∼D ||ξ −ξ ϕ (x t ,t)||
[ √ √ ]
¯
= E ξ∼N(0,I),x 0 ∼p(x),s∼D ||ξ −ξ ϕ ( α t x 0 + 1− ¯α t ξ), s,t)|| 2 (26)
通过梯度下降方式最小化损失函数.
扩散模型从一个潜在变量中, 生成一个新的样本, 其分布与先验数据分布相同. 面对稀疏奖励不能立刻给出反
馈, 从而导致局部最优问题. 扩散模型通过学习噪声, 结合数据点邻域的信息, 更准确地描述了数据分布, 提高数据
的质量. 扩大扩散范围和增大扩散模型时间步, 能更加准确的学习去噪过程, 从而提高了策略网络的精准性和稳定
性. 扩散模型的具体采样过程如算法 1 所示.
算法 1. 扩散模型的采样过程.
输入: 状态 s;
a 0 .
输出: 动作
n t
1. 初始化: 去噪网络 ξ ϕ , 时间步 , 超参数 {β t ∈ (0,1)} , 静态数据集 D
n t
t=1
2. 前向过程 (添加噪声):
3. a 0 ∼ q(a), q(a) ∼ D
4. α t = 1−β t
5. for t = 1,2,...,n t do
√
6. a t ∼ q(a t | a 0 ) = N(a t ; α t a 0 ,(1− ¯α t )I)
¯
7. end for
8. 逆向过程 (去噪):
9. for t = n t ,n t −1,...,1 do
10. ξ t ∼ ξ ϕ (a t ,t, s)
√ √
11. µ t = 1/ α t ·(a t −β t / 1− ¯α t ξ t )
√
12. σ t = 1− ¯α t−1 /1− ¯α t ·β t
13. a t−1 = µ t +e 0.5σ 2 ξ t
14. end for
在扩散模型中, 输入状态信息. 算法 1 第 1 行, 初始化去噪的网络参数, 同时需要初始化扩散的时间序列长度、
全局经验池以及高斯分布的方差. 算法 1 第 2–7 行, 给动作添加随机高斯噪声. 从与数据集同分布的数据中采样初
始动作, 根据第 6 行的公式, 累积添加 T 次噪声. 算法 1 第 8–14 行, 将加噪后的动作输入去噪网络 ξ ϕ 中, 输出当前
t 时刻预测的噪声. 通过预测的噪声, 计算出预测数据分布的方差和均值. 然后根据均值和方差, 得出去噪后的动
作, 也就是 t −1 时刻的动作. 重复 T 次, 最后输出动作 .
a 0
3.3 DMEM 算法
在 DMEM 算法中, 评估的策略利用了状态值函数和动作值函数. 其中, Q(s,a) 价值函数代表回报的均值, 更新
方式如公式 (6), 其中涉及的元素, 动作和状态都是采样于静态数据集. 因此无需考虑数据集外的 OOD 动作, 避免
对此的值函数高估问题. 利用 SARSA 方法更新评估网络, 而不是直接选择最大动作 Q 值, 给予策略更多泛化的
能力.
而状态值函数, 在 IQL 算法的 V 值更新方式的基础上, 针对高维度问题, 进行了如下修改. 从第 3.1 节推导过
程中, 得到 π(a | s) 是 V(s) 影响贴近 Q(s,a) 的一个重要因素. 对此, 添加一个有关策略选择动作的惩戒项. 同时这个

