> For the complete documentation index, see [llms.txt](https://hujian.gitbook.io/deep-reinforcement-learning/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hujian.gitbook.io/deep-reinforcement-learning/fang-fa/ment-te-zu-ma-de-fu-chou/hierarchical-dqn.md).

# Hierarchical-DQN

> [Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation](https://arxiv.org/abs/1604.06057)

稀疏反馈环境下的学习目标导向行为是增强学习算法面临的主要挑战。主要的困难是由于探索不够，导致代理无法学习健壮的值函数。具有内在动机的代理可以为了自身的利益而探索新的行为，而不是直接解决问题。这样的内在行为最终可以帮助代理解决环境设置的任务。提出了一种基于层次结构的dqn (h-DQN)框架，该框架集成了不同时间尺度下的层次值函数，具有内在的深层强化学习动机。高层值函数学习策略而不是内在目标，底层函数学习满足给定目标的原子操作。h-DQN允许灵活的目标规范，例如实体和关系上的函数。这为复杂环境中的探索提供了有效的空间。我们证明了我们的方法在两个非常稀疏、延迟反馈的问题上的优势:(1)一个复杂的离散随机决策过程，和(2)经典的ATARI游戏Montezuma的复仇。

## 方法

![](https://2281160879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaNHyhKoX7GdL4Ytevq%2F-LaOEciAbgoTAo8yKFlT%2F-LaP6pUl1u4wmmmW4Vxv%2Fimage.png?alt=media\&token=cde7ef84-20c8-4e7c-b70f-7d499c8eff93)

![](https://2281160879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaNHyhKoX7GdL4Ytevq%2F-LaOEciAbgoTAo8yKFlT%2F-LaP6rH6dkLg0fxrTlvs%2Fimage.png?alt=media\&token=3dffbd65-7bca-4fd1-8582-2536c6328a1a)

### Agents

我们使用temporal abstraction of options来定义每个目标的策略。 这些代理同时学习这些option策略，同时学习最佳的目标序列。 为了使每个 $$π\_g$$ 学习目标 $$g$$ ，代理人还有一个批评者，根据代理人是否能够实现其目标，提供内在的激励信号。

### Temporal Abstractions

代理人使用由controlle和meta-controller组成的两阶段层次结构。 元控制器接收状态 $$s\_{t}$$ 选择一个目标 $$g\_{\iota} \in \mathcal{G}$$ ，其中 $$\mathcal{G}$$ 表示有可能的当前目标的集合。目标将在接下来的几个步骤中保持不变，直到达到目标或达到最终状态。内部批评家负责评估目标是否已经达到，并提供适当的奖励。同样，元控制器的目标是优化累积的外在奖励。

### Deep Reinforcement Learning with Temporal Abstractions

用深度强化学习来学习这些策略

controller

![](https://2281160879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaNHyhKoX7GdL4Ytevq%2F-LaOEciAbgoTAo8yKFlT%2F-LaPASM9IWeD9SNdXzEM%2Fimage.png?alt=media\&token=4635036c-2209-49ed-8c65-b1e1739d6081)

meta-controller

![](https://2281160879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaNHyhKoX7GdL4Ytevq%2F-LaOEciAbgoTAo8yKFlT%2F-LaPATf6bNAajK7uu1sv%2Fimage.png?alt=media\&token=8661371e-b6d9-41c5-a74c-d89a14102063)

然后用类似TD的算法学习

![](https://2281160879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaNHyhKoX7GdL4Ytevq%2F-LaOEciAbgoTAo8yKFlT%2F-LaPB4nRnh3PEql8OExC%2Fimage.png?alt=media\&token=52e4e66f-e08e-4c51-845f-7c0947929b73)

### 伪代码

![](https://2281160879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaNHyhKoX7GdL4Ytevq%2F-LaOEciAbgoTAo8yKFlT%2F-LaPBCG9R2JWzjGmdT-0%2Fimage.png?alt=media\&token=b18c53d3-45a2-4006-895e-7e2c9de06918)

## 实验

![](https://2281160879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaNHyhKoX7GdL4Ytevq%2F-LaOEciAbgoTAo8yKFlT%2F-LaPBQMbMfHRiOEpKGLX%2Fimage.png?alt=media\&token=0fb9eadd-659a-402c-b7b0-66cabe805d7a)

代理需要内在的动机去探索场景中有意义的部分，然后才能了解为自己获取钥匙的好处。受developmental psychology literature和面向对象MDP的启发，我们用场景中的entities 或者 objects来参数化环境中的目标。尽管近年来直接从图像或运动数据中获取目标的研究取得了一定的进展，但在计算机视觉中，对视觉场景中目标的无监督检测一直是一个悬而未决的问题。在这项工作中，我们构建了一个定制的对象检测器，它提供了可信的对象候选者。

内部批评者在 $$\left\langle\text {entity}*{1}, \text { relation, entity }*{2}\right\rangle$$ 的空间中定义，其中relation是实体上的的配置。在我们的实验中，代理可以自由选择任何entity2。 例如，如果代理人到达诸如门之类的其他实体，则认为代理人已经完成了目标（并且接收了回报）。

![](https://2281160879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LaNHyhKoX7GdL4Ytevq%2F-LaOEciAbgoTAo8yKFlT%2F-LaPBOIEPKEwJSBDkHn4%2Fimage.png?alt=media\&token=978820a5-3bbc-4f5d-996e-51f34d128e1c)
