深度强化学习(Deep Reinforcement Learning)
内容目录:
强化学习与深度学习都属于机器学习范畴,强化学习主要用来解决连续决策问题(比如:通过算法决定机器人的电机做出怎样的动作、设计一个逻辑实现模型玩游戏的功能、在棋盘游戏中与人类对战等,最典型的就是围棋以及其它棋盘游戏)。强化学习受到了生物能够有效地适应环境的启发,能够在复杂的、不确定的环境中通过试错的机制与环境进行交互,并学习到如何实现我们设定的目标。
- 深度强化学习基本概念
- 深度强化学习的思路
- 深度强化学习的典型应用场景
-
深度强化学习的数学分析(深度Q学习为例)
1.深度强化学习基本概念
强化学习包含的3个概念:环境状态(Environment State)、动作(Action)和奖惩(Reward)。以围棋为例:环境状态就是整个已经形成的棋局,行动是指强化学习模型在某个位置落子,奖惩就是当前这步棋获得的目数(围棋中存在不确定性,在对弈时获得估计的目数。为了赢得最终胜利,需要在结束对弈时总目数超过对手)。强化学习模型需要根据环境状态、行动和奖惩,学习出最佳落子策略,并且在结束时的总目数超过对手为目标,即不能只看每一个落子的行动所带来的奖惩,还要看这个行动在未来的潜在价值(这个动作对后面几个动作的影响)
强化学习目标:在回报的奖惩中获得较多的累计奖励,简单点说,模型在训练过程中不断做出尝试性的决策,错了惩罚,对了奖励,由此训练得到在各个状态环境状态中比较好的决策。
注意:强化学习不像无监督学习那样完全没有目标,也不像监督学习那样有明确的目标(如图像分类中的label),强化学习目标是不明确的,模型只会向着能够得到更多奖励的方向去学习。
2.深度强化学习的思路
强化学习有几十年的历史,经历了人工智能和神经网络的兴衰。发展情况大体如下:
1956年Bellman提出动态规划方法(可认为强化学习起源)。
1977年Werbos在动态规划的基础上提出了自适应的动态规划方法。(受限于当时硬件技术,该方未普及)。
1989年Watkins 提出Q(状态-动作值函数)学习方法,这是最早的在线强化学习方法,也是强化学习中最重要算法之一。
1992年Watkins和Dayan共同证明了Q算法的收敛性。
1999年Thrum提出了部分可观测的马尔科夫决策过程中的蒙特卡洛方法
2006年Kocsis提出了置信上限树算法。
2014年Sliver等提出了确定性策略梯度算法。
在人工智能领域,通常以感知、认知和决策能力作为智能的衡量指标。深度学习(实现了深度学习算法的神经网络)使得硬件对外界的识别感知能力(图像、语音信息识别)得到了巨大的提升。强化学习的试错机制表明它可以不断与环境进行交互,在决策能力持续获取收益为目标的前提下得到最优的决策。深度强化学习结合了深度学习的感知能力和强化学习的决策能力,从而可以使硬件设备直接根据输入的信息(视频、图像、语音、文字)做出一系列动作。从工作方式来看,这种学习模式更像是一种模拟了人类思维方式的人工智能实现。下图展示了实现深度强化学习过程的原理框架。
下图展示了深度强化学习中的动作——评判框架。就目前来说,以深度学习算法为核心的模型都可以通过动作——评判框架来表示。图中的动作模块相当于一个执行机构,输入外部状态s,输出动作a;评判模块相当于一个认知机构,根据历史的动作和回馈r进行更新,即自我调整,然后影响整个运动模块。
在动作——评判框架指导下,2013年Google DeepMind结合强化学习中的Q学习算法与深度学习,提出了DQN(Deep Q-Network深度Q)。DOA可以看做是第一个运用了深度强化学习算法的网络模型,它可以自动玩Atari系列的游戏,并且达到人类水平。借鉴DQN的一些成果,DeepMind将策略网络(Policy Network)、估值网络(Value Network,即DQN)与蒙特卡罗搜索树(Monte Carlo Tree Search)结合起来,实现了具有超高水平的围棋对战程序-----AlphaaGo.AlphaaGo首次出现在2015年,一经出现就取得了不错的对战战绩。
除了DQN深度强化学习算法之外,DeepMind还在2015年、2016年11月提出了A3C和UNREAL两大深度强化学习算法。