提交 b676492d 编写于 作者: W wizardforcel

2021-01-18 22:04:42

上级 fc05311a
......@@ -42,7 +42,7 @@
在本节中,我们将介绍策略优化方法相对于基于价值的方法的优缺点。 优点如下:
* 它们提供了更好的融合。
* 在高维/连续状态动作空间的情况下,它们非常有效。 如果动作空间很大,则基于值的方法中的 max 函数将在计算上昂贵。 因此,基于策略的方法通过更改参数来直接更改策略,而不是在每个步骤中求解 max 函数。
* 在高维/连续状态动作空间的情况下,它们非常有效。 如果动作空间很大,则基于值的方法中的`max`函数将在计算上昂贵。 因此,基于策略的方法通过更改参数来直接更改策略,而不是在每个步骤中求解`max`函数。
* 学习随机策略的能力。
与基于策略的方法相关的缺点如下:
......@@ -72,7 +72,7 @@
![](img/c3a614ea-6981-49ca-b3a3-65614cdb7db6.png)
在上图中,我们看到有八个状态,其中两个奖励为-10 的状态是要避免的不良状态,并且有一个奖励为 10 的状态是良好状态,还有目标状态。 但是,我们主要担心的是灰色阴影状态,在该状态下,代理人无法区分这两个状态,因为它们具有相同的特征。
在上图中,我们看到有八个状态,其中两个奖励为 -10 的状态是要避免的不良状态,并且有一个奖励为 10 的状态是良好状态,还有目标状态。 但是,我们主要担心的是灰色阴影状态,在该状态下,代理人无法区分这两个状态,因为它们具有相同的特征。
假设任何状态的特征都为![](img/a0e8241f-a4a4-4bbc-a9b8-8912eb94ef2a.png),动作为北,东,西和南。
......@@ -111,7 +111,7 @@
![](img/2cfba9ad-f36c-4239-80f2-8c4acd2b5738.png)
* 对于连续环境,![](img/d7daa239-124e-489d-8dee-dac4ce0c67da.png)可以是每个时间步长的平均奖励,它是处于任何状态 s 的概率的总和,即![](img/ff38860c-55d7-48cb-b711-96730be55ee6.png)乘以对该状态的不同动作的期望奖励![](img/ab734c3a-740c-4d05-bee7-9fee1d71a8ec.png)的总和。 因此:
* 对于连续环境,![](img/d7daa239-124e-489d-8dee-dac4ce0c67da.png)可以是每个时间步长的平均奖励,它是处于任何状态`s`的概率的总和,即![](img/ff38860c-55d7-48cb-b711-96730be55ee6.png)乘以对该状态的不同动作的期望奖励![](img/ab734c3a-740c-4d05-bee7-9fee1d71a8ec.png)的总和。 因此:
![](img/d42506b9-9710-4ec3-93a3-50c62b3b2991.png)
......@@ -136,7 +136,7 @@
此处,![](img/d7dd0cd7-842e-41fb-9d73-bf9ffa1d8df6.png)是得分函数,供将来参考。
现在,让我们考虑一个简单的一步式 MDP,即 Markov 决策过程,其中:
现在,让我们考虑一个简单的一步式 MDP,即马尔可夫决策过程,其中:
* 起始状态为,发生的可能性为![](img/a366eee2-685d-4db4-8eb6-bb12f82762cf.png)
* 终止仅在获得奖励![](img/564de4ef-e5c9-433a-b305-f5727f768af8.png)的情况下执行一次
......@@ -157,13 +157,13 @@
![](img/b6666854-9607-4fcd-9536-6ad2779a7ffd.png)
因此,将该方法推广到多步马尔可夫决策过程将导致状态奖励 Q 值函数![](img/5610aab6-6f91-4840-b4dc-dbb44f9ed700.png)代替瞬时奖励 r。 这称为**策略梯度定理**。 该定理对前面讨论的其他类型的策略目标函数有效。 因此,对于任何这样的策略目标函数和任何可区分的![](img/e3d26803-9858-4ea2-bd79-3e0b45a09f99.png),策略梯度如下:
因此,将该方法推广到多步马尔可夫决策过程将导致状态奖励 Q 值函数![](img/5610aab6-6f91-4840-b4dc-dbb44f9ed700.png)代替瞬时奖励`r`。 这称为**策略梯度定理**。 该定理对前面讨论的其他类型的策略目标函数有效。 因此,对于任何这样的策略目标函数和任何可区分的![](img/e3d26803-9858-4ea2-bd79-3e0b45a09f99.png),策略梯度如下:
![](img/22aa628a-e90d-49c5-ae2d-c8f5e168393c.png)
# 时差规则
首先,**时间差****TD**)是两个时间步之间的值估计值之差。 这与基于结果的蒙特卡洛方法不同,后者基于前瞻性的观点直到情节结束才完成,以更新学习参数。 在时间差异学习的情况下,仅需完成一个步骤,而下一步的状态值估计将用于更新当前状态的值估计。 因此,学习参数会不断更新。 进行时差学习的不同规则是`TD(1)``TD(0)` TD(![](img/d3a3ee65-880c-4e12-8cf6-1be47b234d13.png)规则。 所有方法中的基本概念是,下一步的值估计用于更新当前状态的值估计。
首先,**时间差****TD**)是两个时间步之间的值估计值之差。 这与基于结果的蒙特卡洛方法不同,后者基于前瞻性的观点直到情节结束才完成,以更新学习参数。 在时间差异学习的情况下,仅需完成一个步骤,而下一步的状态值估计将用于更新当前状态的值估计。 因此,学习参数会不断更新。 进行时差学习的不同规则是`TD(1)``TD(0)``TD(λ)`规则。 所有方法中的基本概念是,下一步的值估计用于更新当前状态的值估计。
# `TD(1)`规则
......@@ -224,14 +224,14 @@ Episode T
# TD 规则
`TD(1)``TD(0)`规则产生一个通用规则 TD(![](img/d6400b9d-6c9e-4370-b506-ff40da00344d.png)),即 TD(λ),因此对于![](img/4b1123cb-72a4-481e-81e9-6835853ffc68.png)并应满足以下条件:
`TD(1)``TD(0)`规则产生一个通用规则,即`TD(λ)`,因此对于![](img/4b1123cb-72a4-481e-81e9-6835853ffc68.png)并应满足以下条件:
* 如果![](img/d6400b9d-6c9e-4370-b506-ff40da00344d.png) = 0,则 TD(![](img/d6400b9d-6c9e-4370-b506-ff40da00344d.png)趋于`TD(0)`
* 如果![](img/d6400b9d-6c9e-4370-b506-ff40da00344d.png) = 1,则 TD(![](img/d6400b9d-6c9e-4370-b506-ff40da00344d.png)趋于`TD(1)`
* 如果![](img/d6400b9d-6c9e-4370-b506-ff40da00344d.png) = 0,则`TD(λ)`趋于`TD(0)`
* 如果![](img/d6400b9d-6c9e-4370-b506-ff40da00344d.png) = 1,则`TD(λ)`趋于`TD(1)`
`TD(0)``TD(1)`都基于时间连续预测之间的差异进行更新。
因此,TD(![](img/d6400b9d-6c9e-4370-b506-ff40da00344d.png)的伪代码如下:
因此,`TD(λ)`的伪代码如下:
```py
Episode T
......@@ -275,12 +275,12 @@ Output: final
![](img/bdee56e7-7167-4d77-a478-710505461008.png)
这产生了著名的**演员评论家算法**。 顾名思义,actor-critic 算法出于以下目的维护两个网络:
这产生了著名的**演员评论家算法**。 顾名思义,演员评论家算法出于以下目的维护两个网络:
* 一个网络充当评论者,它更新状态动作函数逼近器的权重`w`参数向量
* 其他网络充当 Actor,它根据批评者给出的方向更新策略参数向量![](img/49aece0d-9f5a-4d27-8ccc-13b01329f2de.png)
* 其他网络充当演员,它根据批评者给出的方向更新策略参数向量![](img/49aece0d-9f5a-4d27-8ccc-13b01329f2de.png)
下图代表了 actor-critic 算法:
下图代表了演员评论家算法:
![](img/ca78b5e5-1459-4f34-ad61-de744f663054.png)
......@@ -290,7 +290,7 @@ Output: final
![](img/d9896c48-a57d-45e1-974e-3d9bed7c4af3.png)
因此,为了估计状态作用值函数,评论者网络使用`TD(0)`(先前讨论)来更新权重参数`w`,并更新策略参数向量![](img/86eb3024-7437-442e-b21a-1b2c1ccffbfc.png) actor 网络使用策略梯度。 行动者批评算法的一种简单方法如下所示:
因此,为了估计状态作用值函数,评论者网络使用`TD(0)`(先前讨论)来更新权重参数`w`,并更新策略参数向量![](img/86eb3024-7437-442e-b21a-1b2c1ccffbfc.png) 演员网络使用策略梯度。 演员评论家算法的一种简单方法如下所示:
```py
Initialize s,
......@@ -346,7 +346,7 @@ for iteration = 1,2,......N do
end for
```
# 使用策略梯度的 Agent 学习 Pong
# 使用策略梯度的智能体学习 Pong
在本节中,我们将创建一个策略网络,该策略网络将使用来自 pong 环境的原始像素(来自 OpenAI 体育馆的 **pong-v0**)作为输入。 策略网络是一个单独的隐藏层神经网络,它全连接到输入层上 pong 的原始像素,还全连接到包含单个节点的输出层,该单个节点返回了桨上升的可能性。 我要感谢 Andrej Karpathy 提出了一种使代理使用策略梯度进行学习的解决方案。 我们将尝试实现类似的方法。
......@@ -402,7 +402,7 @@ import cPickle as pickle #to save/load model
import gym
```
* **超参数初始化**:由于我们正在使用`RMSProp`优化器进行梯度下降,因此超参数(例如隐藏层节点的数量,批量大小,学习率,折现系数 gamma,衰减率)。 我们将使用以下代码进行初始化:
* **超参数初始化**:由于我们正在使用`RMSProp`优化器进行梯度下降,因此超参数(例如隐藏层节点的数量,批量大小,学习率,折现系数`gamma`,衰减率)。 我们将使用以下代码进行初始化:
```py
#hyperparameters
......@@ -457,7 +457,7 @@ def preprocess(image): #where image is the single frame of the game as the input
return image.astype('float').ravel() #flattening to 1D
```
* **折扣奖励**`discount_rewards(r)`函数将与不同时间步长对应的奖励列表 r 作为参数,并返回与不同时间步长对应的折扣奖励列表,如以下代码所示 :
* **折扣奖励**`discount_rewards(r)`函数将与不同时间步长对应的奖励列表`r`作为参数,并返回与不同时间步长对应的折扣奖励列表,如以下代码所示 :
```py
def discount_rewards(r):
......
......@@ -27,7 +27,7 @@ TRPO 由 Schulman 等(2017)发布在名为[《信任区域策略优化》](h
![](img/c5f5537b-51ac-414c-9dd1-d8461a257262.png)
可以将先前的更新规则合并到策略网络中,在该策略网络中使用随机梯度上升来更新参数。 这可以通过确定性的行为者批判方法来实现,其中批评者估计动作值函数,而行为者从批评者获得其梯度以更新其参数。 如 Silver 等人在[《确定性策略梯度算法》](http://proceedings.mlr.press/v32/silver14.pdf)中所述。 在实验之后,他们能够成功得出结论,确定性的策略梯度比随机的梯度更有效率。 此外,确定性行动者批评者的表现优于随机行动者。 有关此主题的详细说明超出了本书的范围。 因此,请转到前面提到的研究出版物链接。
可以将先前的更新规则合并到策略网络中,在该策略网络中使用随机梯度上升来更新参数。 这可以通过确定性的行为者批判方法来实现,其中批评者估计动作值函数,而行为者从批评者获得其梯度以更新其参数。 如 Silver 等人在[《确定性策略梯度算法》](http://proceedings.mlr.press/v32/silver14.pdf)中所述。 在实验之后,他们能够成功得出结论,确定性的策略梯度比随机的梯度更有效率。 此外,确定性演员评论家者的表现优于随机行动者。 有关此主题的详细说明超出了本书的范围。 因此,请转到前面提到的研究出版物链接。
# NLP 顺序模型中的评分机制
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册