强化学习—— Actor-Critic

Posted CyrusMay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强化学习—— Actor-Critic相关的知识,希望对你有一定的参考价值。

强化学习(四)—— Actor-Critic

1. 网络结构

  • 状态价值函数:
    V π ( s t ) = ∑ a Q π ( s t , a ) ⋅ π ( a ∣ s t ) V_\\pi(s_t)=\\sum_aQ_\\pi(s_t,a)\\cdot\\pi(a|s_t) Vπ(st)=aQπ(st,a)π(ast)

  • 通过策略网络近似策略函数:
    π ( a ∣ s ) ≈ π ( a ∣ s ; θ ) \\pi(a|s)\\approx\\pi(a|s;\\theta) π(as)π(as;θ)

  • 通过价值网络近似动作价值函数:
    q ( s , a ; W ) ≈ Q ( s , a ) q(s,a;W)\\approx Q(s,a) q(s,a;W)Q(s,a)

  • 神经网络近似后的状态价值函数:
    V ( s ; θ , W ) = ∑ a q ( s , a ; W ) ∗ π ( a ∣ s ; θ ) V(s;\\theta ,W)=\\sum_aq(s,a;W)*\\pi(a|s;\\theta) V(s;θ,W)=aq(s,a;W)π(as;θ)

  • 通过对策略网络不断更新以增加状态价值函数值。

  • 通过对价值网络不断更新来更好的预测所获得的回报。

2. 网络函数

Policy Network

  • 通过策略网络近似策略函数
    π ( a ∣ s t ) ≈ π ( a ∣ s t ; θ ) π(a|s_t)≈π(a|s_t;\\theta) π(ast)π(ast;θ)
  • 状态价值函数及其近似
    V π ( s t ) = ∑ a π ( a ∣ s t ) Q π ( s t , a ) V_π(s_t)=\\sum_aπ(a|s_t)Q_π(s_t,a) Vπ(st)=aπ(ast)Qπ(st,a)
    V ( s t ; θ ) = ∑ a π ( a ∣ s t ; θ ) ⋅ Q π ( s t , a ) V(s_t;\\theta)=\\sum_aπ(a|s_t;\\theta)·Q_π(s_t,a) V(st;θ)=aπ(ast;θ)Qπ(st,a)
  • 策略学习最大化的目标函数
    J ( θ ) = E S [ V ( S ; θ ) ] J(\\theta)=E_S[V(S;\\theta)] J(θ)=ES[V(S;θ)]
  • 依据策略梯度上升进行
    θ ← θ + β ⋅ ∂ V ( s ; θ ) ∂ θ \\theta\\gets\\theta+\\beta·\\frac\\partial V(s;\\theta)\\partial \\theta θθ+βθV(s;θ)

3. 策略网络的更新-策略梯度

Policy Network

  • 策略梯度为:
    g ( a , θ ) = ∂ l n π ( a ∣ s ; θ ) ∂ θ ⋅ q ( s , a ; W ) ∂ V ( s ; θ , W ) ∂ θ = E [ g ( A , θ ) ] g(a,\\theta)=\\frac\\partial ln\\pi(a|s;\\theta)\\partial \\theta\\cdot q(s,a;W)\\\\\\frac\\partial V(s;\\theta,W)\\partial \\theta=E[g(A,\\theta)] g(a,θ)=θlnπ(as;θ)q(s,a;W)θV(s;θ,W)=E[g(A,θ)]
  • 可采用随机策略梯度,(无偏估计)
    a ∼ π ( ⋅ ∣ s t ; θ ) θ t + 1 = θ t + β ⋅ g ( a , θ t ) a\\sim \\pi(\\cdot|s_t;\\theta)\\\\\\theta_t+1=\\theta_t+\\beta·g(a,\\theta_t) aπ(st;θ)θt+1=θt+βg(a,θt)

4. 价值网络的更新-时序差分(TD)