Fix Typos (#210)

* fix chap12 render

* add distributed rl chapter

* fix bug

Co-authored-by: Dalong <39682259+eedalong@users.noreply.github.com>
This commit is contained in:
Zihan Ding
2022-03-25 23:00:34 -04:00
committed by GitHub
parent b13bba8761
commit 0de80f3603
2 changed files with 2 additions and 2 deletions

View File

@@ -10,7 +10,7 @@
这里我们可以根据前面对单智能体强化学习过程的马尔可夫决策过程描述,给出多智能体强化学习的马尔可夫决策过程,它可以用一个数组$(\mathcal{S}, N, \boldsymbol{\mathcal{A}}, \mathbf{R}, \mathcal{T}, \gamma)$来表示。$N$是智能体个数,$\mathcal{S}$和$\boldsymbol{\mathcal{A}}=(\mathcal{A}_1, \mathcal{A}_2, ..., \mathcal{A}_N)$分别是环境状态空间和多智能体动作空间,其中$A_i$是第$i$个智能体的动作空间,$\mathbf{R}=(R_1, R_2, ..., R_N)$是多智能体奖励函数,$\mathbf{R}(s,\mathbf{a})$: $\mathcal{S}\times \boldsymbol{\mathcal{A}}\rightarrow \mathbb{R}^N$为对于当前状态$s\in\mathcal{S}$和当前多智能体动作$\mathbf{a}\in\boldsymbol{\mathcal{A}}$的奖励向量值,其中$R_i$是对第$i$个智能体的奖励值。从当前状态和动作到下一个状态的状态转移概率定义为$\mathcal{T}(s^\prime|s,\mathbf{a})$: $\mathcal{S}\times\boldsymbol{\mathcal{A}}\times\mathcal{S}\rightarrow \mathbb{R}_+$。$\gamma\in(0,1)$是奖励折扣因子(假设多个智能体采用相同的奖励折扣因子)。不同于单智能体强化学习,多智能体强化学习的目标除了常见的最大化每个智能体各自的期望累计奖励值$\mathbb{E}[\sum_t \gamma^t r^i_t], i\in[N]$之外,还有许多其他可能的学习目标,如达到纳什均衡、最大化团队奖励等等。
由上述介绍和定义可以发现多智能体强化学习是一个比单智能体强化学习更加复杂的问题。而实际上多个智能体的存在对于每个智能体的决策而言绝对不是简单的把每个单智能体决策累加的难度实际情况要比单智能体决策问题复杂很多。多智能体系统的研究实际上是门古老的学科它与博弈论Game Theory密切相关在深度强化学习盛行以前早已有大量研究和许多理论上未解的难题。其中一个典型的问题是纳什均衡在双人非零和博弈下没有多项式时间内可解的方法实际上这是一个PPADPolynomial Parity Argument, Directed version类的问题。Settling the Complexity of Computing Two-Player Nash Equilibria. Xi Chen, et al.由于篇幅限制,我们这里无法对多智能体问题做深入探讨,我们可以用一个简单例子来介绍为什么多智能体强化学习问题无法简单地用单智能体强化学习算法来解。
由上述介绍和定义可以发现多智能体强化学习是一个比单智能体强化学习更加复杂的问题。而实际上多个智能体的存在对于每个智能体的决策而言绝对不是简单的把每个单智能体决策累加的难度实际情况要比单智能体决策问题复杂很多。多智能体系统的研究实际上是门古老的学科它与博弈论Game Theory密切相关在深度强化学习盛行以前早已有大量研究和许多理论上未解的难题。其中一个典型的问题是纳什均衡在双人非零和博弈下没有多项式时间内可解的方法实际上这是一个PPADPolynomial Parity Argument, Directed version类的问题。(见论文Settling the Complexity of Computing Two-Player Nash Equilibria. Xi Chen, et al.)由于篇幅限制,我们这里无法对多智能体问题做深入探讨,我们可以用一个简单例子来介绍为什么多智能体强化学习问题无法简单地用单智能体强化学习算法来解。
:剪刀石头布奖励值

View File

@@ -10,4 +10,4 @@
:width:`800px`
:label:`ch12/ch12-rlzoo`
近来研究人员发现强化学习算法领域的发展瓶颈可能不仅在于算法本身而在于智能体采集数据的模拟器的模拟速度。Issac Gym :cite:`makoviychuk2021isaac`是Nvidia公司于2021年推出的基于GPU的模拟引擎在单GPU上实现2-3倍于之前基于CPU的模拟器的运行速度。关于GPU上运行加速我们已经在章节5中有所介绍。之所以GPU模拟能够对强化学习任务实现显著的加速效果除了GPU本身多核心的并行运算能力之外还在于这省却了CPU与GPU之间的数据传输和通信时间。传统的强化学习环境如OpenAI Gym这是一个常用的强化学习基准测试环境都是基于CPU进行的模拟计算而深度学习方法的神经网络训练通常是在GPU或TPU上进行的。从智能体与CPU上实例化的模拟环境交互过程所收集的数据样本通常先暂时以CPU的数据格式存储在使用的时候被转移到GPU上成为具有GPU数据类型的数据如使用PyTorch时可通过tensor.to(device)的函数实现只需将device设为“cuda”即可将一个类型为troch.Tensor的tensor转移到GPU上然后来进行模型训练。同时由于模型参数是以GPU上数据的类型存储的调用模型进行前向传递的过程中也需要先将输入数据从CPU转移到GPU上并且可能需要将模型输出的GPU数据再转移回CPU类型。这一系列冗余的数据转换操作都会显著增长模型学习的时间并且也增加了算法实际使用过程中的工程量。Isaac Gym模拟器的设计从底层上解决了这一困难由于模拟器和模型双双实现在GPU上他们之间的数据通信不再需要通过CPU来实现从而绕过了CPU与GPU数据双向传输这一问题实现了对强化学习任务中模拟过程的特定加速。
近来研究人员发现强化学习算法领域的发展瓶颈可能不仅在于算法本身而在于智能体采集数据的模拟器的模拟速度。Isaac Gym :cite:`makoviychuk2021isaac`是Nvidia公司于2021年推出的基于GPUGraphics Processing Unit的模拟引擎在单GPU上实现2-3倍于之前基于CPUCentral Processing Unit的模拟器的运行速度。关于GPU上运行加速我们已经在章节5中有所介绍。之所以GPU模拟能够对强化学习任务实现显著的加速效果除了GPU本身多核心的并行运算能力之外还在于这省却了CPU与GPU之间的数据传输和通信时间。传统的强化学习环境如OpenAI Gym这是一个常用的强化学习基准测试环境都是基于CPU进行的模拟计算而深度学习方法的神经网络训练通常是在GPU或TPUTensor Processing Unit上进行的。从智能体与CPU上实例化的模拟环境交互过程所收集的数据样本通常先暂时以CPU的数据格式存储在使用的时候被转移到GPU上成为具有GPU数据类型的数据如使用PyTorch时可通过tensor.to(device)的函数实现只需将device设为“cuda”即可将一个类型为torch.Tensor的tensor转移到GPU上然后来进行模型训练。同时由于模型参数是以GPU上数据的类型存储的调用模型进行前向传递的过程中也需要先将输入数据从CPU转移到GPU上并且可能需要将模型输出的GPU数据再转移回CPU类型。这一系列冗余的数据转换操作都会显著增长模型学习的时间并且也增加了算法实际使用过程中的工程量。Isaac Gym模拟器的设计从底层上解决了这一困难由于模拟器和模型双双实现在GPU上他们之间的数据通信不再需要通过CPU来实现从而绕过了CPU与GPU数据双向传输这一问题实现了对强化学习任务中模拟过程的特定加速。