1、强化学习目录l引言l强化学习发展史l强化学习简介l强化学习算法l强化学习应用l未来展望引言在连接主义学习中,在学习的方式有三种:非监督学习(unsupervised learning)、监督学习(supervised leaning)和强化学习。监督学习也称为有导师的学习,需要外界存在一个“教师”对给定输入提供应有的输出结果,学习的目的是减少系统产生的实际输出和预期输出之间的误差,所产生的误差反馈给系统来指导学习。非监督学习也称为无导师的学习。它是指系统不存在外部教师指导的情形下构建其内部表征。学习完全是开环的。什么是强化学习生物进化过程中为适应环境而进行的学习有两个特点:一是人从来不是静止的
2、被动的等待而是主动的对环境作试探;二是环境对试探动作产生的反馈是评价性的,生物根据环境的评价来调整以后的行为,是一种从环境状态到行为映射的学习,具有以上特点的学习就是强化学习。强强化化学学习习(reinforcement learning)又称为再励学习,是指从环境状态到行为映射的学习,以使系统行为从环境中获得的累积奖励值最大的一种机器学习方法,智能控制机器人及分析预测等领域有许多应用。强化学习发展史强化学习技术是从控制理论、统计学、心理学等相关学科发展而来,最早可以追溯到巴甫洛夫的条件反射实验。1911年Thorndike提出了效果律(Law of Effect):一定情景下让动物感到舒服的
3、行为,就会与此情景增强联系(强化),当此情景再现时,动物的这种行为也更易再现;相反,让动物感觉不舒服的行为,会减弱与情景的联系,此情景再现时,此行为将很难再现。动 物 的 试 错 学 习,包 含 两 个 含 义:选 择(selectional)和联系(associative),对应计算上的搜索和记忆。强化学习的研究发展史可分为两个阶段。第一阶段是50年代至60年代,为强化学习的形成阶段。1954年,Minsky在他的博士论文中实现了计算上的试错学习,并首次提出“强化学习”术语。最有影响的是他的论文“通往人工智能的阶梯”(Minsky,1961),这篇文章讨论了有关强化学习的几个问题,其中包括他
4、称为信誉分配的问题:怎样在许多的、与产生成功结果有关的各个决策中分配信誉。后来,Farley和Clark的兴趣从试错学习转向泛化和模式识别,也就是从强化学习转向监督学习,这引起了几种学习方法之间的关系混乱。由于这些混乱原因,使得真正的试错学习在二十世纪六、七十年代研究得很少。第二阶段是强化学习的发展阶段。直到上世纪八十年代末、九十年代初强化学习技术才在人工智能、机器学习和自动控制等领域中得到广泛研究和应用,并被认为是设计智能系统的核心技术之一。强化学习的发展历程1956 Bellman提出了动态规划方法1977 Werbos提出自适应动态规划方法1988 Sutton提出了TD算法1992 W
5、atkins提出了Q学习算法1994 Rummery等提出了SARSA学习算法1996 Bertsekas等提出了解决随机过程优化控制的神经动态规划方法1999 Thrun提出了部分可观测马尔科夫决策过程中的蒙特卡罗方法2006 Kocsis等提出了置信上限树算法2009 Lewis等提出了反馈控制自适应动态规划算法2014 Silver等提出确定性策略梯度算法 国内发展现状强化学习在国内处于发展阶段,并取得一定成绩。杨璐采用强化学习中的TD算法对经济领域的问题进行预测;蒋国飞将Q学习应用在倒立摆控制系统,并通过对连续空间的离散化,证明了在满足一定条件下的Q学习的收敛性;张健沛等对连续动作的强
6、化学习方法进行了研究,并将其应用到机器人避障行为中。随着强化学习的数学基础研究取得突破性进展后对强化学习的研究和应用成为目前机器学习领域的研究热点之一。主要内容包括:1)连续状态和连续动作问题;2)与遗传算法与神经网络的结合;3)不完全感知问题;4)强化学习算法的规划规则抽取和偏差。工作原理强化学习是一种在线的、无导师机器学习方法。在强化学习中,我们设计算法来把外界环境转化为最大化奖励量的方式的动作。我们并没有直接告诉主体要做什么或者要采取哪个动作,而是主体通过看哪个动作得到了最多的奖励来自己发现。主体的动作的影响不只是立即得到的奖励,而且还影响接下来的动作和最终的奖励。强化学习与其他机器学习
7、任务(例如监督学习)的显著区别在于,首先没有预先给出训练数据,而是要通过与环境的交互来产生,其次在环境中执行一个动作后,没有关于这个动作好坏的标记,而只有在交互一段时间后,才能得知累积奖赏从而推断之前动作的好坏。例如,在下棋时,机器没有被告知每一步落棋的决策是好是坏,直到许多次决策分出胜负后,才收到了总体的反馈,并从最终的胜负来学习,以提升自己的胜率。学习者必须尝试各种动作,并且渐渐趋近于那些表现最好的动作,以达到目标。尝试各种动作即为试错,也称为探索,趋近于好的动作即为强化,也称为利用。探索与利用之间的平衡,是强化学习的一个挑战。探索多了,有可能找到差的动作,探索少了,有可能错过好的动作。总
8、体趋势:探索变少,利用变多。举例1如果通过几次尝试,走位置1比走位置2赢棋的可能大,得出经验,则为强化学习。举例2一个机器人在面临:进入一个新房间去寻找更多垃圾、寻找一条回去充电的路两个命令选择时根据以前找到充电器的快慢和难易程度来作决定。这是以前与环境交互得到的经验。举例3一个进行石油提炼操作的搅拌控制器。该控制器逐步优化产量/成本/质量之间的平衡而不是严格按照工程师的最初设置来搅拌。这些例子中,随时间推移,学习者利用它获得的经验不断提高自己的性能。简言之,强化学习就是试出来的经验。它们都涉及一个积极作决策的Agent和它所处的环境之间的交互,尽管环境是不确定的,但是Agent试着寻找并实现
9、目标。Agent的动作允许影响环境的未来状态(如下一个棋子的位置,机器人的下一位置等),进而影响Agent以后可利用的选项和机会。强化学习模型 定义 Agent(学习的主体,如小猫、小狗、人、机器人、控制程序等)其中,Agent具有特点如下:1、能感知环境的状态 2、选择动作(可能会影响环境的状态)3、有一个目标(与环境状态有关的)Agent以最终目标为导向,与不确定的环境之间进行交互,在交互过程中强化好的动作,获得经验。在强化学习中,Agent 选择一个动作a作用于环境,环境接收该动作后发生变化,同时产生一个强化信号(奖或罚)反馈给Agent,Agent再根据强化信号和环境的当前状态s 再选
10、择下一个动作,选择的原则是使受到正的奖赏值的概率增大。Agent环境奖赏值 R状态 S动作 ActionAgent环境奖赏值 R状态 S动作 Action选择的动作不仅影响立即奖赏值,而且还影响下一时刻的状态及最终强化值。强化学习的目的就是寻找一个最优策略,使得Agent在运行中所获得的累计报酬值最大。强化学习基本要素除了Agent和环境之外,强化学习系统的四个主要子要素:策略(policy)、奖赏函数(reward function)、值函数(value function)和一个可选的环境模型(model)。PolicyRewardValueModel ofenvironmentIs unk
11、nownIs my goalIs I can getIs my method四要素之间的包含关系策略策略定义了Agent在给定时间内的行为方式。简单地说,一个策略就是从环境感知的状态到在这些状态中可采用动作的一个映射。对应在心理学中被称为刺激-反应的规则或联系的一个集合。在某些情况下策略可能是一个简单函数或查找表,而在其他情况下策略可能还涉及到大量计算。策略在某种意义上说是强化学习Agent的核心。奖赏函数奖赏函数定义了在强化学习问题中的目标。简单地说,它把环境中感知到的状态(或状态-动作对)映射为单独的一个数值,即奖赏(reward),表示该状态内在的可取程度。强化学习Agent的唯一目标就
12、是最大化在长期运行过程中收到的总奖赏。奖赏函数定义了对Agent来说什么是好和坏的事件。在生物系统中,用愉快和痛苦来定义奖赏似乎有些不合适。而奖赏是Agent所面对的问题的直接的和规定性的特征。正因为这样,奖赏函数必须是Agent所不能改变的,但是它可以是调整策略的基础。值函数对于一个策略,如果我们可以在一个状态上就看到这个策略未来将会取得的累积奖赏,这将为强化学习带来很大的方便,提供这种功能的函数在强化学习中称为值函数(Value function)。奖赏决定了环境状态的直接、内在的可取性,而值表示的是把可能的后续的状态以及在这些状态中可获得的奖赏考虑在内的状态的长期可取性。例如,一个状态可
13、能会总是得到一个低的直接奖赏但仍有较高的值,因为该状态的后续状态能获得高的奖赏。或者反过来也是可能的。拿人类做类比,奖赏就象当前的快乐(奖赏高)和痛苦(奖赏低),而值就像是我们在一个特定的环境中用更完善、更长远的目光来看我们有多开心或不开心。从某种意义上说奖赏是主要的,而值是对奖赏的预测,是第二位的。没有奖赏就没有值,而估计值的唯一目的就是获得更多的回报(总奖赏)。然而,我们在做决策和评价决策的时候考虑最多的却是值。动作的选择是根据值来判断的。我们选择带来最高值的动作,而不是带来最高奖赏的动作,因为这些带来最高值的动作在长期运行过程中获得的奖赏总和最多。环境模型有些强化学习系统中还存在着第四个
14、也是最后一个要素:环境模型。它模拟了环境的行为。例如,给定一个状态和动作,这个模型可以预测必定导致的下一状态和下一奖赏。强化信号 1.强化信号可以从环境的状态中直接获得。例如:传感器检测到机器人与障碍物的距离信息小于给定值时都可看做一个失败信号。倒立摆的角度大于一定值就可产生一个失败信号。2.强化信号也可从环境的状态信息中间接获得,当环境的状态值达不到预期的要求时,也可以认为产生了一个失败的强化信号。强化信号r的取值可以是以下形式中的一种:1)二值-1,0,其中-1表示失败,0表示成功。2)介于-1,1区间的多个离散值,分段表示失败或成功的程度。3)介于-1,1区间的实数连续值,能够更加细致地
15、刻画成功和失败的程度。从获取的时间看,强化信号分为立即回报和延时回报。立即回报指学习Agent执行完动作后立即从环境中获得回报;延时回报指学习系统在以后的某个时机,将从环境中获得的回报传给先前的决策,作为先前决策的回报。一般来说,立即回报越多,系统的学习速度就越快。Agent 对动作的搜索策略主要有贪婪策略和随机策略。贪婪策略总是选择估计报酬为最大的动作;随机策略是用一个随机分布来根据各动作的评价值确定其被选择的概率,其原则是保证学习开始时动作选择的随机性较大,随着学习次数的增大,评价值最大的动作被选择的相对概率也随之增大。所有的强化学习算法的机制都是基于值函数和策略之间的相互作用,利用值函数
16、可以改善策略,而利用对策略的评价又可以改进值函数。强化学习在这种交互过程中,逐渐得到最优的值函数和最优策略。什么是马尔可夫决策(MDP)许多强化学习都基于一种假设,即Agent与环境的交互可用一个马尔可夫决策(MDP)过程来刻画:1)可将Agent和环境刻画为同步的有限状态自动机2)Agent和环境在离散的时间段内交互3)Agent能感知到环境的状态,作出反应性动作4)在Agent执行完动作后,环境的状态会发生变化5)Agent执行完动作后,会得到某种回报马尔可夫决策过程(MDP)可定义为4元组。其中S为环境状态集合;A为Agent执行的动作集合;P:SAS0,1为状态转换概率函数,记为P(s
17、|s,a);R:SAIR为奖赏函数(IR为实数集),记为r(s,a)马尔可夫决策本质:设系统在某任意时刻t的状态为s,则其Agent在时刻t执行动作a后使状态转变到下一状态s的概率P(s|s,a),以及获得的顺时奖赏值r(s,a)都仅仅依赖于当前状态s和选择的动作a,而与历史状态和历史动作无关,即“将来”与“现在”有关,而与过去有关。强化学习分类如果在学习过程中Agent无需学习马尔可夫决策模型知识(即T 函数和R 函数),而直接学习最优策略,将这类方法称为模型无关法;而在学习过程中先学习模型知识,然后根据模型知识推导优化策略的方法,称为基于模型法。由于不需要学习T 函数和R 函数,模型无关方
18、法每次迭代计算量较小但由于没有充分利用每次学习中获取的经验知识,相比基于模型法收敛要慢得多。强化学习面临搜索和利用两难问题。由于搜索新动作能够带来长期的性能改善,因此搜索可以帮助收敛到最优策略;而利用可以帮助系统短期性能改善,但可能收敛到次优解。我们把强调获得最优策略的强化学习算法称为最优搜索型;而把强调获得策略性能改善的强化学习算法称为经验强化型。强化学习所面临的环境类别,基本上可以分为马尔可夫型环境和非马尔可夫型环境两种。强化学习方法1.动态规划法2.蒙特卡罗方法3.时间差分学习方法动态规划法动态规划方法是由Bellman 方程转化而来,通过修正Bellman 方程的规则,提高所期望值函数
19、的近似值。常用算法有两种:值迭代(Value Iteration)和策略迭代(Policy Iteration)(策略、T 函数和R函数已知)状态值函数更新Bellman最优方程值迭代是在保证算法收敛的情况下,缩短策略估计的过程,每次迭代只扫描(sweep)了每个状态一次。而策略迭代算法包含了一个策略估计的过程,而策略估计则需要扫描所有的状态若干次,其中巨大的计算量直接影响了策略迭代算法的效率。动态规划方法通过反复扫描整个状态空间,对每个状态产生可能迁移的分布,然后利用每个状态的迁移分布,计算出更新值,并更新该状态的估计值,所以计算量需求会随状态变量数目增加而呈指数级增长,从而造成“维数灾”问
20、题。蒙特卡罗方法蒙特卡罗方法(Monte Carlo methods:MC)是一种模型无关(model free)的,解决基于平均样本回报的强化学习问题的学习方法。(它用于情节式任务(episode task),不需要知道环境状态转移概率函数T和奖赏函数R,只需要智能体与环境从模拟交互过程中获得的状态、动作、奖赏的样本数据序列,由此找出最优策略)MC算法的状态值函数更新规则为:其中,Rt为t时刻的奖赏值,为步长参数时间差分学习方法时间差分(Temporal-Difference,TD)学习方法是一种模型无关的算法,它是蒙特卡罗思想和动态规划思想的结合,一方面可以直接从智能体的经验中学习,建立环
21、境的动态信息模型,不必等到最终输出结果产生之后,再修改历史经验,而是在学习过程中不断逐步修改。正因为这个特点使得TD 方法处理离散序列有很大的优势。(随后的TD算法介绍)强化学习算法到目前为止,研究者提出了很多强化学习算法,其中较有影响的有瞬时差分法(Temporal Difference Algorithm)、Q-学 习 算 法(Q-Learning Algorithm)、R-学 习 算 法(R-Learning Algorithm)、Sarsa算法、自适应评价启发算法(AHC)、分层强化学习(HRL)等等。其中,TD-算法和Q-学习算法属于典型的模型无关法,而Sarsa和Dyna-Q算法属
22、于基于模型法。顺时差分法TDTD算法是Sutton 在1988 年提出的用于解决时间信度分配问题的著名方法。TD 方法能够有效的解决强化学习问题中的暂态信用分配问题,可被用于评价值函数的预测。几乎所有强化学习算法中评价值的预测法均可看作TD 方法的特例,以至于通常所指的强化学习实际上就是TD 类强化学习。一步TD 算法,即TD(0)算法,是一种自适应的策略迭代算法,又名自适应启发评价算法(Adaptive Heuristic Critic,AHC)。所谓一步TD 算法,是指Agent 获得的瞬时报酬值仅回退一步,也就是说只是修改了相邻状态的估计值。TD(0)的算法迭代公式为:V(st)=V(s
23、t)+(rt+1+V(st+1)-V(st)(1)=(1-)V(st)+(rt+1+V(st+1)式中,为学习率,V(st)为Agent在t时刻访问环境状态st估计的状态值函数,V(st+1)指Agent在t+1时刻访问环境st+1估计的状态值函数,rt+1指Agent从状态st向状态st+1转移时获得的瞬间奖赏值。学习开始时,首先初始化V值,然后Agent在st状态,根据当前决策确定动作at,得到经验知识和训练例st,at,st+1,rt+1;其次根据经验知识,依据上式修改状态值函数,当Agent访问目标状态时,算法终止一次迭代循环。算法继续从初始状态开始新的迭代循环,直至学习结束。TD 算
24、法可扩充到TD()算法,即Agent 获得的瞬时报酬值可回退任意步。TD()算法的收敛速度有很大程度上的提高。其迭代公式为:V(s)=V(s)+(rt+1+V(st+1)-V(s)e(s)(2)式中,e(s)定义为状态s的选举度。其中e(s)可通过以下方式计算:奖赏值向后传播t步。当前状态历史t步中,如果一个状态被多次访问,则其选举度e(s)越大,表明其对当前奖赏值的贡献越大,并通过式(2)迭代修改。TD()算法较TD(0)算法在收敛速度有很大程度的提高,但是由于TD()在递归过程中的每个时间步要对所有的状态进行更新,当状态空间较大时,难以保证算法的实时性。Q-学习算法Q-学习可以看作一种增量
25、式动态规划,它通过直接优化一个可迭代计算的动作值函数Q(s,a),来找到一个策略使得期望折扣报酬总和最大的E(s),而非TD 算法中的状态值V(s),其中E(s)=maxQ(s,a)。这样,Agent 在每一次的迭代中都需要考察每一个行为,可确保学习过程收敛。其中Q(s,a)指状态s执行完动作a后希望获得的累积回报,它取决于当前的立即回报和期望的延时回报。Q值得修改方法:Q(s,a)=(1-)Q(s,a)+(r+E(s)(3)式中:r是当前的立即回报,E(s)指示期望的延时回报,代表学习率,她随学习的进步而逐渐变小,直到为0,其满足1。是一个对延时回报的折扣因子,越大,未来回报的比重越大,其满
26、足0。实际上,Q(s,a)的新值就是原Q值和新Q估计值(即r+E(s)的组合,组合的比例依赖于学习率。Q学习的一般步骤:1)初始化 以随机或某种策略方式初始化所有的Q(s,a),选择一种状态作为环境的初始状态。2)观察当前环境状态,设为s;3)执行该动作a;4)设r为在状态s执行完动作a后所获得的立即回报;5)根据式(3)更新Q(s,a)的值,同时进入下一新状态s。上述和都是可调的学习参数,当为1时,原有的Q(s,a)值对新Q值没有任何影响,学习率很高,但容易造成Q值不稳定;若为0时,则Q(s,a)保持不变,学习过程静止。并且Q的初值越靠近最优值,学习的过程越短,即收敛得越快。Q-学习算法可最
27、终收敛于最优值。Q 函数的实现方法主要有两种方式:一种是采用查找(look-up)表法,也就是利用表格来表示Q 函数,另一种是采用神经网络来实现。1)采用查找(look-up)表法,也就是利用表格来表示Q 函数,表的大小等于S*A的笛卡儿乘积中元素的个数。当环境的状态集合S,Agent可能的动作集合A较大时,Q(s,a)需要占用大量的内存空间,而且也不具有泛化能力。2)采用神经网络实现Q-学习时,网络的输出对应每个动作的Q值,网络的输入对应环境状态的描述。神经网络保存的是输入与输出之间的映射关系,所以占用的存储空间小,同时神经网络还具有泛华能力,但神经网络的缺点是计算量大,训练速度慢,而且还会
28、出现“训练不足”和“过度训练”现象。R-学习算法第一个基于平均报酬模型的强化学习算法是由Schwartz 提出的R-学习算法,它是一个无模型平均报酬强化学习算法。类似于Q-学习算法,用动作评价函数R(s,a)表达在状态s下执行以动作a为起点的策略的平均校准值,如式:其中,为策略的平均报酬,R-学习需要不断的循环,每次依据策略选择s状态下的行为a执行。若a为贪婪动作,则的更新公式:其中,a(0,1)为学习率,控制动作评价函数估计误差的更新速度;(0,1)为平均报酬的更新学习率。随后,Singh对这基本的R-学习算法进行了改进,用实际获得的报酬作为样本来估计平均报酬,并在每个时间步对平均报酬进行更
29、新。Sarsa算法Sarsa算法最初被称为改进的Q-学习算法,一步Sarsa算法可用下式表示:Sarsa与Q学习的差别在于Q-学习采用的是值函数的最大值进行迭代,而Sarsa则采用的是实际的Q 值进行迭代。Sarsa 学习在每个学习步Agent依据当前Q 值确定下一状态时的动作;而Q-学习中依据修改后的Q 值确定动作,因此称Sarsa是一种在策略T D 学习。TD-学习算法、Sarsa学习算法、Q算法-学习这些算法在小规模离散空间的强化学习任务中有着非常出色的表现。函数近似强化学习虽然基于表格的经典算法(如TD算法、Q学习算法、Sarsa学习算法)在小规模离散空间的强化学习任务上表现不错,但更
30、多的实际问题中状态数量很多,甚至是连续状态空间,这时经典强化学习方法难以有效学习。特别对于连续状态空间离散化的方法,当空间维度增加时,离散化得到的状态数量指数增加,可见基于表格值的强化学习算法不适用于大规模离散状态或者连续状态的强化学习任务(造成维度灾难)。克服维度灾难的方法有:1)分层强化学习 把一个强化学习问题分解成一组具有层次的子强化学习问题,降低了强化学习问题的复杂度。2)迁移强化学习 侧重于如何利用一个已学习过的强化学习问题的经验提高另一个相似但不同的强化学习问题的学习性能。3)函数近似 将策略或者值函数用一个函数显示描述。函数近似法根据函数近似的对象不同划分,可以分为策略搜索和值函
31、数近似。策略搜索指直接在策略空间进行搜索,又分为基于梯度的方法和免梯度方法。基于梯度的方法:从一个随机策略开始,通过策略梯度上升的优化方法不断地改进策略;例如:策略梯度方法、自然策略梯度方法、自然演员-评论员方法等。免梯度方法:从一组随机策略开始,根据优胜劣汰的原则,通过选择、删除和生成规则产生新的一组策略,不断迭代这个过程以获取最优策略。例如:遗传算法、蚁群优化算法等。值函数近似:值函数近似指在值函数空间进行搜索,又分为策略迭代和值迭代。策略迭代:从一个随机策略开始,通过策略评估和策略改进 两个步骤不断迭代完成。例如:最小二乘策略迭代、改进的策略迭代等。值迭代:从一个随机值函数开始,每步迭代
32、更新改进值函数.由于天然的在线学习特性,值迭代是强化学习研究中的最重要的研究话题。而根据函数模型的不同划分,函数近似包括基于线性值函数近似的强化学习、基于核方法的强化学习、基于加性模型的强化学习和基于神经网络的强化学习。强化学习应用强化学习在大空间、复杂非线性系统中具有良好的学习性能,使其在实际中获得越来越广泛的应用。强化学习主要集中在有限资源调度,机器人控制、棋类游戏自动驾驶、机器人操控、推荐系统、信息检索等应用领域。在控制系统中的应用倒立摆控制系统是强化学习在控制中的应用的典型实例,当倒立摆保持平衡时,得到奖励,倒立摆失败时,得到惩罚。Williams 等人采用 Q 学习算法对倒立摆系统进
33、行实验研究,并与 AHC 方法进行比较分析。Tased以 Dyan Q 学习结合 BP 神经网络给出了一个生物反应控制实例;Klopf 以二自由度的机械手控制为例,研究了强化学习在非线性系统自适应控制上的实用方法;Berenji 采用硬件实现一种动作评价随机学习方法,成功完成了插栓入空任务和小球平衡器的控制任务。在游戏比赛中的应用游戏比赛在人工智能领域中始终是一个研究的问题,许多学者也正研究把强化学习理论应用到游戏比赛中。最早应用的例子是Samuel的下棋程序,在强化学习用于单人游戏方面近年最受关注的工作,是2013 年Google DeepMind 团队在NIPS的深度学习Workshop
34、上提出的DQN(Deep Q-networks)算法 通过直接输入游戏的原始视频作为状态进行强化学习,在雅达利(Atari)游戏平台中7 款游戏的6 款上都超过了以往的算法,并在其中3 款游戏超过了人类水平。该工作2015 年扩展发表在Nature 上,在49 款游戏上达到了人类水平。在人工智能问题中的应用强化学习算法与理论的研究为人工智能的复杂问题求解开辟了一条新的途径,强化学习的基于多步序列决策的知识表示和基于尝试与失败的学习机制能够有效地解决知识的表示和获取的问题。目前,强化学习在人工智能的复杂问题求解中已经取得了若干研究成果,其中有代表性的是Tesauro的TD-Gammon 程序,该
35、程序采用前馈神经网络作为值函数逼近器,通过自我学习对弈实现了专家级的Back-Gammon 下棋程序。其他的相关工作包括Thrun研究的基于强化学习的国际象棋程序,并取得了一定的进展。在调度管理中的应用调度是一个随机优化控制问题的例子,具有很大的经济价值。Crites和Barto将强化学习算法用于一个 4 个电梯、10 层楼的系统中。每一个电梯都有各自的位置、方向、速度和一系列表示乘客要离开的位置状态。这个系统的状态集合超过 1022个,用传统的动态规划方法(如值迭代法)很难管理。Crites和Barto采用平均等待时间的平方作为电梯调度算法的性能,用反川算法训练表示Q函数的神经网络,与其它算
36、法相比较,强化学习更加优越。在机器人领域中的应用近年来国际上兴起了把强化学习应用到智能机器人行为学习的领域,其中包括单个自主机器人行为的学习和多个机器人群体行为的学习。Maes和Brooks在“六腿”机器人的行走研究中,提出一个分布式学习机理来进行行为选择学习,事先定义一个行为集和相应的二进制的感知状态集,根据传感器信息反映为感知状态的“0”或“1”状态,并选择相应的行为。Santamaria和Ram提出基于case推理的强化学习自适应反射式控制器用于移动机器人的导航控制,Hagras提出了一种既有模糊神经网络的滞后更新多步Q学习算法实现移动机器人的导航问题,张汝波用Actor-Critic学
37、习系统来学习移动机器人避障问题。Turcher Balch提出Clay控制结构应用于机器人足球赛,不同于基于行为控制结构的强化学习,他将强化学习motor schemas有机结合,使得系统既具有强化学习的自适应能力,又有motor schemas的实时性能。Mataric利用改进的Q学习算法实现四个机器人执行foraging任务,事先利用领域知识将状态空间到动作空间的映射转化为条件行为来压缩状态空间的规模,加速学习。一些著名大学都建立了学习机器人实验室,比如,MIT的Learning and Intelligent Systems 实验室,该实验室的主要兴趣包括动态环境下机器人的学习行为、理解
38、能力等的研究;CMU 的Artificial Intelligence 实验室,该实验室主要研究规划、知识表示以及多机器人系统和博弈论;国内的中国科技大学Multi-agent Systems 实验室,该实验室主要以蓝鹰仿真、蓝鹰四腿机器人为平台研究多智能体系统;广东工业大学建立了智能机器人研究室,RoboCup 中型组比赛为实时检验平台,以机器人足球比赛仿真组2D 或2D 比赛平台为仿真实验平台来研究多自主移动机器人的视觉子系统、决策子系统、通信子系统和运行控制子系统等。在多智能体中的应用多智能体系统(multi-agent system,MAS)是由多个Agent 构成的系统,可泛指所有由
39、多个自治或者半自治模块组成的系统。典型的强化学习算法采用状态-动作来表示行为策略,因而不可避免地出现学习参数随状态变量维数呈指数级增长的现象,即维数灾难。目前,解决维数灾难问题的方法大致有四种:状态聚类法、有限策略空间搜索法、值函数近似法和分层强化学习法。分层强化学习是通过在强化学习的基础上增加抽象机制,把整体任务分解为不同层次上的子任务,使每个子任务在规模较小的子空间中求解,并且求得的子任务策略可以复用,从而加快问题的求解速度。实例14*4棋盘中单一棋子的移动问题0-1-1-1-1-1-1-1-1-1-1-1-1-1-10该问题共有16个状态,棋子的动作包括在棋盘内向相邻的格子上移、下移、左
40、移和右移;问题目标:以最少的移步从初始位置到达棋盘的左上角或右下角。问题转化:求一个动作序列,使其累积回报最大。用Q-学习算法求解上述问题,设置一个16*4的矩阵Q-表(如全部合法操作所对应的矩阵元素设为1,其余为某个绝对值较大的负数),将其初始化,并设计相关参数(、等)。然后随机生成初始状态,按照Q-学习算法用Q-表的值选择相应动作,同时修改Q值。经过若干个例子的运行后,Q-表将逐步收敛,此时E(s)基本形成右表分布,其中A0A1A2A3,Ai表示E(s)的值A0A1A2A3A1A2A3A2A2A3A2A1A3A2A1A000E(s)实际上反映了相应状态s的期望价值,逐步收敛后得到最优决策策
41、略。表示最优动作为上移 表示最优动作为下移或左移 表示最优动作为4个方向均可实例2TD法解决问题一 个 玩 家 划“”而 另 一 个 划“O”,直到一个玩家在水平、垂直或对角线方向上划上三个标记成为一行为止。所有能在同一直线上形成三个“”的状态的获胜概率为1;所有在同一直线上有三个“O”,或“填满”的状态,获胜的概率则为0;把所有其他状态的初始值设为0.5,表示有50%的机会可以获胜。令s表示贪心走棋之前的状态,s表示走棋之后的状态,对估计值的更新,记为V(s)V(s)=V(s)+V(s)-V(s)其中是一个很小的正分数,称为步长参数,它能影响学习的速度。在大多数情况下我们采用贪心策略,选择会
42、导致状态值最大的走棋方式,即有最高的估计获胜概率。但是有时候,我们也会随机选择一些其他走棋方式。这些称为探索(exploratory)走棋方式,因为它们会引导我们去经历一些以前没有遇到过的状态。实线表示游戏中的走棋;虚线表示我们(强化学习玩家)考虑过但是没有做出的走棋。探索性走棋那一步不产生任何学习效果。课题强化学习系统结构图在课题中的应用1.航迹规划(基于深度学习、神经网路、Q学习算法)本质上是搜索满足约束条件的最优航迹。主要内容包括:1)规划空间离散化2)用回报函数进行形式化表达3)策略构造郝钏钏,方舟,李平.基于Q学习的无人机三维航迹规划算法J.上海交通大学学报,2012,46(12):
43、1931-1935.2.目标识别 将Q 学习算法与UAV 未知环境下目标搜索问题相结合强化学习在UAV 目标搜索中的应用比较少,且UAV高机动性等要求以及战场环境复杂性等特点使得强化学习在状态动作集合的定义及行为策略选择上要比机器人更复杂。因此,以强化学习为基础的UAV 目标搜索技术具有重要的理论研究意义和实际应用价值。张晶晶,周德云,张堃.一种基于强化学习的UAV目标搜索算法J.计算机应用研究,2011,28(10):3659-3661.展望强化学习的目标是得到最大的累积奖赏。为了实现这一目标,一方面需要“利用”,即利用已经学习到的经验来选择奖赏最高的动作,使系统向好的状态转移。另一方面,需
44、要“探索”,即通过充分地掌握环境信息,发现能得到更高奖赏的状态,避免陷入局部最优。使得强化学习方法陷入了一个“探索-利用”困境:只有既充分地探索环境,又利用已学到的知识才能最大化累积奖赏。因此,探索利用的平衡成为了强化学习研究者们一直密切关注的热点。强化学习的学习机制表明它是不断地与环境交互,以试错的方式学习得到最优策略,是一种在线学习方法 然而,现实中有很多问题需要在离线的评估后再给出决策。目前的一个研究趋势是用离线估计来处理上下文赌机(contextual bandit)问题。目前已经有人建议创建强化学习的离线数据库,可是现有的离线估计算法还不够成熟,有待进一步发展。强化学习的另一个局限在
45、于合适的奖赏信号定义.强化学习通过最大化累积奖赏来选择最优策略,奖赏很大程度上决定了策略的优劣.现阶段奖赏是由研究人员凭借领域知识定义,一个不合理的奖赏势必会很大程度上影响最终的最优策略。有学者已经开始尝试借助人类的导师信号来改进原有的强化学习算法,使机器人能够更好地学习到期望动作。因此,对于奖赏信号的研究将会是强化学习未来发展的一个潜在热点。强化学习和认知科学的交叉研究是另一个研究趋势;此外,有模型和无模型的强化学习方法在动物决策问题研究上得到了相应的解释,因此,以强化学习为切入点的认知模型研究将成为未来的一个研究趋势。强化学习在复杂、不确定系统中的优化控制问题,对于推动工业、航空、军事等各领域的发展有重要的意义,特别是对于多自主移动机器人系统来说,强化学习是实现具有自适应性、自学习能力的智能机器人的重要途径,为解决智能系统的知识获取这个瓶颈问题提供一个可行之法。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100