欢迎来到天天文库
浏览记录
ID:29440877
大小:92.22 KB
页数:17页
时间:2018-12-19
《java坦克机器人系列强化学习》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Java坦克机器人系列强化学习人工智能Java坦克机器人系列:强化学习文档选项[img,8,1]//www.ibm.com/i/c.gif[img,16,16]//www.ibm.com/i/v14/icons/printer.gif[url=javascript:print()]打印本页[/url]');//--[url=javascript:print()]打印本页[/url][img,8,1]//www.ibm.com/i/c.gif[img,16,16]//www.ibm.com/i/v14/icons/em.gif[
2、url=javascript:document.email.submit();]将此页作为电子邮件发送[/url]');//--[url=javascript:document.email.submit();]将此页作为电子邮件发送[/url][img,8,1]//www.ibm.com/i/c.gif[img,16,16]//www.ibm.com/i/c.gif未显示需要JavaScript的文档选项级别:中级编程游戏爱好者,自由撰稿人本文中,我们将使用强化学习来实现一个机器人。使用强化学习能创建一个自适应的战斗机器人。这
3、个机器人能在战斗中根据环境取得最好的策略,并尽力使战斗行为最佳。并在此过程中不断学习以完善自身不足。Robocode是IBM开发的Java战斗机器人平台,游戏者可以在平台上设计一个Java坦克。每个坦克有个从战场上收集信息的感应器,并且它们还有一个执行动作的传动器。其规则和原理类似于现实中的坦克战斗。其融合了机器学习、物理、数学等知识,是研究人工智能的很好工具。在Robocode坦克程序中,很多爱好者喜欢设计一些策略与移动模式,让自己的坦克机器人能更好的赢得战斗。但是由于Robocode环境时刻在变化,手写的代码只能对已知的环
4、境做一些预测,机器人不能根据环境的变化而自我学习和改善。本文中,将用强化学习实现一个机器人。使用强化学习能创建一个自适应的战斗机器人。这个机器人能在战斗中根据环境取得最好的策略,并尽力使战斗行为最佳。并在此过程中不断学习以完善自身不足。强化学习强化学习(reinforcementlearning)是人工智能中策略学习的一种,是一种重要的机器学习方法,又称再励学习、评价学习.是从动物学习、参数扰动自适应控制等理论发展而来.强化学习一词来自于行为心理学,这一理论把行为学习看成是反复试验的过程,从而把动态环境状态映射成相应的动作。它
5、通过不断尝试错误,从环境中得到奖惩的方法来自主学习到不同状态下哪些动作具有最大的价值,从而发现或逼近能够得到最大奖励的策略。它类似于传统经验中的"吃一堑长一智"。原理与模型考虑建造一个可学习的机器人,该机器人(或agent)有一些传感器可以观察其环境的状态(state)并能做出一组动作(action)来适应这些状态。比如:一个移动的机器人有摄像头等传感器来感知状态,并可以做"前进","后退"等动作。学习的任务是获得一个控制策略(policy),以选择能达到的目的的行为。强化学习基本原理也是基于上面的思想:如果Agent的某个行
6、为策略导致环境正的奖赏(强化信号),那么Agent以后产生这个行为策略的趋势便会加强。Agent的目标可被定义为一个奖赏或回报函数(reward),它对Agent从不同状态中选取的不同动作赋予一个数字值,即立即支付(immediatepayoff)。比如机器人寻找箱子中的回报函数:对能找到的状态-动作赋予正回报,对其他状态动作赋予零或负回报。机器人的任务执行一系列动作,观察结果,再学习控制策略,我们希望的控制策略是在任何初始离散状态中选择动作,使Agent随时间累积中发现最优策略以使期望的折扣奖赏(回报)和最大。如图描述:Ag
7、ent选择一个动作(action)用于环境,环境(Enviironment)接受该动作后状态(state)发生变化,同时产生一个强化信号(奖赏reward)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则是使受到正强化(奖)的概率增大。强化学习的基本模型Q学习(Q-learning)增强学习要解决的问题:一个能够感知环境的自治Agent,怎样通过学习选择达到其目标的最优动作。这样一个Agent在任意的环境中如何学到最优策略是我们要重点考虑的对象,下面介绍的称为Q学习的算法,就是其中比较好的一种
8、强化学习算法,它可从有延迟的回报中获取最优控制策略。Q学习是强化学习的一种形式,机器人在任意的环境中直接学习最优策略很难,因为训练数据中没有提供s,a形式的训练样例。而通过学习一个定义在状态和动作上的数值评估函数,然后以此评估函数的形式实现最优策略将会使过程变得容易。我们在Q
此文档下载收益归作者所有