Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
大唐爆破僧
apachecn-dl-zh
提交
72531951
A
apachecn-dl-zh
项目概览
大唐爆破僧
/
apachecn-dl-zh
与 Fork 源项目一致
Fork自
OpenDocCN / apachecn-dl-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apachecn-dl-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
72531951
编写于
1月 17, 2021
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2021-01-17 20:45:00
上级
0e484ded
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
10 deletion
+10
-10
new/rl-tf/04.md
new/rl-tf/04.md
+10
-10
未找到文件。
new/rl-tf/04.md
浏览文件 @
72531951
...
...
@@ -31,9 +31,9 @@
那就是最大化期望的奖励总和。
这里,
*H =地平线*
的时间步长,因此,如果开始时间步长
*t = 0*
,则总时间步长为
*H + 1*
。
这里,
`H`
地平线的时间步长,因此,如果开始时间步长
`t = 0`
,则总时间步长为
`H + 1`
。
*
随机策略类消除了策略优化问题,为我们提供了一组可以选择最佳策略的策略。 在网格世界环境中采用确定性策略的情况下,由于动作变化而导致的变化并不平滑,但是如果每个州都有动作分布,我们可以稍微改变分布,而这只会稍微改变预期的总和。 奖励。 这是使用随机策略的优势,其中!
[](
img/143e641a-8be1-411e-a866-01e470d80447.png
)
给出给定状态
`s`
的
作用概率
*和*
。 因此,!
[](
img/342e31bf-6e76-40e8-a298-b03277733e73.png
)
给出了给定状态下动作的概率分布。
*
随机策略类消除了策略优化问题,为我们提供了一组可以选择最佳策略的策略。 在网格世界环境中采用确定性策略的情况下,由于动作变化而导致的变化并不平滑,但是如果每个州都有动作分布,我们可以稍微改变分布,而这只会稍微改变预期的总和。 奖励。 这是使用随机策略的优势,其中!
[](
img/143e641a-8be1-411e-a866-01e470d80447.png
)
给出给定状态
`s`
的
动作
`a`
的概率
。 因此,!
[](
img/342e31bf-6e76-40e8-a298-b03277733e73.png
)
给出了给定状态下动作的概率分布。
因此,由于随机策略,我们有一个平滑的优化问题,可以应用梯度下降来获得良好的局部最优,从而导致最优策略。
...
...
@@ -115,7 +115,7 @@
![](
img/d42506b9-9710-4ec3-93a3-50c62b3b2991.png
)
在此,!
[](
img/76bb83ab-8783-441c-b93f-9cb852adea36.png
)
是在状态
`s`
采取行动
*和*
的奖励。
在此,!
[](
img/76bb83ab-8783-441c-b93f-9cb852adea36.png
)
是在状态
`s`
采取行动
`a`
的奖励。
到目前为止,我们知道基于策略的强化学习是一个优化问题,目标是找到使!
[](
img/29b8bcc8-8899-4036-915c-da44b0572d00.png
)
最大化的!
[](
img/ebff45ff-12c2-44e0-bda5-21cde9d251b6.png
)
。 同样,在这里,我们将使用基于梯度的方法进行优化。 使用基于梯度的优化的原因是要获得更高的效率,因为与无梯度方法相比,梯度指向了更高效率的方向。
...
...
@@ -180,7 +180,7 @@ Episode T
每个
`Episode T`
都以以下初始化开始:
*
对于所有状态
`s`
,合格分数
*e(s)= 0*
*
对于所有状态
`s`
,合格分数
`e(s) = 0`
*
对于所有状态
`s`
,给定
`Episode T`
中的状态值!
[](
img/96757d13-12cc-4ae2-b27b-1b8383db5a88.png
)
等于!
[](
img/4ba99034-9dea-402d-871b-ac5949e7b310.png
)
在情节的每个时间步,即当前步
`t`
,我们更新要离开的状态!
[](
img/93bfad9d-15d6-48dc-8f47-8f9aef8070ba.png
)
的资格,然后为所有状态更新以下内容:
...
...
@@ -275,7 +275,7 @@ Output: final
![](
img/bdee56e7-7167-4d77-a478-710505461008.png
)
这产生了著名的
**actor-critic
算法**
。 顾名思义,actor-critic 算法出于以下目的维护两个网络:
这产生了著名的
**演员评论家
算法**
。 顾名思义,actor-critic 算法出于以下目的维护两个网络:
*
一个网络充当评论者,它更新状态动作函数逼近器的权重
`w`
参数向量
*
其他网络充当 Actor,它根据批评者给出的方向更新策略参数向量!
[](
img/49aece0d-9f5a-4d27-8ccc-13b01329f2de.png
)
...
...
@@ -350,16 +350,16 @@ end for
在本节中,我们将创建一个策略网络,该策略网络将使用来自 pong 环境的原始像素(来自 OpenAI 健身房的
**pong-v0**
)作为输入。 策略网络是一个单独的隐藏层神经网络,它全连接到输入层上 pong 的原始像素,还全连接到包含单个节点的输出层,该单个节点返回了桨上升的可能性。 我要感谢 Andrej Karpathy 提出了一种使代理使用策略梯度进行学习的解决方案。 我们将尝试实现类似的方法。
灰度大小为
80
* 80 的像素图像(我们将不使用 RGB,即 80 *
80
* 3)。 因此,我们有一个 80 *
80
的二进制网格,它告诉我们桨和球的位置,并将其作为输入输入到神经网络。 因此,神经网络将包含以下内容:
灰度大小为
`80 * 80`
的像素图像(我们将不使用 RGB,即
`80 * 80 * 3`
)。 因此,我们有一个
`80 * 80`
的二进制网格,它告诉我们桨和球的位置,并将其作为输入输入到神经网络。 因此,神经网络将包含以下内容:
*
**输入层(
X)**
:将 80
* 80 压缩为 6400 *
1
,即 6400 个节点
*
**输入层(
`X`)**
:将
`80 * 80`
压缩为
`6400 * 1`
,即 6400 个节点
*
**隐藏层**
:200 个节点
*
**输出层**
:1 个节点
因此,总参数如下:
*
**连接输入层和隐藏层的权重和偏置**
:
6400
*
200(权重)+ 200
(偏置)参数
*
**连接隐藏层和输出层的权重和偏置**
:
200
*
1(权重)+1
(偏置)参数
*
**连接输入层和隐藏层的权重和偏置**
:
`6400 * 200`
(权重)
`+ 200`
(偏置)参数
*
**连接隐藏层和输出层的权重和偏置**
:
`200 * 1`
(权重)
`+ 1`
(偏置)参数
因此,总参数将约为 130 万。
...
...
@@ -441,7 +441,7 @@ def relu(x):
return
x
```
*
**预处理
功能
**
:
`preprocess(image)`
功能将图像像素作为参数,并通过裁剪,下采样,使其成为灰度,擦除背景并将图像展平为一维向量来对其进行预处理。 我们将使用以下代码定义函数:
*
**预处理
函数
**
:
`preprocess(image)`
功能将图像像素作为参数,并通过裁剪,下采样,使其成为灰度,擦除背景并将图像展平为一维向量来对其进行预处理。 我们将使用以下代码定义函数:
```
py
#preprocessing function
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录