当前位置:
文档之家› 机器学习与应用 第19讲-深度强化学习2
机器学习与应用 第19讲-深度强化学习2
是神经网络的输出值与Q函数估计值之间的误差,与Q学习中的更新项相同
如何得到训练样本 和Q学习类似,可以通过执行动作来生成样本 实现时,用当前的神经网络进行预测,得到所有动作的价值函数,然后按照策略选择一个动作执行,得到下一个 状态以及回报值,以此作为训练样本
使用了经验回放(Experience Replay)技术 神经网络要求训练样本之间相互独立,而Atari游戏的训练样本前后具有相关性 解决这个问题的做法是经验池,将样本存储在一个集合中,然后从中随机采样得到每次迭代所用的训练样本,这 样可以打破按照动作序列执行时前后两个时间步样本之间的依赖关系
Q s, a Q s, a R maxa' Q s', a' Q s, a
损失函数用神经网络的输出值与Q学习每次迭代时的更新值构造
L R max s' , a' , Q s, a, 2 a'
在有监督学习中,我们用神经网络来实现分类或回归函数,同样的,也可以用神经网络可来拟合强化学习中的价 值函数和策略函数,这就是深度强化学习的基本思想
深度强化学习 = 深度学习 + 强化学习 深度学习解决感知类问题,实现 感知->动作 的映射
价值函数逼近 如果状态和动作的数量太大,则无法直接列举所有的状态和动作,形成Q函数表,此时用函数逼近(Function Approximation)是一个可以选择的方案 这种方法用一个函数(线性,非线性)来逼近Q函数,即给定状态s和动作a,用这个函数计算出来的Q函数值与真 实的Q函数值接近
算法要实现自动驾驶,将当前场景的图像作为状态,神经网络的输入是这种图像,输出是每个动作对应的Q函数值, 这里的动作是左转,右转,刹车,加油门等 经网络输出层的尺寸与动作数相等
深度强化学习的早期尝试
Tsitsiklis J N, Van R B. An analysis of temporal-difference learning with function approximation. IEEE Transactions on Automatic Control, 1997, 42(5): 674-690 Riedmiller M. Neural fitted q iteration-first experiences with a data efficient neural reinforcement learning method//Proceedings of the Conference on Machine Learning. Berlin, German, 2005: 317-328
存在的问题 有监督学习中有大量的人工标注的训练样本,而强化学习中只有延迟的回报值,并且可能有噪声 神经网络要求各个训练样本之间是独立同分布的,而用Q学习生成的训练样本,前后各个时刻之间存在很强的相关 性,这会导致神经网络的训练不稳定 深度学习中要求样本的分布是固定的,而强化学习中样本的分别会随着学到新的动作而变化
DQN网络结构 使用卷积神经网络拟合Q函数,称为深度Q网络(简称DQN) 深度学习 + Q学习 网络的输入为经过处理后游戏图像画面,原始的画面是210x160的彩色图像,每个像素的值为[0, 255]之间的整数, 所有可能的状态数为
2562101603
这个规模的矩阵无法直接用表格存储。实现时,网络的输入为最近4帧图像,经过了预处理,尺寸为84x84x4 网络的输出值是在输入状态下执行每个动作的Q函数值,在这里有18个值,代表游戏中的18种动作,输出层有18个 神经元
神经网络用于近似最优Q函数
Q s, a, Q s,始的210x160的彩色图像,有128种颜色,首先经过灰度化,转成灰度图像,然后缩放到110x84的尺寸,然后裁 剪到84x84
网络的结构和输出值与之前介绍的卷积神经网络相比并没有特殊之处,关键问题是训练样本的获取与目标函数的设 计 目标是逼近最优策略的Q函数值,因此可以采用Q学习的做法
深度强化学习简介 价值函数逼近 用神经网络拟合价值函数 DQN的网络结构 DQN的训练算法
深度强化学习简介 经典的强化学习算法只能用于状态和动作的集合是有限的离散基且状态和动作数量较少的情况,状态和动作需要 人工预先设计 实际应用中的场景可能会很复杂,很难定义出离散的状态;即使能够定义,数量也非常大,无法用数组存储 用一个函数来逼近价值函数或策略函数成为解决这个问题的一种思路,函数的输入是原始的状态数据,函数的输 出是价值函数值或策略函数值
DeepMind的DQN 用深度Q网络打Atari游戏 Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves, Ioannis Antonoglou. Playing Atari with Deep Reinforcement Learning. NIPS 2013 Mnih, Volodymyr, et al. Human-level control through deep reinforcement learning. Nature. 518 (7540): 529-533, 2015
Qs,a q s,a
函数的自变量是s和a,函数值即Q函数值。本质上这是一个回归问题,可以用有监督学习算法解决
用神经网络拟合价值函数 在Q学习中用表格存储动作价值函数的值,如果状态和动作太多这个表将非常大,在某些应用中也无法列举出所有 的状态形成有限的状态集合 解决这个问题的方法是用一个函数来近似价值函数,深度Q学习用神经网络来近似动作价值函数 网络的输入是状态,输出是各种动作的价值函数值