Page 177 - 《软件学报》2021年第11期
P. 177
陈子璇 等:一种基于广义异步值迭代的规划网络模型 3503
情节式加权双 Q 学习算法将被作用于规划网络模型中,其伪代码如算法 1 所示.解释如下:当一个情节开始
时,对于每个给定的起始节点 s 0 ,智能体会同时考虑行为网络 Q (;a w ) ′ 及目标网络 Q (; )a w ,即 Q (;a w ) ′ + Q ( ; )a w , 并基于
t s t s t s t s
这个线性组合,采用ε贪心策略选择动作,使其从当前节点 s t 到达下一个节点 s t+1 .也就是说:在智能体选择下一个
w
节点过程中,存在着(1−ε)的概率,使得 s t+ 1 argmax s′ = Nei ( ) (Q s′∈ ()w + Q s′ ( ′ ) ); 存在着ε的概率,s t+1 是从与 s t 相连的节点
t s
中随机选择的.算法的输入为非规则图形,图形中每个节点都具有不同的局部结构,因而智能体在每个节点上可
执行的动作数目也是不同的.在训练期间,需使用一个伪状态-动作值来表示智能体从节点 s 转移到与其相连的
某个节点时所对应的状态-动作值,具体定义为 Q s =max s′∈Nei(s) V s′ ,其中,Nei(s)表示与节点 s 相连的节点集合,V s′ 表
示与节点 s 相连的节点的状态值.当 s t 是目标节点或总步数达到最大步长限制时,一个情节结束.当一个情节结
a
| Q (a * ; )w − Q ( L ; )w |
*
束时,构建函数 β = t s t s 以对目标值进行加权处理,其中,c≥0,a 是基于行为网络 Q (;a w ) ′ 的最优动
c+ | Q (a t s * ; )w − Q ( L ; )w | t s
a
t s
作,a L 是基于行为网络 Q (;a w ) ′ 的最差动作.此操作旨在让模型在选择最大动作和计算目标值时使用不同的网络
t s
*
; ′
参数.若情节终止时,智能体所在的节点 s t 为目标节点,则初始化回报,即目标值,G=0;否则,G 的初始值为 Q (a w )
t s
与 Q (a * ; )w 的加权线性组合.最后考虑损失函数 () ′ = Lw T (G − ∑ Q (; a w ′ ) 2
) ,G t 为智能体在 t 时刻的回报,定义为
t s t= 1 t t s
G t =(R t+1 +γG t+1 ),其中,R t 是智能体在 t 时刻所获的立即奖赏.计算完每一时间步的损失函数和梯度后,累积整个情
节的梯度,并利用其来更新目标网络的参数.
算法 1. 情节式加权双 Q 学习.
输入:一张带有目标节点 s g 的非规则图形 G.
1. 初始化:情节数 T=0,目标网络参数 w,行为网络参数 w′,网络梯度Δw,情节内步数 t=0
2. REPEAT:
3. 清除网络梯度Δw←0;
4. 行为网络参数 w′=w;
5. 随机选择一个起始节点 s t ;
6. REPEAT:
7. 基于 Q (;a w ) ′ + Q ( ; )a w , 根据ε贪心策略选择动作;
t s
t s
8. 获取奖赏 R t 并到达下一个节点 s t+1 ;
9. t=t+1;
10. UNTIL 到达终止条件 s t =s g 或 t>t max ;
*
11. a ← argmax Q ( ;a w ) ′ ;
a t s
12. a ← argmin Q (;a w ) ′ ;
L a t s
a
| Q (a * ; )w − Q ( L ; )w |
13. β ← t s t s ;
c+ | Q (a * ; )w − Q ( L ; )w |
a
t s t s
⎧ 0, 到达目标节点 s g
⎪
14. G ← ⎨ (a w ) (a * ; )w
*
; ′
⎪ ⎩ β t s + (1 βQ − )Q t s , 未到达目标节点 s g
15. FOR i=t:−1:0:
16. G←R i +γG;
∂ (G − Q (;a w ′ ) 2
)
17. 累积梯度 Δ Δ ← w + w s ;
∂w ′
18. END FOR
19. w←w−Δw;