1. 什么是强化学习
在连接主义学习中,在学习的方式有三种:非监督学习(unsupervised learning)、监督学习
(supervised leaning)和强化学习。监督学习也称为有导师的学习,需要外界存在一个“教师”对给定
输入提供应有的输出结果,学习的目的是减少系统产生的实际输出和预期输出之间的误差,所产生
的误差反馈给系统来指导学习。非监督学习也称为无导师的学习。它是指系统不存在外部教师指导
的情形下构建其内部表征。学习完全是开环的。
生物进化过程中为适应环境而进行的学习有两个特点:一是人从来不是静止的被动的等待而是主动
的对环境作试探;二是环境对试探动作产生的反馈是评价性的,生物根据环境的评价来调整以后的
行为,是一种从环境状态到行为映射的学习,具有以上特点的学习就是强化学习。
强化学习(reinforcement learning)又称为再励学习,是指从环境状态到行为映射的学习,以使系
统行为从环境中获得的累积奖励值最大的一种机器学习方法,智能控制机器人及分析预测等领域有
许多应用。
2. 发展史
强化学习技术是从控制理论、统计学、心理学等相关学科发展而来,最早可以追溯到巴甫洛夫的条
件反射实验。1911年Thorndike提出了效果律(Law of Effect):一定情景下让动物感到舒服的行
为,就会与此情景增强联系(强化),当此情景再现时,动物的这种行为也更易再现;相反,让动
物感觉不舒服的行为,会减弱与情景的联系,此情景再现时,此行为将很难再现。动物的试错学
习,包含两个含义:选择(selectional)和联系(associative),对应计算上的搜索和记忆。
强化学习的研究发展史可分为两个阶段。第一阶段是50年代至60年代,为强化学习的形成阶段。
1954年,Minsky在他的博士论文中实现了计算上的试错学习,并首次提出“强化学习”术语。最有影
响的是他的论文“通往人工智能的阶梯”(Minsky,1961),这篇文章讨论了有关强化学习的几个问
题,其中包括他称为信誉分配的问题:怎样在许多的、与产生成功结果有关的各个决策中分配信
誉。后来,Farley和Clark的兴趣从试错学习转向泛化和模式识别,也就是从强化学习转向监督学
习,这引起了几种学习方法之间的关系混乱。由于这些混乱原因,使得真正的试错学习在二十世纪
六、七十年代研究得很少。第二阶段是强化学习的发展阶段。直到上世纪八十年代末、九十年代初
强化学习技术才在人工智能、机器学习和自动控制等领域中得到广泛研究和应用,并被认为是设计
智能系统的核心技术之一。
强化学习在国内处于发展阶段,并取得一定成绩。杨璐采用强化学习中的TD算法对经济领域的问
题进行预测;蒋国飞将Q学习应用在倒立摆控制系统,并通过对连续空间的离散化,证明了在满足
一定条件下的Q学习的收敛性;张健沛等对连续动作的强化学习方法进行了研究,并将其应用到机
器人避障行为中……。随着强化学习的数学基础研究取得突破性进展后对强化学习的研究和应用成
为目前机器学习领域的研究热点之一。主要内容包括:1)连续状态和连续动作问题;2)与遗传算
法与神经网络的结合;3)不完全感知问题;4)强化学习算法的规划规则抽取和偏差。
3. 工作原理
强化学习是一种在线的、无导师机器学习方法。在强化学习中,我们设计算法来把外界环境转化为
最大化奖励量的方式的动作。我们并没有直接告诉主体要做什么或者要采取哪个动作,而是主体通
过看哪个动作得到了最多的奖励来自己发现。主体的动作的影响不只是立即得到的奖励,而且还影
响接下来的动作和最终的奖励。
强化学习与其他机器学习任务(例如监督学习) 的显著区别在于,首先没有预先给出训练数据,而是
要通过与环境的交互来产生,其次在环境中执行一个动作后,没有关于这个动作好坏的标记,而只
有在交互一段时间后,才能得知累积奖赏从而推断之前动作的好坏。例如,在下棋时,机器没有被
告知每一步落棋的决策是好是坏,直到许多次决策分出胜负后,才收到了总体的反馈,并从最终的
胜负来学习,以提升自己的胜率。
学习者必须尝试各种动作,并且渐渐趋近于那些表现最好的动作,以达到目标。尝试各种动作即为
试错,也称为探索,趋近于好的动作即为强化,也称为利用。探索与利用之间的平衡,是强化学习
的一个挑战。探索多了,有可能找到差的动作,探索少了,有可能错过好的动作。总体趋势:探索
变少,利用变多。
举例1:
如果通过几次尝试,走位置1比走位置2赢棋的可能大,得出经验,则为强化学习。
举例2:一个机器人在面临:进入一个新房间去寻找更多垃圾、寻找一条回去充电的路两个命令选
择时根据以前找到充电器的快慢和难易程度来作决定。这是以前与环境交互得到的经验。
举例3:一个进行石油提炼操作的搅拌控制器。该控制器逐步优化产量/成本/质量之间的平衡而不是
严格按照工程师的最初设置来搅拌。
这些例子中,随时间推移,学习者利用它获得的经验不断提高自己的性能。简言之,强化学习就是
试出来的经验。它们都涉及一个积极作决策的Agent和它所处的环境之间的交互,尽管环境是不确
定的,但是Agent试着寻找并实现目标。Agent的动作允许影响环境的未来状态(如下一个棋子的位
置,机器人的下一位置等),进而影响Agent以后可利用的选项和机会。
4. 强化学习模型
定义Agent(学习的主体,如小猫、小狗、人、机器人、控制程序)其中,Agent具有特点如下:
1、能感知环境的状态
2、选择动作(可能会影响环境的状态)
3、有一个目标(与环境状态有关的)
Agent以最终目标为导向,与不确定环境之间进行交互,在交互过程中强化好的动作,获得经验。
在强化学习中, Agent 选择一个动作a作用于环境,环境接收该动作后发生变化,同时产生一个强
化信号(奖或罚)反馈给Agent,Agent再根据强化信号和环境的当前状态s 再选择下一个动作,选
择的原则是使受到正的奖赏值的概率增大。选择的动作不仅影响立即奖赏值,而且还影响下一时刻
的状态及最终强化值。强化学习的目的就是寻找一个最优策略,使得Agent在运行中所获得的累计
报酬值最大。
除了Agent和环境之外,强化学习系统的四个主要子要素:策略(policy)、奖赏函数(reward
function)、值函数(value function)和一个可选的环境模型(model)。
四要素之间的包含关系:
策略定义了Agent在给定时间内的行为方式。简单地说,一个策略就是从环境感知的状态到在这些
状态中可采用动作的一个映射。对应在心理学中被称为刺激-反应的规则或联系的一个集合。在某
些情况下策略可能是一个简单函数或查找表,而在其他情况下策略可能还涉及到大量计算。策略在
某种意义上说是强化学习Agent的核心。
奖赏函数定义了在强化学习问题中的目标。简单地说,它把环境中感知到的状态(或状态-动作对)映
射为单独的一个数值,即奖赏(reward),表示该状态内在的可取程度。强化学习Agent的唯一目标
就是最大化在长期运行过程中收到的总奖赏。奖赏函数定义了对Agent来说什么是好和坏的事件。
在生物系统中,用愉快和痛苦来定义奖赏似乎有些不合适。而奖赏是Agent所面对的问题的直接的
和规定性的特征。正因为这样,奖赏函数必须是Agent所不能改变的,但是它可以是调整策略的基
础。
对于一个策略,如果我们可以在一个状态上就看到这个策略未来将会取得的累积奖赏,这将为强化
学习带来很大的方便,提供这种功能的函数在强化学习中称为值函数(Value function)。奖赏决定了
环境状态的直接、内在的可取性,而值表示的是把可能的后续的状态以及在这些状态中可获得的奖
赏考虑在内的状态的长期可取性。
例如,一个状态可能会总是得到一个低的直接奖赏但仍有较高的值,因为该状态的后续状态能获得
高的奖赏。或者反过来也是可能的。拿人类做类比,奖赏就象当前的快乐(奖赏高)和痛苦(奖赏
低),而值就像是我们在一个特定的环境中用更完善、更长远的目光来看我们有多开心或不开心。
从某种意义上说奖赏是主要的,而值是对奖赏的预测,是第二位的。没有奖赏就没有值,而估计值
的唯一目的就是获得更多的回报(总奖赏)。然而,我们在做决策和评价决策的时候考虑最多的却
是值。动作的选择是根据值来判断的。我们选择带来最高值的动作,而不是带来最高奖赏的动作,
因为这些带来最高值的动作在长期运行过程中获得的奖赏总和最多。
有些强化学习系统中还存在着第四个也是最后一个要素:环境模型。它模拟了环境的行为。例如,
给定一个状态和动作,这个模型可以预测必定导致的下一状态和下一奖赏。
5. 强化信号
强化信号可以从环境的状态中直接获得。例如:传感器检测到机器人与障碍物的距离信息小于给定
值时都可看做一个失败信号。倒立摆的角度大于一定值就可产生一个失败信号。强化信号也可从环
境的状态信息中间接获得,当环境的状态值达不到预期的要求时,也可以认为产生了一个失败的强
化信号。
强化信号r的取值可以是以下形式中的一种:
1)二值 {-1,0},其中-1表示失败,0表示成功。
2)介于[-1,1]区间的多个离散值,分段表示失败或成功的程度。
3)介于[-1,1]区间的实数连续值,能够更加细致地刻画成功和失败的程度。
从获取的时间看,强化信号分为立即回报和延时回报。
立即回报指学习Agent执行完动作后立即从环境中获得回报;延时回报指学习系统在以后的某个时
机,将从环境中获得的回报传给先前的决策,作为先前决策的回报。一般来说,立即回报越多,系
统的学习速度就越快。
Agent 对动作的搜索策略主要有贪婪策略和随机策略。贪婪策略总是选择估计报酬为最大的动作;
随机策略是用一个随机分布来根据各动作的评价值确定其被选择的概率,其原则是保证学习开始时
动作选择的随机性较大,随着学习次数的增大,评价值最大的动作被选择的相对概率也随之增大。
所有的强化学习算法的机制都是基于值函数和策略之间的相互作用,利用值函数可以改善策略,而
利用对策略的评价又可以改进值函数。强化学习在这种交互过程中,逐渐得到最优的值函数和最优
策略。
许多强化学习都基于一种假设,即Agent与环境的交互可用一个马尔可夫决策(MDP)过程来刻画:
1)可将Agent和环境刻画为同步的有限状态自动机
2)Agent和环境在离散的时间段内交互
3)Agent能感知到环境的状态,作出反应性动作
4)在Agent执行完动作后,环境的状态会发生变化
5)Agent执行完动作后,会得到某种回报
马尔可夫决策过程(MDP)可定义为4元组<S,A,P,R>。其中S为环境状态集合;A为Agent执行的
动作集合;P:S×A×S→[0,1]为状态转换概率函数,记为P(s'|s,a);R:S×A→IR为奖赏函数(IR为
实数集),记为r(s,a)。
马尔可夫决策本质:设系统在某任意时刻t的状态为s,则其Agent在时刻t执行动作a后使状态转变
到下一状态s'的概率P(s'|s,a),以及获得的顺时奖赏值r(s,a)都仅仅依赖于当前状态s和选择的动作
a,而与历史状态和历史动作无关,即“将来”与“现在”有关,而与过去有关。
如果在学习过程中Agent无需学习马尔可夫决策模型知识( 即T 函数和R 函数) ,而直接学习最优策
略,将这类方法称为模型无关法;而在学习过程中先学习模型知识,然后根据模型知识推导优化策
略的方法,称为基于模型法。由于不需要学习T 函数和R 函数,模型无关方法每次迭代计算量较小
但由于没有充分利用每次学习中获取的经验知识,相比基于模型法收敛要慢得多。
强化学习面临搜索和利用两难问题。由于搜索新动作能够带来长期的性能改善,因此搜索可以帮助
收敛到最优策略;而利用可以帮助系统短期性能改善,但可能收敛到次优解。我们把强调获得最优
策略的强化学习算法称为最优搜索型;而把强调获得策略性能改善的强化学习算法称为经验强化
型。强化学习所面临的环境类别, 基本上可以分为马尔可夫型环境和非马尔可夫型环境两种。