Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
apachecn-dl-zh
提交
35f81e87
A
apachecn-dl-zh
项目概览
OpenDocCN
/
apachecn-dl-zh
大约 1 年 前同步成功
通知
298
Star
83
Fork
35
代码
文件
提交
分支
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,发现更多精彩内容 >>
提交
35f81e87
编写于
12月 24, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-12-24 08:38:12
上级
720ab7d3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
7 addition
and
7 deletion
+7
-7
new/handson-rl-py/00.md
new/handson-rl-py/00.md
+1
-1
new/handson-rl-py/08.md
new/handson-rl-py/08.md
+1
-1
new/handson-rl-py/12.md
new/handson-rl-py/12.md
+5
-5
未找到文件。
new/handson-rl-py/00.md
浏览文件 @
35f81e87
...
...
@@ -30,7 +30,7 @@
第 11 章,“策略梯度和优化”涵盖了策略梯度如何帮助我们找到合适的策略而无需 Q 函数。 我们还将探索深度确定性策略梯度方法。 在本章的后面,我们将看到最新的策略优化方法,例如信任区域策略优化和近端策略优化。
第 12 章,“Capstone 项目–使用 DQN 进行赛车”提供了逐步的方法,以使用
对决
DQN 构建代理以赢得赛车游戏。
第 12 章,“Capstone 项目–使用 DQN 进行赛车”提供了逐步的方法,以使用
决斗
DQN 构建代理以赢得赛车游戏。
第 13 章,“最近的进展和后续步骤”提供了有关强化学习的各种进展的信息,例如想象力增强代理,从人的偏好中学习,从示威活动中进行深度学习以及事后 ,然后我们将研究不同类型的强化学习方法,例如分层强化学习和逆强化学习。
...
...
new/handson-rl-py/08.md
浏览文件 @
35f81e87
...
...
@@ -434,7 +434,7 @@ with tf.Session() as sess:
因此,值函数指定状态的优劣,而优势函数指定动作的优劣。 如果我们将价值功能和优势功能结合起来会发生什么? 这将告诉我们代理在状态
`s`
实际上是我们的
`Q`
功能下执行动作
`a`
有多好。 因此,我们可以像!
[](
img/00285.jpeg
)
中那样将
`Q`
函数定义为值函数和优势函数的和。
现在,我们将看到决斗网络架构是如何工作的。 下图显示了
对决
DQN 的架构:
现在,我们将看到决斗网络架构是如何工作的。 下图显示了
决斗
DQN 的架构:
![](
img/00286.gif
)
...
...
new/handson-rl-py/12.md
浏览文件 @
35f81e87
# Capstone 项目–使用 DQN 进行赛车
在最后几章中,我们通过使用神经网络逼近 q 函数来了解 Deep Q 学习的工作原理。 在此之后,我们看到了
**深度 Q 网络**
(
**DQN**
)的各种改进,例如双重 Q 学习,决斗网络架构和深度循环 Q 网络。 我们已经了解了 DQN 如何利用回放缓冲区来存储智能体的经验,并使用缓冲区中的小批样本来训练网络。 我们还实现了用于玩 Atari 游戏的 DQN 和一个用于玩 Doom 游戏的
**深度循环 Q 网络**
(
**DRQN**
)。 在本章中,让我们进入
对决
DQN 的详细实现,它与常规 DQN 基本相同,除了最终的全连接层将分解为两个流,即值流和优势流,而这些流 两个流将合并在一起以计算 Q 函数。 我们将看到如何训练决斗的 DQN 来赢得赛车比赛的代理商。
在最后几章中,我们通过使用神经网络逼近 q 函数来了解 Deep Q 学习的工作原理。 在此之后,我们看到了
**深度 Q 网络**
(
**DQN**
)的各种改进,例如双重 Q 学习,决斗网络架构和深度循环 Q 网络。 我们已经了解了 DQN 如何利用回放缓冲区来存储智能体的经验,并使用缓冲区中的小批样本来训练网络。 我们还实现了用于玩 Atari 游戏的 DQN 和一个用于玩 Doom 游戏的
**深度循环 Q 网络**
(
**DRQN**
)。 在本章中,让我们进入
决斗
DQN 的详细实现,它与常规 DQN 基本相同,除了最终的全连接层将分解为两个流,即值流和优势流,而这些流 两个流将合并在一起以计算 Q 函数。 我们将看到如何训练决斗的 DQN 来赢得赛车比赛的代理商。
在本章中,您将学习如何实现以下内容:
...
...
@@ -153,7 +153,7 @@ class EnvWrapper:
# 决斗网络
现在,我们构建
对决
DQN; 我们先构建三个卷积层,然后是两个全连接层,最后一个全连接层将被分为两个单独的层,用于价值流和优势流。 我们将使用将值流和优势流结合在一起的聚合层来计算 q 值。 这些层的尺寸如下:
现在,我们构建
决斗
DQN; 我们先构建三个卷积层,然后是两个全连接层,最后一个全连接层将被分为两个单独的层,用于价值流和优势流。 我们将使用将值流和优势流结合在一起的聚合层来计算 q 值。 这些层的尺寸如下:
*
**第 1 层**
:32 个
`8x8`
滤镜,步幅为 4 + RELU
*
**第 2 层**
:64 个
`4x4`
滤镜,步幅为 2 + RELU
...
...
@@ -351,7 +351,7 @@ class DQN(object):
self
.
num_training_steps
=
0
```
通过为我们的
`QNetworkDueling`
类创建实例来初始化主要
对决
DQN:
通过为我们的
`QNetworkDueling`
类创建实例来初始化主要
决斗
DQN:
```
py
self
.
qnet
=
QNetworkDueling
(
self
.
state_size
,
self
.
action_size
,
"qnet"
)
...
...
@@ -581,7 +581,7 @@ def train(self):
# 赛车
到目前为止,我们已经看到了如何构建
对决
DQN。 现在,我们将看到在玩赛车游戏时如何利用我们的决斗 DQN。
到目前为止,我们已经看到了如何构建
决斗
DQN。 现在,我们将看到在玩赛车游戏时如何利用我们的决斗 DQN。
首先,让我们导入必要的库:
...
...
@@ -736,7 +736,7 @@ env.monitor.close()
# 概要
在本章中,我们学习了如何详细实现
对决
DQN。 我们从用于游戏画面预处理的基本环境包装器功能开始,然后定义了
`QNetworkDueling`
类。 在这里,我们实现了决斗 Q 网络,该网络将 DQN 的最终全连接层分为值流和优势流,然后将这两个流组合以计算
`q`
值。 之后,我们看到了如何创建回放缓冲区,该缓冲区用于存储经验并为网络训练提供经验的小批量样本,最后,我们使用 OpenAI 的 Gym 初始化了赛车环境并训练了我们的代理。 在下一章第 13 章,“最新进展和后续步骤”中,我们将看到 RL 的一些最新进展。
在本章中,我们学习了如何详细实现
决斗
DQN。 我们从用于游戏画面预处理的基本环境包装器功能开始,然后定义了
`QNetworkDueling`
类。 在这里,我们实现了决斗 Q 网络,该网络将 DQN 的最终全连接层分为值流和优势流,然后将这两个流组合以计算
`q`
值。 之后,我们看到了如何创建回放缓冲区,该缓冲区用于存储经验并为网络训练提供经验的小批量样本,最后,我们使用 OpenAI 的 Gym 初始化了赛车环境并训练了我们的代理。 在下一章第 13 章,“最新进展和后续步骤”中,我们将看到 RL 的一些最新进展。
# 问题
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录