深度强化学习之Deep Q Learning

编程入门 行业动态 更新时间:2024-10-09 06:29:26

<a href=https://www.elefans.com/category/jswz/34/1769690.html style=深度强化学习之Deep Q Learning"/>

深度强化学习之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游戏的游戏规则:

游戏开始时,画面今显示8排砖块,每隔两排,砖块的颜色就不同。由下至上的颜色排序为黄色、绿色、橙色和红色。游戏开始后,玩家必须控制一块平台左右移动以反弹一个球。当那个球碰到砖块时,砖块就会消失,而球就会反弹。3当玩家未能用平台反弹球的话,那么玩家就输掉了那个回合。当玩家连续输掉3次后,玩家就会输掉整个游戏。

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

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


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。

**DQN的输入状态s一般不是单帧游戏画面,而也就没法作出决策,所以要使用多帧画面作为输入。单帧的Astair游戏画面是一个210×160的RGB图像,在论文中,会首先将图片灰度化,再缩小,裁剪到84×84的尺寸,输入网络的事帧图像,即是一个84×84×4的张量。下图为论文中用到的框架结构:

Deep Q Network的算法过程


时间不够了,没空写了,至于训练过程中涉及的Experience replay mechanism问题,下节介绍哦**!!!!!!!!!**

更多推荐

深度强化学习之Deep Q Learning

本文发布于:2024-02-27 19:28:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765945.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:深度   Deep   Learning

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!