强化学习—— Dueling Network

强化学习—— Dueling Network

  • 1、优势函数(Advantage Function)
    • 1.1 概念定义
    • 1.2 优势函数的性质
  • 2. Dueling Network
    • 2.1 近似网络
    • 2.2 训练过程
  • 3 网络保留优势函数最大值的原因:解决不唯一性

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[UtAt=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. 定理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. 定理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 近似网络

  1. 通过神经网络近似最优动作价值函数: Q ( s , a ; W ) ∼ Q ⋆ ( s , a ) Q(s,a;W)\sim Q^\star(s,a) Q(s,a;W)Q(s,a)强化学习—— Dueling Network_第1张图片

  2. 通过神经网络近似最优状态价值函数: V ( s ; W V ) ∼ V ⋆ ( s ) V(s;W^V)\sim V^\star(s) V(s;WV)V(s)强化学习—— Dueling Network_第2张图片

  3. 通过神经网络近似优势函数: 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_第3张图片

  4. 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_第4张图片
Dueling Network与DQN的功能、输入、输出完全一致,在网络结构上不同。

2.2 训练过程

  1. Q ( s , a ; W ) 近 似 Q ⋆ ( s , a ) Q(s,a;W)近似Q^\star(s,a) Q(s,a;W)Q(s,a)
  2. 参数训练方式与DQN完全一致: W = ( W A , W V ) W=(W^A,W^V) W=(WA,WV)
    训练可使用的trick:
  3. 优先经验回放(prioritized experience replay)
  4. Double DQN
  5. Multi-step TD Target

3 网络保留优势函数最大值的原因:解决不唯一性

  1. 式(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. 式(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

我们在小孩和大人的转角
盖一座城堡
——————五月天(好好)——————

你可能感兴趣的:(强化学习,python,算法,人工智能,强化学习)