Page 303 - 《软件学报》2025年第10期
P. 303

4700                                                      软件学报  2025  年第  36  卷第  10  期


                 当的二次惩罚. 在     IQL  算法更新值函数的优势下, 添加一个惩戒项, 平滑地估计响应函数, 使得其更贴近响应函数
                 的最大值.
                    根据以上思想, V     值函数设定为:

                                                       ω
                                            V ψ → E (s,a)∼D [L (Q¯ θ (s,a)−V ψ (s)−ςH(a | s))]        (8)
                                                       2
                 其中,  Q¯ θ (s,a)−V ψ (s) 是价值函数之间的差异,  H(a | s) 是惩戒项. 在强化学习中, 动作值函数和状态值函数定义为:

                                                  Q(s,a) = E[R t | s t = s,a t = a]                   (9)

                                                     V(s) = E[R t | s t = s]                         (10)
                                                         a, 取得直到终点的奖赏的期望. 状态值函数, 是智能体在当前
                    动作值函数, 是智能体在当前状态下, 选取动作
                 状态下, 取得直到终点的奖赏的期望. 两个函数之间是可以相互转化, 且相互迭代, 可以得到公式                           (11) 和公式  (12):

                                                          ∑
                                                Q k (s,a) = r +γ  p(s | s,a)V k−1 (s )               (11)
                                                                        ′
                                                               ′

                                                  ∑      [   ∑              ]
                                                                           ′
                                            V k (s) =  π(a | s) r +γ  p(s | s,a)V k−1 (s )           (12)
                                                                  ′
                 其中,  p(s | s,a) 是状态转移函数. 修改   IQL  算法的  V  值函数更新公式中用到的        Q k (s,a)−V k (s), 将  Q  看成  |A| 个状
                        ′
                 态转移概率乘以确定性概率          1, 则可将优势函数扩展到高维状态动作空间中. 可以推导到公式                   (13), 再利用最小二
                 乘法求解.

                                        1  [∑    ∑               ] ∑       [   ∑              ]
                           Q k (s,a)−V k (s) =  (r +γ  p(s | s,a)V k−1 (s )) −  π(a | s) r +γ  p(s | s,a)V k−1 (s )
                                                      ′
                                                               ′
                                                                                             ′
                                                                                    ′
                                        |A|
                                                                             
                                            1  |A| ∑∑      |A| ∑   ∑         
                                                    ′                  ′       ′
                                      = r +γ     p(s | s,a)−  π(a i | s)  p(s | s,a i )  V(s )    (13)
                                                                              
                                                                             
                                            |A|
                                              i=1           i=1
                 其中,  |A| 是动作集数. 可将其中间复杂项化为:

                                                        |A|y i −m ω (x)                              (14)
                 其中,  m ω (x) = η 1 x 1 +η 2 x 2 +...+η |A| x |A| . 这意味着动作空间的维度影响算法的性能, 提出在  V  值函数更新公式中, 添
                 加了一个有关动作的惩戒项          π(a | s), 对  V  值函数进行适当的惩罚.
                    加一个有关动作的惩戒项不仅仅能促进对未来决策的合理预测, 还能缓解                         Q  值函数过高估计的问题. 在当前
                 状态  s 下, V  值函数是一个固定值. 当惩戒项       π(a | s) 概率值较低时, 并不影响    V  值函数和  Q  值函数的差距; 但当惩
                     π(a | s) 概率值较高时, 若  Q  值函数过高估计,   Q(s,a)−ςH(a | s) 则会降低与  V  值的偏差, 从而减小    V  值在该状
                 戒项
                 态下上升的可能性, 提高价值函数评估的性能, 进而也提升了训练的效率和性能. 其中                          ς  为温度系数, 对价值函数
                 的影响可见第     4.3  节实验部分.
                    Q  值函数的更新是使用的均值方差           (MSE) 方法. 由于下一状态的评估是借助          V  值函数, 无需考虑下一动作是
                 否取得最大    Q  值问题. 在某种意义上, 更新方式类似于          SARSA  算法评估, 更新公式如下:

                                                                          2
                                              L θ (Q) = E (s,a,s ′ )∼D [(r +γV ψ (s )− Q¯ θ (s,a)) ]  (15)
                                                                 ′
                  3.2   扩散模型
                    扩散模型指扩散输入数据点的邻域信息. 在扩散过程中, 通过当前数据点与周围数据点信息的结合, 从而增强
                 和扩展了当前数据点的特征. 扩散模型训练的关键是去噪过程.
                    图  2  展示了扩散模型在蚂蚁迷宫场景下去噪的过程. 经过随机高斯噪声的加噪后, 获取了当前的状态周围的
                 信息. 对于未知的数据分布, 扩散模型也能在去噪过程中, 增加当前状态选择最优动作的概率. 结合算法采取多步
                 规划的方式, 扩大了扩散的范围. 同时利用值函数              SARSA  式更新的优势, 使得学习的值函数更接近最优性的值函
                 数, 从而产生一个更好的策略.
                    扩散模型是一个生成模型, 从一个噪声中生成一个真实的数据. 首先给数据逐渐加噪声, 使得数据逐渐变成一
                 个完全随机噪声的过程. 从一个未知数据样本               q(x) 中, 随机采样一个变量     x 0 ∼ q(x). 扩散模型的前向过程, 则是    T
                                             t
                 次对数据   x 0  添加高斯噪声的过程, 且   时刻仅与      t −1 时刻有关. 结合马尔可夫的性质, 转移分布          q(x t | x t−1 ) 满足:
   298   299   300   301   302   303   304   305   306   307   308