[CS231n]9·Deep Reinforcement Learning
CS231n Convolutional Neural Networks for Visual Recognition
https://www.bilibili.com/video/BV1nJ411z7fe
Reinforcement Learning
强化学习要解决的问题类似于玩一个游戏:Environment 告诉 Agent 当前状态
Markov Decision Process
强化学习可以用马尔可夫过程进行数学形式化的表述,因为它满足 Markov property,即当前状态完全定义了未来的状态,或者说未来的状态仅受当前状态、而不受过去状态的影响。
马尔可夫过程定义为:
马尔可夫过程的流程是:
- 在
时刻,environment 对初始状态进行采样 ; - 接下来,反复执行以下步骤直到结束:
- Agent 选择动作
; - Environment 对奖励进行采样
; - Environment 对下一个状态进行采样
; - Agent 收到奖励
和下一个状态 。
- Agent 选择动作
一个决策
服从一个决策将会产生一个样本路径(轨迹):
推导:
其中, 是下一时刻的状态和动作。因此, 最大值就是当前奖励 加上在接下来的状态中用最佳的动作得到的最大收益。
为了求解上述最佳 Q-value functino
这么做理论上可行,但是实际中我们需要遍历所有可能的
Q-Learning
正如前文所述,Q-Learning 的目的是用一个神经网络近似
要训练这个网络,关键是定义损失函数。由于
Policy Gradients
Q-Learning 的问题在于 Q-function 可以非常复杂,而我们需要的策略可能仅仅是一个非常简单的动作而已。这就引出了 Policy Gradients.
首先,我们定义决策空间为:
Idea 1:
用从当前决策开始直到结束的过程中得到的奖励代替 。Idea 2:
加入一个 discount factor .Idea:引入 baseline function:
如何选取 baseline 呢?一个最简单的方法是取已经遍历过的决策轨迹的奖励的移动平均。不过利用 Q-value function,我们能得到更好的 baseline:
现在我们得到了 Actor-Critic Algorithm,即结合 Policy Gradients 和 Q-learning 的算法:同时训练一个 actor,即决策,和 critic,即 Q-function——Actor 决定做一个动作,critic 告诉它这个动作的优劣以及应该如何调整;同时 critic 无需对所有