专业推广网站,wordpress一百万文章,房地产活动策划网站,宁波城乡住房建设局网站Policy Network (策略网络)
我们无法知道策略函数 π \pi π所以要做函数近似#xff0c;求一个近似的策略函数 使用策略网络 π ( a ∣ s ; θ ) \pi(a|s;\theta) π(a∣s;θ) 去近似策略函数 π ( a ∣ s ) \pi(a|s) π(a∣s) ∑ a ∈ A π ( a ∣ s ; θ ) 1 \sum_{a\in …Policy Network (策略网络)
我们无法知道策略函数 π \pi π所以要做函数近似求一个近似的策略函数 使用策略网络 π ( a ∣ s ; θ ) \pi(a|s;\theta) π(a∣s;θ) 去近似策略函数 π ( a ∣ s ) \pi(a|s) π(a∣s) ∑ a ∈ A π ( a ∣ s ; θ ) 1 \sum_{a\in A} \pi(a|s;\theta) 1 ∑a∈Aπ(a∣s;θ)1 动作空间A的大小是多少输出向量的维度就是多少。
策略学习的目标函数
状态价值函数(State-value function) V π ( s t ) E A [ Q π ( s t , A ) ] ∑ a π ( a ∣ s t ) ⋅ Q π ( s t , a ) V_\pi(s_t)E_A[Q_\pi(s_t,A)] \sum_a\pi(a|s_t)\cdot Q_\pi(s_t,a) Vπ(st)EA[Qπ(st,A)]∑aπ(a∣st)⋅Qπ(st,a) 对A求期望去掉A的影响 用策略网络 π ( a ∣ s t ; θ ) \pi(a|s_t;\theta) π(a∣st;θ) 去近似策略函数 π ( a ∣ s t ) \pi(a|s_t) π(a∣st) V π ( s t ; θ ) E A [ Q π ( s t , A ) ] ∑ a π ( a ∣ s t ; θ ) ⋅ Q π ( s t , a ) V_\pi(s_t;\theta)E_A[Q_\pi(s_t,A)] \sum_a\pi(a|s_t;\theta)\cdot Q_\pi(s_t,a) Vπ(st;θ)EA[Qπ(st,A)]∑aπ(a∣st;θ)⋅Qπ(st,a) 近似状态价值既依赖于当前状态 s t s_t st也依赖于策略网络 π \pi π的参数 θ \theta θ 如果一个策略很好那么状态价值函数的近似 V π ( s ; θ ) V_\pi(s;\theta) Vπ(s;θ)的均值应当很大。因此我们定义目标函数 J ( θ ) E S [ V π ( s ; θ ) ] J(\theta)E_S[V_\pi(s;\theta)] J(θ)ES[Vπ(s;θ)] 目标函数 J ( θ ) J(\theta) J(θ) 排除了状态 S S S的因素只依赖于策略网络 π \pi π的参数 θ \theta θ。策略越好则 J ( θ ) J(\theta) J(θ) 越大所以策略学习可以被看作是这样一个优化问题 m a x θ J ( θ ) \mathop{max}_{\theta}J(\theta) maxθJ(θ) 通过学习参数 θ \theta θ 使得目标函数 J ( θ ) J(\theta) J(θ) 越来越大也就意味着策略网络越来越好。
使用策略梯度上升更新 θ \theta θ 使得 J ( θ ) J(\theta) J(θ)增大。 设当前策略网络的参数为 θ \theta θ,做梯度上升更新参数得到新的参数 θ ′ \theta θ′, β \beta β为学习率 θ ′ θ β ⋅ ∂ V ( s ; θ ) ∂ θ \theta \theta\beta \cdot \frac{\mathrm{\partial}V(s;\theta)}{\mathrm{\partial}\theta} θ′θβ⋅∂θ∂V(s;θ)
策略梯度(Policy Gradient) ∂ V ( s ; θ ) ∂ θ \frac{\mathrm{\partial}V(s;\theta)}{\mathrm{\partial}\theta} ∂θ∂V(s;θ)大概推导 不严谨 实际上 Q π Q_\pi Qπ中也有 θ \theta θ要求导
使用策略梯度更新策略网络
算法 1、在 t t t时刻观测到状态 s t s_t st 2、根据策略网络 π ( . ∣ s t ; θ ) \pi(.|s_t;\theta) π(.∣st;θ)随机抽样一个动作 a t a_t at 3、计算动作价值 q t ≈ Q π ( s t , a t ) q_t \approx Q_\pi(s_t,a_t) qt≈Qπ(st,at) 4、计算策略网络关于参数 θ \theta θ的微分 d θ ∂ l n π ( a ∣ s ; θ ) ∂ θ ∣ θ θ t d\theta \frac{\mathrm{\partial}ln\pi(a|s;\theta)}{\mathrm{\partial}\theta}|_{\theta\theta_t} dθ∂θ∂lnπ(a∣s;θ)∣θθt 5、计算近似策略梯度 g ( a t , θ t ) q t , d θ g(a_t,\theta_t)q_t,d\theta g(at,θt)qt,dθ 6、更新策略网络 θ t 1 θ t β ⋅ g ( a t , θ t ) \theta_{t1}\theta_t\beta \cdot g(a_t,\theta_t) θt1θtβ⋅g(at,θt)
在第 3 步中怎么计算 q t q_t qt 在后面章节中我们用两种方法对 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a) 做近似。 1、REINFORCE 算法 用实际观测的回报 u u u近似 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a)。 2、actor-critic 算法 用神经网络 q ( s , a ; w ) q(s,a;w) q(s,a;w)近似 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a)。
所以想要近似求得 π \pi π函数 还要近似求得 Q π Q_\pi Qπ函数