强化学习(reinforcement learning)
目录 |
强化学习是人工智能中策略学习的一种,是一种重要的机器学习方法,又称再励学习、评价学习,是从动物学习、参数扰动自适应控制等理论发展而来.所谓强化学习是指从环境状态到动作映射的学习,以使动作从环境中获得的累积奖赏值最大。该方法不同于监督学习技术那样通过正例、反例来告知采取何种行为,而是通过试错(trial and error)来发现最优行为策略。常用的强化学习算法包括TD(Temporal Difference)算法、Q学习算法、Sarsa算法等。
强化学习是从动物学习、参数扰动自适应控制等理论发展而来,其基本原理是:
如果Agent的某个行为策略导致环境正的奖赏(强化信号),那么Agent以后产生这个行为策略的趋势便会加强。Agent的目标是在每个离散状态发现最优策略以使期望的折扣奖赏和最大。
强化学习把学习看作试探评价过程,Agent选择一个动作用于环境,环境接受该动作后状态发生变化,同时产生一个强化信号(奖或惩)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则是使受到正强化(奖)的概率增大。选择的动作不仅影响立即强化值,而且影响环境下一时刻的状态及最终的强化值。
强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是Agent对所产生动作的好坏作一种评价(通常为标量信号),而不是告诉Agent如何去产生正确的动作。由于外部环境提供了很少的信息,Agent必须靠自身的经历进行学习。通过这种方式,Agent在行动一一评价的环境中获得知识,改进行动方案以适应环境。
强化学习系统学习的目标是动态地调整参数,以达到强化信号最大。若已知r/A梯度信息,则可直接可以使用监督学习算法。因为强化信号r与Agent产生的动作A没有明确的函数形式描述,所以梯度信息r/A无法得到。因此,在强化学习系统中,需要某种随机单元,使用这种随机单元,Agent在可能动作空间中进行搜索并发现正确的动作。
强化学习主要应用在过程控制、调度管理、机器人控制、游戏比赛和信息检索等方面,其中最为广泛的莫过于智能控制及智能机器人领域。在过程控制领域中,典型的应用实例是倒摆控制系统和Archon系统;在调度管理中最成功的应用是Crites和Barto的电梯调度问题,它们将单步强化学习算法应用到一个4部电梯、10层楼的运行调度中;在游戏比赛中,最成功的应用是由Gerry Tesauro运用瞬时差分算法发明的Backgammon下棋游戏,它采用TD的误差来训练3层BP神经网络,达到了很高的水平;在机器人领域,HeePakBeen利用模糊逻辑和强化学习实现陆上移动机器人导航系统,Wilfriedllg利用强化学习使6足昆虫机器人学会6条腿协调动作,Christopher利用强化学习控制机器人手臂运动,Mataria采用改进的Q—Learning算法实现了4个机器人执行Foraging任务,张汝波等利用强化学习实现了智能机器人的避障行为学习;信息检索主要用于与Intemet有关的信息采集和信息过滤,即从海量的Web信息中查询出用户最为关心的信息。