1:输入: 初始策略参数 πinit, 给定奖励函数 R, 优势系数 λ.
2:π0←πinit←下标𝜋0下标𝜋𝑖𝑛𝑖𝑡\pi_{0}\leftarrow\pi_{init}italic_π start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ← italic_π start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT
3:πref←πinit←subscript𝜋𝑟𝑒𝑓subscript𝜋𝑖𝑛𝑖𝑡\pi ef\leftarrow\pi extit{init}italic_π start_POSTSUBSCRIPT italic_r italic_e italic_f end_POSTSUBSCRIPT ← italic_π start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT ▷▷\triangleright▷ Copy the SoS model to create a reference network.
4:πvalue←πinit←subscript𝜋𝑣𝑎𝑙𝑢𝑒subscript𝜋𝑖𝑛𝑖𝑡\pi_{value}\leftarrow\pi_{init}italic_π start_POSTSUBSCRIPT italic_v italic_a italic_l italic_u italic_e end_POSTSUBSCRIPT ← italic_π start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT ▷▷\triangleright▷ Copy the SoS model to create a value network.
5:对于 $t_t$ 在 1 到 $T_1$ 之间进行
6: 将 πθt−1 滚动到产生数据集 Dt={(s1(t),a1(t),r1(t)),⋯,(sn(t),an(t),rn(t)}D_{t}={(s^{(t)}{1},a^{(t)}{1},r^{(t)}{1}),\cdots,(s^{(t)}{n},a^{(t)}{n},r^{(t)}{n})} = { ( s^{(t)}{1},a^{(t)}{1},r^{(t)}{1}) , ⋯ , ( s^{(t)}{n},a^{(t)}{n},r^{(t)}{n} ) }
7: 根据更新政策功能
8: θt=argmaxθℒAPA(θ;Dt)subscript𝜃𝑡subscript𝜃subscriptℒ𝐴𝑃𝐴𝜃subscript𝐷𝑡\theta_{t}=\arg\max_{\theta}\mathcal{L}_{APA}(\theta;D_{t})▷▷\triangleright▷ 简单起见,我们省略了评论家损失
9: 在哪里
10: ℒ𝐴𝑃𝐴(𝜃;𝐷)=1|𝐷|∑(𝑠,𝑎)∈𝐷(logπ𝜃(a|s)−Adv𝜋𝜃t−1(s,a)𝜆−logπref(a|s))²
11: 如果验证奖励收敛,更新 πrefsubscript𝜋𝑟𝑒𝑓
12: πref←πθt←subscript𝜋𝑟𝑒𝑓subscript𝜋subscript𝜃𝑡\pi ef\leftarrow\pi heta_{t}
13:结束循环