add learning and planning
This commit is contained in:
@@ -131,7 +131,9 @@
|
||||
|
||||

|
||||
|
||||
在一个强化学习环境里面,agent 的目的就是为了选取一系列的动作来极大化它的奖励,所以这些采取的措施必须有长期的影响。但在这个过程里面,它的奖励其实是被延迟了,就是说你现在采取的某一步决策可能要等到时间很久过后才知道这一步到底产生了什么样的影响。这里一个示意图就是我们玩这个 Atari 的 Pong 这个游戏,你可能只有到最后游戏结束过后,才知道这个球到底有没有击打过去。中间你采取的 up 或 down 行为,并不会直接产生奖励。强化学习里面一个重要的课题就是近期奖励和远期奖励的一个 trade-off。怎么让 agent 取得更多的长期奖励是强化学习的问题。
|
||||
在一个强化学习环境里面,agent 的目的就是选取一系列的动作来极大化它的奖励,所以这些采取的动作必须有长期的影响。但在这个过程里面,它的奖励其实是被延迟了,就是说你现在采取的某一步决策可能要等到时间很久过后才知道这一步到底产生了什么样的影响。
|
||||
|
||||
这里一个示意图就是我们玩这个 Atari 的 Pong 游戏,你可能只有到最后游戏结束过后,才知道这个球到底有没有击打过去。中间你采取的 up 或 down 行为,并不会直接产生奖励。强化学习里面一个重要的课题就是近期奖励和远期奖励的一个 trade-off。怎么让 agent 取得更多的长期奖励是强化学习的问题。
|
||||
|
||||

|
||||
在跟环境的交互过程中,agent 会获得很多观测。在每一个观测会采取一个动作,它也会得到一个奖励。**所以历史是观测、行为、奖励的序列:**
|
||||
@@ -199,7 +201,7 @@ Policy 决定了这个 agent 的行为,它其实是一个函数,把输入的
|
||||
|
||||
### Value Function
|
||||

|
||||
**价值函数是一个折扣的未来奖励的加和**,就是你通过进行某一种行为,然后你未来得到多大的奖励。
|
||||
**价值函数是未来奖励的一个预测,用来评估状态的好坏**。
|
||||
|
||||
价值函数里面有一个 discount factor,我们希望尽可能在短的时间里面得到尽可能多的奖励。如果我们说十天过后,我给你 100 块钱,跟我现在给你 100 块钱,你肯定更希望我现在就给你 100 块钱,因为你可以把这 100 块钱存在银行里面,你就会有一些利息。所以我们就通过把这个 `discount factor` 放到价值函数的定义里面,价值函数的定义其实是一个期望。这里有一个期望 $\mathbb{E}_{\pi}$,这里有个小角标是 $\pi$ 函数,这个 $\pi$ 函数就是说在我们已知某一个 policy function 的时候,到底可以得到多少的奖励。
|
||||
|
||||
@@ -232,9 +234,9 @@ Policy 决定了这个 agent 的行为,它其实是一个函数,把输入的
|
||||

|
||||
**根据强化学习 agent 的不同,我们可以把 agent 进行归类。**
|
||||
|
||||
* 基于价值函数的 agent。这一类 agent 显式地学习的是价值函数,隐式地学习了它的策略。因为这个策略是从我们学到的价值函数里面推算出来的。
|
||||
* 基于策略的 agent,它直接去学习 policy,就是说你直接给它一个 state,它就会输出这个动作的概率。在这个 policy-based agent 里面并没有去学习它的价值函数。
|
||||
* 另外还有一种 agent 是把这两者结合,把 value-based 和 policy-based 结合起来就有了 `Actor-Critic agent`。这一类 agent 就把它的策略函数和价值函数都学习了,然后通过两者的交互得到一个最佳的行为。
|
||||
* **基于价值函数的 agent。**这一类 agent 显式地学习的是价值函数,隐式地学习了它的策略。因为这个策略是从我们学到的价值函数里面推算出来的。
|
||||
* **基于策略的 agent**,它直接去学习 policy,就是说你直接给它一个 state,它就会输出这个动作的概率。在这个 policy-based agent 里面并没有去学习它的价值函数。
|
||||
* **把 value-based 和 policy-based 结合起来就有了 `Actor-Critic agent`。**这一类 agent 就把它的策略函数和价值函数都学习了,然后通过两者的交互得到一个最佳的行为。
|
||||
|
||||
Q: 基于策略迭代和基于价值迭代的强化学习方法有什么区别?
|
||||
|
||||
@@ -247,7 +249,7 @@ A: 对于一个状态转移概率已知的马尔可夫决策过程,我们可
|
||||
基于价值迭代的强化学习算法有 Q-learning、 Sarsa 等,而基于策略迭代的强化学习算法有策略梯度算法等。此外, Actor-Critic 算法同时使用策略和价值评估来做出决策,其中,智能体会根据策略做出动作,而价值函数会对做出的动作给出价值,这样可以在原有的策略梯度算法的基础上加速学习过程,取得更好的效果。
|
||||
|
||||

|
||||
另外,我们是可以通过 agent 到底有没有学习这个环境模型来分类。
|
||||
**另外,我们是可以通过 agent 到底有没有学习这个环境模型来分类。**
|
||||
|
||||
* 第一种是 `model-based(有模型)` RL agent,它通过学习这个状态的转移来采取措施。
|
||||
* 另外一种是 ` model-free(免模型)` RL agent,它没有去直接估计这个状态的转移,也没有得到环境的具体转移变量。它通过学习 value function 和 policy function 进行决策。这种 model-free 的模型里面没有一个环境转移的一个模型。
|
||||
@@ -288,6 +290,26 @@ A: 针对是否需要对真实环境建模,强化学习可以分为有模型
|
||||
|
||||
把几类模型放到同一个 pie chart 里面。三个组成部分:value function、policy、model。按一个 agent 具不具有三者中的两者或者一者可以把它分成很多类。
|
||||
|
||||
## Learning and Planning
|
||||
|
||||
Learning 和 Planning 是序列决策的两个基本问题。
|
||||
|
||||
### Reinforcement Learning
|
||||
|
||||

|
||||
|
||||
在 reinforcement learning 中,环境初始时是未知的,agent 不知道环境如何工作,agent 通过不断地与环境交互,逐渐改进策略。
|
||||
|
||||
### Planning
|
||||
|
||||

|
||||
|
||||
在 plannning 中,环境是已知的,我们被告知了整个环境的运作规则的详细信息。Agent 能够计算出一个完美的模型,并且在不需要与环境进行任何交互的时候进行计算。Agent 不需要实时地与环境交互就能知道未来环境,只需要知道当前的状态,就能够开始思考,来寻找最优解。
|
||||
|
||||
在这个游戏中,规则是制定的,我们知道选择 left 之后环境将会产生什么变化。我们完全可以通过已知的变化规则,来在内部进行模拟整个决策过程,无需与环境交互。
|
||||
|
||||
一个常用的强化学习问题解决思路是,先学习环境如何工作,也就是了解环境工作的方式,即学习得到一个模型,然后利用这个模型进行规划。
|
||||
|
||||
## Exploration and Exploitation
|
||||
|
||||

|
||||
@@ -585,6 +607,10 @@ print('平均回合奖励 = {}'.format(np.mean(episode_rewards)))
|
||||
* [OpenAI Spinning Up ](https://spinningup.openai.com/en/latest/spinningup/rl_intro.html#)
|
||||
* [神经网络与深度学习](https://nndl.github.io/)
|
||||
* [机器学习](https://book.douban.com/subject/26708119//)
|
||||
* [强化学习基础 David Silver 笔记](https://zhuanlan.zhihu.com/c_135909947)
|
||||
* [David Silver 强化学习公开课中文讲解及实践](https://zhuanlan.zhihu.com/reinforce)
|
||||
* [UCL Course on RL(David Silver)](https://www.davidsilver.uk/teaching/)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
docs/chapter1/img/learning.png
Normal file
BIN
docs/chapter1/img/learning.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 725 KiB |
BIN
docs/chapter1/img/planning.png
Normal file
BIN
docs/chapter1/img/planning.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 281 KiB |
Reference in New Issue
Block a user