强化学习

Agent learns to take actions maximizing expected reward or expected cumulative reward per episode.

  • 基于模型的方法
  • 无模型的方法

首先得说一下这里的模型指的是什么。

model就是用来预测环境接下来会干什么,即在这一状态的情况下执行某一动作会达到什么样的状态,这一个动作会得到什么reward。所以描述一个模型就是用动作转移概率与动作状态reward。
公式如下:

p(st+1st,at)p(s_{t+1}|s_t,a_t)p(rtst,at)p(r_t|s_t,a_t)​

无模型强化学习

一,策略网络

Learning an Actor:a=πθ(s)a = \pi_{\theta} (s)​.

一般过程如下:

  • 定义模型actor的结构:神经网络
  • 目标函数:最大化每个episode的期望累积奖励Rθ=t=1TrtR_{\theta}=\sum_{t=1}^{T}r_t。一般先采样nn个episode,然后利用这nn个episode来计算RθR_{\theta}的期望Rθ^\hat{R_{\theta}},通过最大化Rθ^\hat{R_{\theta}}来最大化RθR_{\theta}。其中,每个episode的形式为:τ={s1,a1,r1,s2,a2,r2,...,sT,aT,rT}\tau=\{s_1,a_1,r_1,s_2,a_2,r_2,...,s_T,a_T,r_T\}

p(τθ)=p(s1)t=1Tp(atst,θ)p(rt,st+1st,at) 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(atst,θ)p(a_t|s_t,\theta)这一项与你的actor有关。

所以我们可以利用πθ\pi_{\theta}p(τθ)p(\tau|\theta)采样出N个τ\tau,从而得到Rθ^=τR(τ)P(τθ)1Nn=1NR(τn)\hat{R_{\theta}}=\sum_{\tau}R(\tau)P(\tau|\theta)\approx\frac{1}{N}\sum_{n=1}^{N}R(\tau_n)

  • 则最终的参数为:θ=argmaxθRθ^\theta^*=argmax_\theta \hat{R_\theta}。可以使用SGD来优化。

θ=θ+αRθ^ \theta = \theta+\alpha\nabla\hat{R_\theta}

其实Rθ^\nabla\hat{R_\theta}本质山是由策略梯度决定的,推导见纸质版。

最终结果为:

强化学习点滴

其中bb可以视为一个累积奖励的baseline。

二,估值网络

Learning a Critic,then found a best Actor from the Critic:Q-learning.

Critic

(1)state value function:Vπ(s)V^{\pi}(s)

它的结构一般是一个的神经网络,输出一个标量,它的意思是在使用actor π\pi,看到状态s之后的累积期望奖励值。

(2)state-action value function:Qπ(s,a)Q^{\pi}(s,a)

它的结构一般也是一个的神经网络,输出一个标量,它的意思是在使用actor π\pi,看到状态s,采取动作a之后的累积期望奖励值。

(3)估计Vπ(s)V^{\pi}(s)Qπ(s,a)Q^{\pi}(s,a)的方法有:
  • 基于MC的方法:The critic watches ???? playing the game .GaG_a
  • 时序差分(TD)方法Vπ(st+1)Vπ(st)=rtV^{\pi}(s_{t+1})-V^{\pi}(s_t)=r_t

各自的优缺点如下:

  • MC的方法是无偏的,但是方差大,而且学习时必须等到每个episode结束,所以学习速度很慢。
  • TD的不用等到每个episode结束再学习,它的速度很快,方差小,但是可能有偏差。
(4)Q-learning

强化学习点滴

三,策略网络与估值网络的融合:Actor-Critic即A3C

有模型强化学习

相关文章: