Files
openmlsys-zh/chapter_reinforcement_learning/rl_introduction.md
2022-03-18 17:24:18 +08:00

5.3 KiB
Raw Permalink Blame History

强化学习介绍

近年来强化学习作为机器学习的一个分支受到越来越多的关注。从2013年起DeepMind公司的研究人员就提出深度Q学习Deep Q-learning用于学习7个不同的电子游戏中对象的操作。自此以后以DeepMind为首的科研机构推出了像AlphaGo下围棋这类的引人瞩目的强化学习成果并在2016年与世界顶级围棋高手李世石的对战中取得胜利。自那以后强化学习领域连续取得了一系列成就如星际争霸游戏智能体AlphaStar、Dota 2游戏智能体OpenAI Five、多人零和博弈德州扑克的Pluribus、机器狗运动控制算法等。在这一系列科研成就的背后是整个强化学习领域算法在这些年内快速迭代进步的结果基于模拟器产生的大量数据使得对数据“饥饿”Data Hungry的深度神经网络能够表现出很好的拟合效果从而将强化学习算法的能力充分发挥出来在以上领域中达到或者超过人类专家的学习表现。目前强化学习已经从电子游戏逐步走向更广阔的应用场景如机器人控制、机械手灵巧操作、能源系统调度、网络负载分配、股票期货交易等一系列更加现实和富有意义的领域对传统控制方法和启发式决策理论发起冲击。

强化学习框架

:width:400px

🏷️ch12/ch12-rl-framework 强化学习的核心是决策,即基于某个状态State下的动作Action的选择。进行这一决策的对象我们常称为智能体Agent而这一决策的影响将在环境Environment中体现。更具体地不同的决策会影响环境的状态转移State Transition以及奖励Reward。以上过程可以抽象为 :numref:ch12/ch12-rl-framework所示,这是文献中最常见的强化学习的模型描述。举例来说,当人在玩某个电子游戏的时候,需要逐渐熟悉游戏的操作以取得更好的游戏结果,那么人从刚接触到这个游戏到逐步掌握游戏技巧的这个过程为一个类似于强化学习的过程。该游戏从开始后的任一时刻,会处于一个特定的状态,而人通过观察这个状态(如观察游戏机显示屏的图像)会获得一个观察量Observation并基于这个观察量做出一个操作动作这一动作将改变这个游戏状态使其转移到下一个状态并且玩家可以知道当前动作的效果如产生了一个正或负的分数。这时玩家再基于下一个状态的观察量做出新的动作选择周而复始直到游戏结束。通过反复的操作和观察人能够逐步掌握这个游戏的技巧一个强化学习智能体也是如此。这里注意有几个比较关键的问题1观察量未必等于状态而通常观察量是状态的函数从状态到观察量的映射可能有一定的信息损失。对于观察量等于状态或者根据观察量能够完全恢复环境状态的情况我们称为完全可观测Fully Observable否则我们称为部分可观测Partially Observable环境2玩家的每个动作未必会产生立即反馈某个动作可能在许多步之后才产生效果强化学习模型允许这种延迟反馈的存在3这种反馈对人的学习过程而言未必是个数字但是我们对强化学习智能体所得到的反馈进行数学抽象将其转变为一个数字称为奖励值。奖励值可以是状态的函数也可以是状态和动作的函数依具体问题而定。奖励值的存在是强化学习问题的一个基本假设也是现有强化学习算法训练智能体与监督式深度学习的一个主要区别。

强化学习的决策过程通常由一个马尔可夫决策过程Markov Decision ProcessMDP马尔可夫决策过程即一个后续状态只依赖当前状态和动作而不依赖于历史状态的函数描述可以用一个数组$(\mathcal{S}, \mathcal{A}, R, \mathcal{T}, \gamma)$来表示。$\mathcal{S}$和$\mathcal{A}$分别是状态空间和动作空间,$R$是奖励函数,R(s,a): $\mathcal{S}\times \mathcal{A}\rightarrow \mathbb{R}$为对于当前状态$s\in\mathcal{S}$和当前动作$a\in\mathcal{A}$的奖励值。从当前状态和动作到下一个状态的状态转移概率定义为\mathcal{T}(s^\prime|s,a): $\mathcal{S}\times\mathcal{A}\times\mathcal{S}\rightarrow \mathbb{R}_+$。$\gamma\in(0,1)$是奖励折扣因子(折扣因子可以乘到每个后续奖励值上,从而使无穷长序列有有限的奖励值之和)。强化学习的目标是最大化智能体的期望累计奖励值$\mathbb{E}[\sum_t \gamma^t r_t]$。

马尔可夫决策过程中的马尔可夫性质由以下定义


\mathcal{T}(s_{t+1}|s_t) = \mathcal{T}(s_{t+1}|s_0, s_1, s_2, \dots, s_t)

即当前状态转移只依赖于上一时刻状态,而不依赖于整个历史。这里的状态转移函数$\mathcal{T}$中省略了动作$a$,因为马尔可夫性质是独立于决策过程的环境转移过程的属性。

基于马尔可夫性质,可以进一步推导出在某一时刻最优策略不依赖于整个决策历史,而只依赖于当前最新状态的结论。这一结论在强化学习算法设计中有着重要意义,它简化了最优策略的求解过程。