搜索流(SoS):学习在语言中搜索

内容

1:输入: 初始策略参数 πi⁢n⁢i⁢t, 给定奖励函数 R, 优势系数 λ.

2:π0←πi⁢n⁢i⁢t←下标𝜋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:πr⁢e⁢f←πi⁢n⁢i⁢t←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:πv⁢a⁢l⁢u⁢e←πi⁢n⁢i⁢t←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=arg⁡maxθ⁡ℒA⁢P⁢A⁢(θ;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: 如果验证奖励收敛,更新 πr⁢e⁢fsubscript𝜋𝑟𝑒𝑓

12:               πr⁢e⁢f←πθt←subscript𝜋𝑟𝑒𝑓subscript𝜋subscript𝜃𝑡\pi ef\leftarrow\pi heta_{t}

13:结束循环

总结
该文章介绍了一种基于Advantage Proximal Actor-Critic算法的强化学习方法。算法通过更新策略参数来最大化Advantage Proximal Actor损失函数,其中包括当前策略的动作概率、优势函数和参考策略的动作概率。在每次迭代中,通过滚动执行当前策略来生成数据集,然后根据Advantage Proximal Actor损失函数更新策略参数。当验证奖励收敛时,更新参考策略。该算法的关键在于利用Advantage函数来估计当前策略相对于参考策略的性能优势,从而更有效地指导策略更新。