论文笔记之:Deep Reinforcement Learning with Double Q-learning

Deep Reinforcement Learning with Double Q-learning

Google DeepMind

  Abstract

  主流的 Q-learning 算法过高的估计在特定条件下的动作值。实际上,之前是不知道是否这样的过高估计是 common的,是否对性能有害,以及是否能从主体上进行组织。本文就回答了上述的问题,特别的,本文指出最近的 DQN 算法,的确存在在玩 Atari 2600 时会 suffer from substantial overestimations。本文提出了 double Q-learning algorithm 可以很好的降低观测到的 overestimation 问题,而且在几个游戏上取得了更好的效果。

  Introduction

  强化学习的目标是对序列决策问题能够学习到一个好的策略,通过优化一个累计未来奖励信号。Q-learning 是最著名的 RL 学习算法之一,但是由于其在预测动作值的时候包含一个最大化的步骤,所以导致会出现过高的预测值,使得学习到不实际的高动作值。

  在之前的工作中,将 overestimation 的问题归咎于 不够灵活的函数估计 以及 noise。本文统一了这些观点,并且表明 当动作值预测的不准确的时候,就会出现 overestimation,而不管估计误差的来源。当然,在学习的过程中,出现不准确的值估计也是正常的,这也说明 overestimation 可能比之前所看的情况更加普遍。

  如果overestimation 的确出现,那么这个开放的问题的确会影响实际的性能。过于优化的值估计在一个问题中是不必要的,如果所有的值都比相对动作参考要均匀的高被保存了,那么我们就不会相信得到的结果策略会更差了。此外,有时候 optimistic 是一件好事情:optimistic in the face of uncertainty is a well-known exploration technique. 然而,如果当预测并且均匀,不集中在 state上,那么他们可能对结果的策略产生坏的影响。Thrun 等人给出了特定的例子,即:导致次优的策略。

  为了测试在实际上是否会出现 overestimation,我们探讨了最近 DQN 算法的性能。关于 DQN 可以参考相关文章,此处不赘述了。可能比较奇怪的是,这种 DQN设置 仍然存在过高的估计动作的 value 这种情况。

  作者表明,在 Double Q-learning算法背后的idea,可以很好的和任意的函数估计相结合,包括神经网络,我们利用此构建了新的算法,称: Double DQN。本文算法不但可以产生更加精确的 value estimation,而且在几个游戏上得到了更高的分数。这样表明,在 DQN上的确存在 overestimation 的问题,并且最好将其降低或者说消除。

  Background

  为了解决序列决策问题,我们学习对每一个动作的最优值的估计,定义为:当采取该动作,并且以后也采用最优的策略时,期望得到的将来奖励的总和。在给定一个策略 $\pi$ 之后,在状态 s下的一个动作 a 的真实值为:

  $Q_{\pi}(s, a) = E[R_1 + \gamma R_2 + ... | S_0 =s, A_0 = a, \pi]$,

  最优的值就是 $Q_*(s, a) = max_{\pi} Q_{\pi}(s, a)$。一个优化的策略就是从每一个状态下选择最高值动作。

  预测最优动作值 可以利用 Q-learning算法。大部分有意思的问题都无法在所有状态下都计算出其动作值。相反,我们学习一个参数化的动作函数 Q(s, a; \theta_t)。在状态St下,采取了动作 $A_t$之后标准的 Q-learning 更新,然后观测到奖励 $R_{t+1}$以及得到转换后的状态 $S_{t+1}$:

    其中,目标 $Y_t^Q$ 的定义为:  

  这个更新非常类似于随机梯度下降,朝向 target value $Y^Q_t$ 更新当前值 Q(S_t, A_t; \theta_t)。

  Deep Q-Networks.

  一个DQN是一个多层的神经网络,给定一个状态 s,输出一个动作值的向量 $Q(s, *; \theta)$,其中,$\theta$ 是网络的参数。对于一个 n维 的状态空间,动作空间是 m 个动作,神经网络是一个函数将其从 n维空间映射到 m维。两个重要的点分别是 target network 的使用 以及 experience replay的使用。target network,参数为 $\theta^-$,和 online的网络一样,除了其参数是从 online network 经过 某些 steps之后拷贝下来的。目标网络是:

  对于 experience replay,观测到的 transitions 都被存贮起来,并且随机的从其中进行采样,用来更新网络。target network 和 experience replay 都明显的改善了最终的 performance。

  Double Q-learning

  在标准的 Q-learning 以及 DQN 上的 max operator,用相同的值来选择和评价一个 action。这使得其更偏向于选择 overestimated values,导致次优的估计值。为了防止此现象,我们可以从评价中将选择独立出来,这就是 Double Q-learning 背后的 idea。

  在最开始的 Double Q-learning算法中,通过随机的赋予每一个 experience 来更新两个 value functions 中的一个 来学习两个value function,如此,就得到两个权重的集合,$\theta$ 以及 $\theta ‘$。对于每一次更新,其中一个权重集合用来决定贪婪策略,另一个用来决定其 value。做一个明确的对比,我们可以首先排解 selection 和 evaluation,重写公式2,得到:

  那么, Double Q-learning error可以写为:  

  注意到 action 的选择,在 argmax,仍然属于 online weights $\theta_t$。这意味着,像 Q-learning一样,我们仍然可以根据当前值,利用贪婪策略进行 value 的估计。然而,我们利用第二个权重 $\theta _t ‘$来更加公平的评价该策略。第二个权重的集合,可以通过交换 两个权重的角色进行更新。

     OverOptimism due to estimation errors:

  

  

  

  

时间: 2024-10-20 21:26:07

论文笔记之:Deep Reinforcement Learning with Double Q-learning的相关文章

Deep Learning 论文笔记 (3): Deep Learning Face Attributes in the Wild

这是Xiaogang Wang和Xiaoou Tang组的一篇technical report,作者是优秀的学弟Ziwei Liu. 通常人脸识别里面先要对人脸图像进行检测和对齐,然后在相应的地方提取特征,但是在自然场景中,由于背景混乱,人脸检测和对齐会受到影响,进而影响特征提取和最后的识别效果. 这篇论文的主要思想是通过学习两个deep network来构建face attributes recognition的系统,其中第一个用来localization,第二个用来提取feature. 主要

【论文笔记】Deep Structured Output Learning for Unconstrained Text Recognition

写在前面:        我看的paper大多为Computer Vision.Deep Learning相关的paper,现在基本也处于入门阶段,一些理解可能不太正确.说到底,小女子才疏学浅,如果有错误及理解不透彻的地方,欢迎各位大神批评指正!E-mail:[email protected] 论文结构: Abstract 1.Introduction 2.Related Work 3.CNN Text Recognition Model 3.1 Character Sequence Model

论文笔记-Wide & Deep Learning for Recommender Systems

本文提出的W&D是针对rank环节的模型. 网络结构: 本文提出的W&D是针对rank环节的模型. 网络结构: wide是简单的线性模型,但是可以预先对特征做各种变换.交叉等来增加wide模型的非线性性. deep是一个FNN,对高维稀疏类别特征采取embedding降维,embedding的结果是在训练时候学出来的. wide与deep结合的方式,是将两者的输出通过加权最后喂给一个logistic损失函数.值得注意的是,这里是join train并不是ensemble,ensemble是

论文笔记之:MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching

MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching CVPR  2015 本来都写到一半了,突然笔记本死机了,泪崩!好吧,重新写!本文提出了一种联合的学习patch表示的一个深度网络 和 鲁棒的特征比较的网络结构.与传统的像SIFT特征点利用欧氏距离进行距离计算的方式不同,本文是利用全连接层,通过学习到的距离度量来表示两个描述符的相似性. 本文的贡献点如下: 1. 提出了一个新的利用深度网络架构基于pat

论文笔记-Joint Deep Modeling of Users and Items Using Reviews for Recommendation

基本思路:利用用户和商品的评论构建CNN预测评分. 网络结构: user review网络与 item review网络结构一致,仅就前者进行说明 从user review text到 look-up layer: 首先需要pre-train一个word embedding的词表,对某个用户,将其对所有商品的评论拼接为一条sequence,对其中的每个词,去look-up table中找对应的vector,所以最后形成的是一个word embedding的matrix,作为输入,进入convol

【论文笔记】Recursive Recurrent Nets with Attention Modeling for OCR in the Wild

写在前面: 我看的paper大多为Computer Vision.Deep Learning相关的paper,现在基本也处于入门阶段,一些理解可能不太正确.说到底,小女子才疏学浅,如果有错误及理解不透彻的地方,欢迎各位大神批评指正! E-mail:[email protected]. <Recursive Recurrent Nets with Attention Modeling for OCR in the Wild>已经被CVPR 2016(CV领域三大顶会之一)正式接收了,主要是介绍了

Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记

Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记 arXiv 摘要:本文提出了一种 DRL 算法进行单目标跟踪,算是单目标跟踪中比较早的应用强化学习算法的一个工作.  在基于深度学习的方法中,想学习一个较好的 robust spatial and temporal representation for continuous video data 是非常困难的.  尽管最近的 CNN based tracke

论文笔记之:Dueling Network Architectures for Deep Reinforcement Learning

Dueling Network Architectures for Deep Reinforcement Learning ICML 2016 Best Paper Google DeepMind Abstract: 本文是 ICML 2016 的最佳论文之一,又是出自 Google DeepMind. 最近几年,在 reinforcement learning 上关于 deep representation 有取得了很大的成功.然而,许多这些应用都是利用传统的网络架构,例如:神经网络,LSTM

论文笔记之:Collaborative Deep Reinforcement Learning for Joint Object Search

Collaborative Deep Reinforcement Learning for Joint Object Search   CVPR 2017 Motivation: 传统的 bottom-up object region proposals 的方法,由于提取了较多的 proposal,导致后续计算必须依赖于抢的计算能力,如 GPU 等.那么,在计算机不足的情况下,则会导致应用范围受限.而 Active search method (就是 RL 的方法) 则提供了不错的方法,可以很大