论文阅读笔记 | 用深度强化学习玩Atari

论文阅读笔记 | 用深度强化学习玩Atari

1.Introduction

使用强化学习从高维感官输入直接学习控制策略的深度学习模型。该模型是一个卷积神经网络,使用Q-learning的变体进行训练,输入为原始像素,输出为估计未来报酬的值函数。将此方法应用于7个来自街机学习环境的游戏,没有调整架构或学习算法。在6个游戏上的表现超过了之前的所有方法,在3个游戏上也超过了人类专家。

2.Background

  • t时刻的观察量xt ∈ Rd :从模拟器获取当前帧图像的像素值向量

  • t时刻的奖励 rt:游戏分数的改变

  • t时刻的状态: 用序列st = x1, a1, x2, …, at−1, xt 来表示(仅从当前屏幕像素值不可能理解当前状态)

  • t时刻的未来折扣收益(future discounted return):
    T是结束时刻;γ是每个time-step的收益折扣
    其中:T是终结时刻的time-step;γ是每个time-step的收益折扣

  • 最优动作-价值函数:(在给定策略 π下,观察序列s并采取动作a的最大期望收益)
    在这里插入图片描述
    RL算法的基本思想是依照贝尔曼方程,通过迭代更新来估计动作-价值函数Q ∗ (s,a),然而这种这种基本方法完全不实用。实际上,通常使用一个函数逼近器来估计动作-价值函数Q(s,a;θ) ≈ Q ∗ (s,a)。在强化学习中,这通常是一个线性函数逼近器,但有时也会使用非线性函数逼近器,如神经网络。我们把含权重参数 θ的神经网络函数逼近器称为Q-network。损失函数(loss function)Li(θi)在每一步迭代i改变,在缩小损失函数的过程中Q-network得以训练。

3.维度灾难和价值函数近似(Value Function Approximation)

在简单问题中我们可以用表格来表示Q(s,a),但是这个在现实的很多问题上是几乎不可行的,因为状态实在是太多。使用表格的方式根本存不下。

举Atari为例子。

论文阅读笔记 | 用深度强化学习玩Atari_第1张图片
计算机玩Atari游戏的要求是输入原始图像数据,也就是210x160像素的图片,然后输出几个按键动作。纯视觉输入,然后让计算机自己玩游戏。那么这种情况下,到底有多少种状态呢?有可能每一秒钟的状态都不一样。因为,从理论上看,如果每一个像素都有256种选择,那么状态数可达天文数字

解决方法:价值函数近似,

就是用一个函数f来表示Q(s,a)。即Q(s,a)=f(s,a)

  • f可以是任意类型的函数,我们用θ来统一表示函数f的参数。
  • 我们并不知道Q值的实际分布情况,本质上就是用一个函数来近似Q值的分布。变成Q(s,a)≈f(s,a,θ)。
  • 在DQN中,我们用一个深度神经网络来表示这个函数f。即下方的Q(s,a;θi)

损失函数(loss function):
在这里插入图片描述
其中,
在这里插入图片描述

  • yi为目标价值函数(即依靠Q-learning算法,根据reward和Q计算出的目标Q值。把目标Q值作为label供神经网络训练,s‘和a’即下一个状态和动作

  • Q(s,a;θi)为估计价值函数(即Q网络(NN)输出的估计价值)

  • ρ(s,a)指序列s和动作a的概率分布,称为行为分布(behavior distribution),本文的行为分布为 ε-greedy策略(即以ε的概率采取贪婪策略,以1-ε的概率随机选择动作)

4.DQN算法

论文阅读笔记 | 用深度强化学习玩Atari_第2张图片

  1. Experience Replay(经验池的技巧)
    由于玩Atari采集的样本是一个时间序列,样本之间具有连续性,如果每次得到样本就更新Q值,受样本分布影响,效果会不好。因此,一个很直接的想法就是把样本先存起来,然后随机采样。

  2. 反复试验,然后存储数据。接下来数据存到一定程度,就每次随机采用数据,进行梯度下降!

  3. 在DQN中增强学习Q-Learning算法和深度学习的SGD训练是同步进行的

附:强化学习算法的基本框架
论文阅读笔记 | 用深度强化学习玩Atari_第3张图片

你可能感兴趣的:(DQN,神经网络)