Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
大唐爆破僧
apachecn-dl-zh
提交
003f6430
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,发现更多精彩内容 >>
提交
003f6430
编写于
1月 22, 2021
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2021-01-22 22:28:29
上级
f35a7b80
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
11 deletion
+11
-11
new/rl-tf/06.md
new/rl-tf/06.md
+11
-11
未找到文件。
new/rl-tf/06.md
浏览文件 @
003f6430
...
...
@@ -105,12 +105,12 @@ repeat until :
# 异步单步 SARSA
异步单步 SARSA 的架构几乎与异步单步 Q 学习的架构相似,不同之处在于目标网络计算当前状态的目标状态作用值的方式。 SARSA 并未使用目标网络使用下一个状态
`s'`
的最大 Q 值,而是使用 ε 贪婪为下一个状态
`s'`
选择动作
`a'`
。 下一个状态动作对的 Q 值
`Q(s', a')`
;
!
[](
img/88250d05-5523-43d2-b0fc-20f621b58966.png
)
用于计算当前状态的目标状态动作值。
异步单步 SARSA 的架构几乎与异步单步 Q 学习的架构相似,不同之处在于目标网络计算当前状态的目标状态作用值的方式。 SARSA 并未使用目标网络使用下一个状态
`s'`
的最大 Q 值,而是使用 ε 贪婪为下一个状态
`s'`
选择动作
`a'`
。 下一个状态动作对的 Q 值
`Q(s', a')`
;
``Q(s', a', θ[t])``
用于计算当前状态的目标状态动作值。
异步单步 SARSA 的伪代码如下所示。 这里,以下是全局参数:
*
!
[](
img/3b0e84ed-0408-4420-9d16-382655598e8e.png
)
:策略网络的参数(权重和偏差)
*
!
[](
img/4c7f218e-0d62-44fb-b430-252fac104d1a.png
)
:目标网络的参数(权重和偏差)
*
`θ`
:策略网络的参数(权重和偏差)
*
`θ[t]`
:目标网络的参数(权重和偏差)
*
`T`
:总时间步长计数器
```
py
...
...
@@ -152,16 +152,16 @@ repeat until :
# 异步 N 步 Q 学习
异步 N 步 Q 学习的架构在某种程度上类似于异步单步 Q 学习的架构。 区别在于,使用探索策略最多选择
!
[](
img/934eccea-ab73-4d16-8dd9-6ae2bef78aa9.png
)
步骤或直到达到终端状态,才能选择学习代理动作,以便计算策略网络参数的单个更新。 此过程列出了自上次更新以来!
[](
img/55e36559-5c3e-4598-b8a3-954b2a844161.png
)
来自环境的奖励。 然后,对于每个时间步长,将损失计算为该时间步长的折扣未来奖励与估计 Q 值之间的差。 对于每个时间步长,此损失相对于特定于线程的网络参数的梯度将被计算和累积。 有多个这样的学习代理并行运行和累积梯度。 这些累积的梯度用于执行策略网络参数的异步更新。
异步 N 步 Q 学习的架构在某种程度上类似于异步单步 Q 学习的架构。 区别在于,使用探索策略最多选择
`t[max]`
步骤或直到达到终端状态,才能选择学习代理动作,以便计算策略网络参数的单个更新。 此过程列出了自上次更新以来
`t[max]`
来自环境的奖励。 然后,对于每个时间步长,将损失计算为该时间步长的折扣未来奖励与估计 Q 值之间的差。 对于每个时间步长,此损失相对于特定于线程的网络参数的梯度将被计算和累积。 有多个这样的学习代理并行运行和累积梯度。 这些累积的梯度用于执行策略网络参数的异步更新。
异步 N 步 Q 学习的伪代码如下所示。 这里,以下是全局参数:
*
!
[](
img/a8678ea8-ad82-4124-a099-603825a7d2f8.png
)
:策略网络的参数(权重和偏差)
*
!
[](
img/9008762f-89a2-4438-b034-e141fdf73759.png
)
:目标网络的参数(权重和偏差)
*
`θ`
:策略网络的参数(权重和偏差)
*
`θ[t]`
:目标网络的参数(权重和偏差)
*
`T`
:总时间步长计数器
*
`t`
:线程级时间步长计数器
*
!
[](
img/1c3d0299-4182-4715-83f4-eecdcd605678.png
)
:总时间步长的最大值
*
!
[](
img/67ab7590-6e10-4049-b5c6-7cce81f3f339.png
)
:线程中的最大时间步数
*
`T[max]`
:总时间步长的最大值
*
`t[max]`
:线程中的最大时间步数
```
py
//
Globally
shared
parameters
,
and
T
...
...
@@ -212,14 +212,14 @@ repeat until :
在第 4 章和“策略梯度”中,我们研究了如何通过从策略梯度的预期未来收益中减去基线函数来更新策略梯度,从而在不影响预期收益的情况下减少方差的情况。 梯度。 预期的未来奖励和基线函数之间的差称为
**优势函数**
; 它不仅告诉我们状态的好坏,而且还告诉我们该动作的预期好坏。
卷积神经网络既用于演员网络,又用于评论者网络。 在每个
!
[](
img/4a53a424-256c-43ac-98a9-b4b0fe5c0156.png
)
步骤之后或直到达到终端状态之前,将更新策略和操作值参数。 将与以下伪代码一起说明网络更新,熵和目标函数。 此外,将策略!
[](
img/861ea090-c642-4a1f-b1b0-5082002bc932.png
)
的熵
`H`
添加到目标函数中,以通过避免过早收敛到次优策略来改善探索。
卷积神经网络既用于演员网络,又用于评论者网络。 在每个
`t[max]`
步骤之后或直到达到终端状态之前,将更新策略和操作值参数。 将与以下伪代码一起说明网络更新,熵和目标函数。 此外,将策略
`π`
的熵
`H`
添加到目标函数中,以通过避免过早收敛到次优策略来改善探索。
因此,有多个这样的学习代理程序运行,每个学习代理程序都包含参与者关键网络,其中策略网络参数(即参与者网络参数)使用策略梯度进行更新,其中优势函数用于计算那些策略梯度。
异步单步 SARSA 的伪代码如下所示。 这里,以下是全局参数:
*
!
[](
img/b61d023c-24db-426f-b276-170dc20d960a.png
)
:策略网络的参数(权重和偏差)
*
!
[](
img/9f23bd7c-22ba-4f6c-a6a8-d09a2dd58bfb.png
)
:值函数逼近器的参数(权重和偏差)
*
`θ`
:策略网络的参数(权重和偏差)
*
`θ[v]`
:值函数逼近器的参数(权重和偏差)
*
`T`
:总时间步长计数器
特定于线程的参数如下:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录