Dueling Network Architectures for Deep Reinforcement Learning 笔记

1. 前言

依旧是一篇关于DQN的文章,出自Deepmind。这篇论文中,作者提出了一种新的网络架构。网络包含两个部分:一个用于估计state-value函数,一个用于估计状态相关的action-advantage函数。
如下图:


Dueling Network Architectures for Deep Reinforcement Learning 笔记_第1张图片
network

2. 背景

作者期望能够找到一种更加适合model-free RL的网络,就像上图一样。作者将价值函数和action advantages函数分开拟合,它们共享一个卷积网络作为特征提取器。

我们将强化学习的过程看做一个agent进行动作选择的过程,这个agent在每个时间点和环境进行交互,产生一个动作,并且达到一个新的状态。在Atari游戏中,agent在一个时刻得到一个视频流,这个视频包含了个图片。然后这个agent选择一个动作,并且观察到了一个reward:。
那么学习过程就是agent学习一个最优的策略使得它能得到的期望最大,也就是。
为了找到一个最佳的策略,我们常常需要计算价值函数或者action advantage函数。通常来说,它们由以下公式决定:

func

其中
可以通过动态规划递归求出:
Q

Q-learning就是采用以下公式作为最优的Q的更新
Q-learning

通常情况下,定义action advantage函数如下:
advantage

一般
表示某个状态有多好,
表示在这个状态下选择某个动作有多好。它们的差就是这个状态下,某个动作相对好还是坏。

使用一个神经网络来表示价值函数,定义如下:

Dueling Network Architectures for Deep Reinforcement Learning 笔记_第2张图片
Q-network

DQN使用了固定目标网络参数,使用experience replay来计算梯度,在一定的轮次之后更新目标网络参数的方法。

3. The Dueling Network Architecture

dueling网络的主要思想是对于很多状态,没有必要估计出每个动作的价值。dueling网络像DQN一样有着一个基础的卷积网络,但是有两个分开的fc层,它们分别预测了value和advantage函数。最终,这两个部分结合在一起输出作为。
作者使用其中一个stream来预测,另一个来预测。
我们知道advantage函数:,state-value函数为:。所以advantage函数的平均值为0。另外对于一个确定性的策略,,因此,得到。
因此,在组合两个stream的输出时,非常直接的选择:

Q

相加得到

但是我们要注意的是,
并不是真实的
也都不是准确值。
作者使用了下面的组合方式:
Dueling Network Architectures for Deep Reinforcement Learning 笔记_第3张图片
Q

还有一种选择是:


Dueling Network Architectures for Deep Reinforcement Learning 笔记_第4张图片
Q

你可能感兴趣的:(Dueling Network Architectures for Deep Reinforcement Learning 笔记)