深度强化学习之Deep Q Learning

深度强化学习之Deep Q Learning

本文主要讲解:Deep Q Network 下面我们简称为 DQN。DQN采用深度神经网络来表示Q函数,通常也称为Deep Q Learning 。

DQN是在论文《Playing Atari with Deep Reinforcement Learning》中提出的。这篇论文主要讲解如何用深度强化学习来玩Astair游戏。

首先,先来简单介绍一下Astair游戏中的breakout游戏的游戏规则:
深度强化学习之Deep Q Learning_第1张图片
游戏开始时,画面今显示8排砖块,每隔两排,砖块的颜色就不同。由下至上的颜色排序为黄色、绿色、橙色和红色。游戏开始后,玩家必须控制一块平台左右移动以反弹一个球。当那个球碰到砖块时,砖块就会消失,而球就会反弹。3当玩家未能用平台反弹球的话,那么玩家就输掉了那个回合。当玩家连续输掉3次后,玩家就会输掉整个游戏。

DQN要解决的问题是:如何从原始的游戏画面出发,通过强化学习自动学出玩游戏的方法。

Q-Learning算法是以Q(状态,动作)来表示函数。在这个过程中Q函数实际上Q函数是用一张表格来表示的。表格的每一行表示一种状态,每一列表示一种动作。

深度强化学习之Deep Q Learning_第2张图片
Q-Learning算法的缺点:状态与状态之间是相互独立的,没有联系。例如:在Astair游戏中,再用“表格”来表示Q函数就有点不合适了。原因在于Astair游戏画面为210×160的RGB图像,假设用一帧图像表示一个状态,算在每个像素位置只用0和1里表示,产生的状态也会高达2的210*160次方种,这就意味着Q函数对应的表格有2的210×160行,根本无法存储下来,也无法进行训练。所以我们可以采用Deep Q Network。

Deep Q Network

DQN算法用一个深度卷积神经网络来表示Q函数。它的输入状态是S,输出每个动作对应的Q函数值。假设一共有4用种动作,分别用a1,a2,a3,a4来表示,那么神经网络的输出是Q(s,a1),Q(s,a2),Q(S,a3),Q(s,a4)这个神经网络叫做Deep Q Network。
深度强化学习之Deep Q Learning_第3张图片
**DQN的输入状态s一般不是单帧游戏画面,而也就没法作出决策,所以要使用多帧画面作为输入。单帧的Astair游戏画面是一个210×160的RGB图像,在论文中,会首先将图片灰度化,再缩小,裁剪到84×84的尺寸,输入网络的事帧图像,即是一个84×84×4的张量。下图为论文中用到的框架结构:
深度强化学习之Deep Q Learning_第4张图片

Deep Q Network的算法过程

深度强化学习之Deep Q Learning_第5张图片
时间不够了,没空写了,至于训练过程中涉及的Experience replay mechanism问题,下节介绍哦**!!!!!!!!!**

你可能感兴趣的:(强化学习)