强化学习点滴

强化学习

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+1st,at) p ( r t ∣ s t , a t ) ​ p(r_t|s_t,a_t)​ p(rtst,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=1Tp(atst,θ)p(rt,st+1st,at)

其中,只有 p ( a t ∣ s t , θ ) p(a_t|s_t,\theta) p(atst,θ)这一项与你的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(τθ)N1n=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结束再学习,它的速度很快,方差小,但是可能有偏差。
(4)Q-learning

在这里插入图片描述

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

有模型强化学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值