fix some errors
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
|
||||

|
||||
|
||||
在强化学习之中,它的训练数据其实就是这样一个玩游戏的过程。你从步数从第一步开始,然后你采取一个决策,比如说你把这个往右移,接到这个球了。第二步你又做出决策,然后你得到的 training data 就是这样一个序列,一个玩游戏的一个序列。比如现在是在第三步,然后你把这个序列放进去,你希望这个网络,这个 learner 可以输出一个决策,在当前的这个状态应该输出往右移或者往左移。这里有个问题就是我们没有标签来说明你现在这个动作是正确还是错误,我们必须等到这个游戏结束可能,这个游戏结束要可能十秒过后才结束。现在这个动作往左往右到底是不是对最后游戏的结束能赢有帮助,其实这是不清楚的的。这里就面临一个`奖励的延迟(Delayed Reward)`,所以就使得训练这个网络非常困难。
|
||||
在强化学习之中,它的训练数据其实就是这样一个玩游戏的过程。你从第一步开始,然后你采取一个决策,比如说你把这个往右移,接到这个球了。第二步你又做出决策,然后你得到的 training data 就是这样一个序列,一个玩游戏的一个序列。比如现在是在第三步,然后你把这个序列放进去,你希望这个网络,这个 learner 可以输出一个决策,在当前的这个状态应该输出往右移或者往左移。这里有个问题就是我们没有标签来说明你现在这个动作是正确还是错误,我们必须等到这个游戏结束可能,这个游戏结束要可能十秒过后才结束。现在这个动作往左往右到底是不是对最后游戏的结束能赢有帮助,其实这是不清楚的的。这里就面临一个`奖励的延迟(Delayed Reward)`,所以就使得训练这个网络非常困难。
|
||||
|
||||

|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
|
||||
* 我们有了更多的这个计算能力,我们有了更多的 GPU,然后可以更快地做更多的 trial-and-error 的尝试。
|
||||
* 通过这种不同尝试使得 agent 在这个环境里面获得很多信息,然后可以在这个环境里面取得很大的奖励。
|
||||
* 我们有了这个端到端的一个训练,可以使得这个特征提取跟这个最后的这个价值估计或者决策一块来优化,这样就可以得到了一个更强的一个决策网络。
|
||||
* 我们有了这个端到端的一个训练,可以把特征提取和价值估计或者决策一块来优化,这样就可以得到了一个更强的一个决策网络。
|
||||
|
||||

|
||||
接下来我会给大家再看一些强化学习里面比较有意思的一些例子。
|
||||
@@ -152,14 +152,18 @@ A: `状态(state)` $s$ 是对世界的完整描述,不会隐藏世界的信息
|
||||
|
||||
POMDP 可以用一个 7 元组描述:$(S,A,T,R,\Omega,O,\gamma)$,其中 $S$ 表示状态空间,为隐变量,$A$ 为动作空间,$T(s'|s,a)$ 为状态转移概率,$R$ 为奖励函数,$\Omega(o|s,a)$ 为观测概率,$O$ 为观测空间,$\gamma$ 为折扣系数。
|
||||
|
||||
## Action Spaces
|
||||
|
||||
不同的环境允许不同种类的动作。在给定的环境中,有效动作的集合经常被称为`动作空间(action space)`。像 Atari 和 Go 这样的环境有`离散动作空间(discrete action spaces)`,在这个动作空间里,agent 只有有限数量的移动。在其他环境,比如 agent 在物理世界控制一个 agent,在这个环境中就有`连续动作空间(continuous action spaces)` 。在连续空间中,动作是实值的向量。
|
||||
|
||||
## Major Components of an RL Agent
|
||||
|
||||

|
||||
对于一个强化学习 agent,它有哪些组成成分,首先agent ,它可能有一个这决策函数,policy function,这个函数是会被 agent 用来选取它下一步的动作。
|
||||
对于一个强化学习 agent,它有哪些组成成分,首先 agent 有一个这决策函数,policy function,这个函数是会被 agent 用来选取它下一步的动作。
|
||||
|
||||
然后它也可能生成一个价值函数(value function)。这个价值函数被 agent 用来对现在当前状态进行估价,它就是说你进入现在这个状态,到底可以对你后面的收益带来多大的影响。当这个价值函数大的时候,说明你进入这个状态越有利。
|
||||
|
||||
另外一个组成成分是这个模型(model)。这里模型表示了 agent 对这个环境的状态进行了一个整个理解,他决定了这个世界是如何进行的。
|
||||
另外一个组成成分是这个模型(model)。这里模型表示了 agent 对这个环境的状态进行了理解,它决定了这个世界是如何进行的。
|
||||
|
||||
### Policy
|
||||
|
||||
|
||||
@@ -164,24 +164,6 @@ Sarsa 实际上都是用自己的策略产生了 S,A,R,S',A' 这一条轨迹。
|
||||
|
||||
然后Q-learning 的这个逐步的一个拆解的话,跟Sarsa 唯一一点不一样就是我并不需要提前知道我 $A_2$ ,我就能更新 $Q(S_1,A_1)$ 。在训练一个 episode 这个流程图当中,Q-leanring 在 learn 之前它也不需要去拿到 next action A',它只需要前面四个 $(S,A,R,S')$也就可以了。这一点就是跟 Sarsa 有一个很明显的区别。
|
||||
|
||||
初始状态为$s$并进行动作 $a$,然后执行策略 $\pi$ 得到的期望总回报,称为`状态-动作值函数(State-Action Value Function)`:
|
||||
$$
|
||||
Q^{\pi}(s, a)=\mathbb{E}_{s^{\prime} \sim p\left(s^{\prime} | s, a\right)}\left[r\left(s, a, s^{\prime}\right)+\gamma V^{\pi}\left(s^{\prime}\right)\right] \qquad(1)
|
||||
$$
|
||||
|
||||
状态-动作值函数也经常称为`Q 函数(Q-Function)`。
|
||||
|
||||
状态值函数$V^{\pi}(s)$ 是 Q-Function $Q^{\pi}(s,a)$ 关于动作 $a$ 的期望,即
|
||||
$$
|
||||
V^{\pi}(s)=\mathbb{E}_{a \sim \pi(a | s)}\left[Q^{\pi}(s, a)\right] \qquad(2)
|
||||
$$
|
||||
|
||||
结合公式(1) 和公式(2),Q-Function可以写为
|
||||
$$
|
||||
Q^{\pi}(s, a)=\mathbb{E}_{s^{\prime} \sim p\left(s^{\prime} | s, a\right)}\left[r\left(s, a, s^{\prime}\right)+\gamma \mathbb{E}_{a^{\prime} \sim \pi\left(a^{\prime} | s^{\prime}\right)}\left[Q^{\pi}\left(s^{\prime}, a^{\prime}\right)\right]\right]
|
||||
$$
|
||||
这是关于 Q-Function 的 Bellman Equation。
|
||||
|
||||
### Bellman Equation
|
||||
|
||||
记策略 $\pi $ 的状态-动作值函数为 $Q^{\pi}(s_t,a_t)$,它表示在状态 $s_t$ 下,执行动作 $a_t$ 会带来的累积奖励 $G_t$ 的期望,具体公式为:
|
||||
|
||||
Reference in New Issue
Block a user