Page 145 - 《软件学报》2025年第12期
P. 145

5526                                                      软件学报  2025  年第  36  卷第  12  期






                                                                                   损失函数L  A
                                          局部                                   存在许多局部最小数值,
                           最终损失函数         最小值                                     难以优化 (λ=0)
                           (1−λ)·L +λL B
                                A
                             (λ: 0→1)





                               损失函数L  B
                            过于平坦, 难以优化
                                 (λ=1)
                                                   图 10 同伦优化的作用

                 算法  2. ON-MODDPG.

                 Input: 一个偏好采样分布 D ω , 平衡权重 λ 从 0 增加到 1.
                                                 Q
                                                                 π
                 1. θ 和 Q  θ 随机初始化 Critic 网络 Q(s, a|θ ) 和 Actor 网络 π(s|θ )
                        π
                           π′
                               π
                   Q′
                        Q
                 2. θ  ← θ , θ  ← θ 初始化目标网络权重参数
                 3. 初始化优先经验回放池 D τ 和偏好采样分布 D ω , 平衡权重 λ 从 0 增加到 1
                 4. for episode = 0 → E do
                            N  初始化
                 5.  随机噪声
                 6.  获得初始状态 s 0
                 7.  采样一个线性偏好 ω 0  ∼ D ω
                 8.  for t = 0 → N do
                                 π
                 9.     a t  = π(s t , ω t |θ ) +  N
                 10.   执行动作    a t , 得到向量奖励 r t  = <r T , r L > 和状态 s t+1 , 将 <s t , a t , r t , s t+1 > 存入 D τ
                 11.   if update then
                 12.    采样批量为 N τ 的多维数组 <s j , a j , r j , s j+1 > ∼ D τ
                 13.    采样 N ω  个偏好向量, 构成 W = {ω i  ∼ D ω }
                                             (
                                          T
                                                   ′
                 14.    计算 y ij  =  r j +γ max ω Q s j+1 ,a,ω | θ Q ′)
                                          i
                                    a∈A,ω ′ ∈W
                 15.      a = π′(s j+1, ω′|θ )
                                      π′
                 16.    //其中 0 ≤ i ≤ N ω  and 0 ≤ j ≤ N τ
                 17.    //计算损失函数
                             A  Q                  Q  2
                 18.      L (θ ) = E s,a,ω [||y − Q(s, a, ω|θ )|| ]
                             B
                                         T
                                              T
                                                      Q
                                Q
                 19.      L (θ ) = E s,a,ω [|ω y − ω Q(s, a, ω|θ )|]
                 20.    //最小化损失函数 L 来更新 Critic 网络
                                                        B
                                              A
                                                Q
                                  Q
                                                           Q
                 21.         ∇ θ Q  L(θ ) = (1 − λ) ∇ θ Q  L (θ ) + λ  ∇ θ Q  L (θ )
                 22.    其中, λ 从 0 增加到 1
                 23.    //采样策略梯度更新 Actor 策略网络
                                 1  ∑
                              π                π          Q          π
                 24.       ∇ θ π  L(θ )≈      ∇ θ π  π(s j , ω i |θ )∇ a Q(s j , a, ω i |θ )|a = π(s j , ω i |θ )
                                 N
                                   i,j
                 25.    //更新目标网络
   140   141   142   143   144   145   146   147   148   149   150