强化学习
Agent learns to take actions maximizing expected reward or expected cumulative reward per episode.
- 基于模型的方法
- 无模型的方法
首先得说一下这里的模型指的是什么。
model就是用来预测环境接下来会干什么,即在这一状态的情况下执行某一动作会达到什么样的状态,这一个动作会得到什么reward。所以描述一个模型就是用动作转移概率与动作状态reward。
公式如下:
p ( s t + 1 ∣ s t , a t ) p(s_{t+1}|s_t,a_t) p(st+1∣st,at)和 p ( r t ∣ s t , a t ) p(r_t|s_t,a_t) p(rt∣st,at)。
无模型强化学习
一,策略网络
Learning an Actor: a = π θ ( s ) a = \pi_{\theta} (s) a=πθ(s).
一般过程如下:
- 定义模型actor的结构:神经网络。
- 目标函数:最大化每个episode的期望累积奖励 R θ = ∑ t = 1 T r t R_{\theta}=\sum_{t=1}^{T}r_t Rθ=∑t=1Trt。一般先采样 n n n个episode,然后利用这 n n n个episode来计算 R θ R_{\theta} Rθ的期望 R θ ^ \hat{R_{\theta}} Rθ^,通过最大化 R θ ^ \hat{R_{\theta}} Rθ^来最大化 R θ R_{\theta} Rθ。其中,每个episode的形式为: τ = { s 1 , a 1 , r 1 , s 2 , a 2 , r 2 , . . . , s T , a T , r T } \tau=\{s_1,a_1,r_1,s_2,a_2,r_2,...,s_T,a_T,r_T\} τ={s1,a1,r1,s2,a2,r2,...,sT,aT,rT}
p ( τ ∣ θ ) = p ( s 1 ) ∏ t = 1 T p ( a t ∣ s t , θ ) p ( r t , s t + 1 ∣ s t , a t ) p(\tau|\theta)=p(s_1)\prod_{t=1}^{T}p(a_t|s_t,\theta)p(r_t,s_{t+1}|s_t,a_t) p(τ∣θ)=p(s1)t=1∏Tp(at∣st,θ)p(rt,st+1∣st,at)
其中,只有 p ( a t ∣ s t , θ ) p(a_t|s_t,\theta) p(at∣st,θ)这一项与你的actor有关。
所以我们可以利用 π θ \pi_{\theta} πθ和 p ( τ ∣ θ ) p(\tau|\theta) p(τ∣θ)采样出N个 τ \tau τ,从而得到 R θ ^ = ∑ τ R ( τ ) P ( τ ∣ θ ) ≈ 1 N ∑ n = 1 N R ( τ n ) \hat{R_{\theta}}=\sum_{\tau}R(\tau)P(\tau|\theta)\approx\frac{1}{N}\sum_{n=1}^{N}R(\tau_n) Rθ^=∑τR(τ)P(τ∣θ)≈N1∑n=1NR(τn)。
- 则最终的参数为: θ ∗ = a r g m a x θ R θ ^ \theta^*=argmax_\theta \hat{R_\theta} θ∗=argmaxθRθ^。可以使用SGD来优化。
θ = θ + α ∇ R θ ^ \theta = \theta+\alpha\nabla\hat{R_\theta} θ=θ+α∇Rθ^
其实 ∇ R θ ^ \nabla\hat{R_\theta} ∇Rθ^本质山是由策略梯度决定的,推导见纸质版。
最终结果为:
其中 b b b可以视为一个累积奖励的baseline。
二,估值网络
Learning a Critic,then found a best Actor from the Critic:Q-learning.
Critic
(1)state value function: V π ( s ) V^{\pi}(s) Vπ(s)
它的结构一般是一个的神经网络,输出一个标量,它的意思是在使用actor π \pi π,看到状态s之后的累积期望奖励值。
(2)state-action value function: Q π ( s , a ) Q^{\pi}(s,a) Qπ(s,a)
它的结构一般也是一个的神经网络,输出一个标量,它的意思是在使用actor π \pi π,看到状态s,采取动作a之后的累积期望奖励值。
(3)估计 V π ( s ) V^{\pi}(s) Vπ(s)和 Q π ( s , a ) Q^{\pi}(s,a) Qπ(s,a)的方法有:
- 基于MC的方法:The critic watches ? playing the game . G a G_a Ga
- 时序差分(TD)方法: V π ( s t + 1 ) − V π ( s t ) = r t V^{\pi}(s_{t+1})-V^{\pi}(s_t)=r_t Vπ(st+1)−Vπ(st)=rt
各自的优缺点如下:
- MC的方法是无偏的,但是方差大,而且学习时必须等到每个episode结束,所以学习速度很慢。
- TD的不用等到每个episode结束再学习,它的速度很快,方差小,但是可能有偏差。