深度强化学习 ( DQN ) 初探

本文介绍了Google的DQN论文,深入解析强化学习中的Q-Learning,阐述马尔可夫决策过程和折扣未来奖励的概念。接着讲解卷积神经网络(CNN)的局部感知、参数共享、多卷积核和Down-pooling等关键概念。最后,探讨了DQN算法在训练游戏中的应用,并给出了使用Tensorflow训练“接砖块”游戏的简要代码示例。
摘要由CSDN通过智能技术生成

1. Google的DQN论文

2015年2月,Google在Nature上发表了一篇论文(见附件):Human-level control through deep reinforcement learning。文章描述了如何让电脑自己学会打Atari 2600电子游戏。

Atari 2600是80年代风靡美国的游戏机,总共包括49个独立的游戏,其中不乏我们熟悉的Breakout(打砖块),Galaxy Invaders(小蜜蜂)等经典游戏。Google算法的输入只有游戏屏幕的图像和游戏的得分,在没有人为干预的情况下,电脑自己学会了游戏的玩法,而且在29个游戏中打破了人类玩家的记录。

Google给出的深度络架构图如下:

网络的左边是输入,右边是输出。 游戏屏幕的图像先经过两个卷积层(论文中写的是三个),然后经过两个全连接层, 最后映射到游戏手柄所有可能的动作。各层之间使用ReLU激活函数。

2. 强化学习(Q-Learning)

根据维基百科的描述,强化学习定义如下:
强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。

在强化学习的世界里, 算法称之为Agent, 它与环境发生交互,Agent从环境中获取状态(state),并决定自己要做出的动作(action).环境会根据自身的逻辑给Agent予以奖励(reward)。奖励有正向和反向之分。比如在游戏中,每击中一个敌人就是正向的奖励,掉血或者游戏结束就是反向的奖励。

2.1. 马尔可夫决策过程

现在的问题是,你如何公式化一个强化学习问题,然后进行推导呢?最常见的方法是通过马尔可夫决策过程。

假设你是一个代理,身处某个环境中(例如《打砖块》游戏)。这个环境处于某个特定的状态(例如,牌子的位置、球的位置与方向,每个砖块存在与否)。人工智能可以可以在这个环境中做出某些特定的动作(例如,向左或向右移动拍子)。

这些行为有时候会带来奖励(分数的上升)。行为改变环境,并带来新的状态,代理可以再执行另一个动作。你选择这些动作的规则叫做策略。通常来说,环境是随机的,这意味着下一状态也或多或少是随机的(例如,当你漏掉了球,发射一个新的时候,它会去往随机的方向)。

状态与动作的集合,加上改变状态的规则,组成了一个马尔可夫决策过程。这个过程(例如一个游戏)中的一个情节(episode)形成了状态、动作与奖励的有限序列。

其中 si 表示状态,ai 表示动作,ri+1 代表了执行这个动作后获得的奖励。情节以最终的状态 sn 结束(例如,「Game Over」画面)。一个马尔可夫决策过程基于马尔可夫假设(Markov assumption),即下一状态 si+1 的概率取决于现在的状态 si 和动作 ai,而不是之前的状态与动作。

2.2. 折扣未来奖励(Discounted Future Reward)

为了长期表现良好,我们不仅需要考虑即时奖励,还有我们将得到的未来奖励。我们该如何做呢?

对于给定的马尔可夫决策过程的一次运行,我们可以容易地计算一个情节的总奖励:

鉴于此,时间点 t 的总未来回报可以表达为:

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值