强化学习—— Dueling Network
1、优势函数(Advantage Function)
1.1 概念定义
- 折扣回报: U t = r t + γ r t + 1 + γ 2 r t + 2 + . . . U_t=r_t+\gamma r_{t+1}+\gamma^2r_{t+2}+... Ut=rt+γrt+1+γ2rt+2+...
- 动作价值函数: Q π ( s t , a t ) = E [ U t ∣ A t = a t , S t = s t ] Q_\pi(s_t,a_t)=E[U_t|A_t=a_t,S_t=s_t] Qπ(st,at)=E[Ut∣At=at,St=st]
- 状态价值函数: V π ( s t ) = E A [ Q π ( s t , A ) ] V_\pi(s_t)=E_A[Q_\pi(s_t,A)] Vπ(st)=EA[Qπ(st,A)]
- 最优动作价值函数: Q ⋆ ( s , a ) = m a x π ( Q π ( s , a ) ) Q^\star(s,a)=max_\pi(Q_\pi(s,a)) Q⋆(s,a)=maxπ(Qπ(s,a))
- 最优状态价值函数: V ⋆ ( s ) = m a x π ( V π ( s ) ) V^\star(s)=max_\pi(V_\pi(s)) V⋆(s)=maxπ(Vπ(s))
- 最优优势函数(optimal advantage function): A ⋆ ( s , a ) = Q ⋆ ( s , a ) − V ⋆ ( s ) A^\star(s,a)=Q^\star(s,a)-V^\star(s) A⋆(s,a)=Q⋆(s,a)−V⋆(s)
1.2 优势函数的性质
- 定理1: V ⋆ ( s ) = m a x a ( Q ⋆ ( s , a ) ) m a x a A ⋆ ( s , a ) = m a x a ( Q ⋆ ( s , a ) ) − V ⋆ ( s ) = 0 m a x a ( A ⋆ ( s , a ) ) = 0 V^\star(s)=max_a(Q^\star(s,a))\\max_aA^\star(s,a)=max_a(Q^\star(s,a))-V^\star(s)=0\\ max_a(A^\star(s,a))=0 V⋆(s)=maxa(Q⋆(s,a))maxaA⋆(s,a)=maxa(Q⋆(s,a))−V⋆(s)=0maxa(A⋆(s,a))=0
- 定理2: A ⋆ ( s , a ) = Q ⋆ ( s , a ) − V ⋆ ( s ) − m a x a ( A ⋆ ( s , a ) ) A^\star(s,a)=Q^\star(s,a)-V^\star(s)-max_a(A^\star(s,a)) A⋆(s,a)=Q⋆(s,a)−V⋆(s)−maxa(A⋆(s,a))
2. Dueling Network
2.1 近似网络
-
通过神经网络近似最优动作价值函数: Q ( s , a ; W ) ∼ Q ⋆ ( s , a ) Q(s,a;W)\sim Q^\star(s,a) Q(s,a;W)∼Q⋆(s,a)
-
通过神经网络近似最优状态价值函数: V ( s ; W V ) ∼ V ⋆ ( s ) V(s;W^V)\sim V^\star(s) V(s;WV)∼V⋆(s)
-
通过神经网络近似优势函数: A ( s , a ; W A ) ∼ A ⋆ ( s , a ) A(s,a;W^A)\sim A^\star(s,a) A(s,a;WA)∼A⋆(s,a)
-
Dueling Network为: Q ( s , a ; W A . W V ) = A ( s , a ; W A ) + V ( s ; W V ) − m a x a A ( s , a ; W A ) 后 续 使 用 W = ( W A , W V ) Q(s,a;W^A.W^V)=A(s,a;W^A)+V(s;W^V)-max_aA(s,a;W^A)\\后续使用W=(W^A,W^V) Q(s,a;WA.WV)=A(s,a;WA)+V(s;WV)−maxaA(s,a;WA)后续使用W=(WA,WV)
Q ( s , a ; W ) = A ( s , a ; W A ) + V ( s ; W V ) − m a x a A ( s , a ; W A ) Q(s,a;W)=A(s,a;W^A)+V(s;W^V)-max_aA(s,a;W^A) Q(s,a;W)=A(s,a;WA)+V(s;WV)−maxaA(s,a;WA)
Dueling Network与DQN的功能、输入、输出完全一致,在网络结构上不同。
2.2 训练过程
- Q ( s , a ; W ) 近 似 Q ⋆ ( s , a ) Q(s,a;W)近似Q^\star(s,a) Q(s,a;W)近似Q⋆(s,a)
- 参数训练方式与DQN完全一致:
W
=
(
W
A
,
W
V
)
W=(W^A,W^V)
W=(WA,WV)
训练可使用的trick: - 优先经验回放(prioritized experience replay)
- Double DQN
- Multi-step TD Target
3 网络保留优势函数最大值的原因:解决不唯一性
- 式(1): Q ⋆ ( s , a ) = V ⋆ ( s ) + A ⋆ ( s , a ) Q^\star(s,a)=V^\star(s)+A^\star(s,a) Q⋆(s,a)=V⋆(s)+A⋆(s,a)
- 式(2): Q ⋆ ( s , a ) = V ⋆ ( s ) + A ⋆ ( s , a ) − m a x a A ⋆ ( s , a ) Q^\star(s,a)=V^\star(s)+A^\star(s,a)-max_aA^\star(s,a) Q⋆(s,a)=V⋆(s)+A⋆(s,a)−maxaA⋆(s,a)
- 式(1)有非唯一性,V、A神经网络上下波动对结果无影响,但会导致两个神经网络都学习不好。
- 式(2)保证了唯一性。
通常下式的训练效果更好,没有理论依据,但是简单粗暴:
Q ( s , a ; W ) = A ( s , a ; W A ) + V ( S , W V ) − m e a n a ( A ( s , a ; W A ) ) Q(s,a;W)=A(s,a;W^A)+V(S,W^V)-mean_a(A(s,a;W^A)) Q(s,a;W)=A(s,a;WA)+V(S,WV)−meana(A(s,a;WA))
本文内容为参考B站学习视频书写的笔记!
by CyrusMay 2022 04 11
我们在小孩和大人的转角
盖一座城堡
——————五月天(好好)——————