1. 基础介绍

在强化学习中有两个东西:Agent和Environment。他们的关系如下:
Agent会去观察Environment,会做一些Action,Change the environment,之后会得到reward。
强化学习——(1)基础
在Alpha Go中,observation为棋盘,action 是落子的位置,Environment为对手,reward为:赢了1,输了-1。因此,机器需要调整model使得得到的reward的概率最大化。
强化学习——(1)基础
监督学习:可以学到一个回下围棋的machine,但是不能够学到一个好的。因为是跟着棋谱来下。
强化学习:自己下,通过反馈进行学习。

2. 难点

  1. reward 具有延迟性
    可能有的action并不能获得reward,但是在整体上对reward有好处。

3. 大纲

  • Policy-based
  • Value-based
    强化学习——(1)基础

3.1 Policy-based 方法

在该方法中:Input就是machine看到的observation,output就是machine要采取Action。
强化学习——(1)基础
使用神经网络作为Actor:以打电玩作为例子,输入为picxa
强化学习——(1)基础
注意,我们并不是要最大化某一次获得的奖励,而是要最大化奖励的期望值。(因为每一次的Environment和Action都可能会不一样)

我们把在一轮中的state, action, reward都记录下来,则其实是一个序列,记为:
τ={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\}
那么,该轮中的奖励为:
R(τ)=n=1Nrn R(\tau)=\sum_{n=1}^{N}r_n
当我们选择了某一个Actor,则可能看到某一些τ\tau,那么,结合模型我们可以知道,当参数为θ\theta时,可能出现的概率可以表示为:
P(τθ) P(\tau|\theta)
所以,最后reward的期望为:
Rˉθ=τR(τ)P(τθ) \bar{R}_{\theta}=\sum_{\tau}R(\tau)P(\tau|\theta)
然后我们用这个model(πθ\pi_\theta)去运行N次,得到N个不同的τ\tau,即{τ1,τ2,...,τN}\{\tau^1, \tau^2, ..., \tau^N\}
即:
Rˉθ=τR(τ)P(τθ)1Nn=1NR(τn) \bar{R}_{\theta}=\sum_{\tau}R(\tau)P(\tau|\theta) \approx \frac{1}{N}\sum_{n=1}^{N}R(\tau^n)

接下来,我们的目标就是最大化这个Rˉθ\bar{R}_{\theta},即有:
θ=arg maxθRˉθ \theta^*=\argmax_{\theta} \bar{R}_{\theta}
接下来就可以使用Gradient ascent的方法去获得最佳的参数。
强化学习——(1)基础
实际上,我们在做微分的时候,实际上是对P(τθ)P(\tau|\theta)做微分,即有:
强化学习——(1)基础
又因(选择这一步的原因,其实是为了给所有的概率值进行一个Normalization):
强化学习——(1)基础
则有:
强化学习——(1)基础
强化学习——(1)基础
接下来,如何计算logP(τnθ)\bigtriangledown logP(\tau^n|\theta)?
因为:
强化学习——(1)基础
强化学习——(1)基础
强化学习——(1)基础

大白话:
如果在某一次state中采取的action得到的reward对最终的结果起到正反馈时,则我们希望这个几率越大越好。否则,越小越好。
强化学习——(1)基础

但是在实际应用中,我们更新的公式为:
强化学习——(1)基础
这样是为了防止所有的Reward都为正的情况,若所有的reward都为正,则某些不经常出现的action就会被忽略,这是我们不愿意看到的,因此,我们需要指定一个baseline。使得reward有正有负。

相关文章:

  • 2021-12-02
  • 2021-06-25
  • 2021-06-05
  • 2021-12-02
  • 2021-05-05
  • 2021-06-18
  • 2021-07-19
  • 2021-12-02
猜你喜欢
  • 2021-12-02
  • 2021-12-02
  • 2022-12-23
  • 2021-12-13
  • 2021-12-02
相关资源
相似解决方案