机器人开发新思路——强化学习

Posted 阿木实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器人开发新思路——强化学习相关的知识,希望对你有一定的参考价值。

众所周知,机器人(Robot)是一种能够半自主或全自主工作的智能机器。机器人能够通过编程和自动控制来执行诸如作业或移动等任务,而在执行过程中,最常用的就是判断命令或逻辑。换句话来说,机器人之所以能够执行并输出我们所期望的结果,跟判断命令是离不开的。

今天我们就从判断逻辑的开发来模拟未来的机器人开发场景。首先来试想一个场景:老鼠走迷宫

图中绿色线条为迷宫的正确路线,起点至终点,需要通过26个路口。由此我们可以模拟出两种开发路径:

  • 按照最简单的开发方式来设计程序,在知道答案的前提下,进行26次正确判断,使老鼠走出迷宫。这种方式虽然开发过程比较繁琐,但好在小老鼠最省力。如果是更高难度等级的迷宫开发,这种方式就不太适用了。

  • 按照条件来设计程序,即每个路口都由小老鼠去自主尝试,直到找出正确的路线。这种方式虽然开发简单,但是费时费力。如果换一个更高难度等级的迷宫,小老鼠可能跑得没电了也没找到正确的路。

试想一下,有没有什么办法既能省去中间的复杂环节,又能减少程序员的开发精力,同时让小老鼠看起来更聪明呢?

利用强化学习的思路来解决

通过人为设置奖励函数,让小老鼠在仿真环境中自行运算、试错、碰壁,将一定量级的案例经验进行积累,小老鼠将自行生成出符合走出迷宫的最佳算法或经验集合。

当小老鼠在实际环境中每遇到一个路口需要判断时,它都会在经验集合中查找最适合的路径或算法,帮助它做出最合适的判断,从而达到比人类设计程序更适合的程序效果。

在这一开发过程中,案例积累的大部分工作是由机器自行学习完成的,机器学习的时间相对人类而言,耗时更短效率更高,且能够应对不同等级的迷宫场景,适用性更强。

由此我们可以看出:仅仅是在走迷宫这一机器人开发的小小场景中,强化学习就能发挥如此大的作用。若是在一个多自由度,多控制域,多场景等条件下的机器人开发,强化学习思路的机器人程序开发方式,是否有机会成为未来的主流方式?

近期,阿木实验室也利用强化学习的思路测试了我们的KKSwarm无人小车,接下来给大家展示我们的实验成果:

无人车通过强化学习有序跟车运输货物

如今,KKSwarm集群测试平台已经实现了强化学习理论到开发落地的衔接,并提供强化学习demo仿真环境与实际物理环境的映射,同时KKSwarm项目仍在不断的强化中,期待各位未来人工智能领域的领头羊与我们一道探索机器人的未来。

-END-

特别福利:为鼓励广大开发者开源,凡是基于KKSwarm系统研究出新算法,同时达到以下标准者,将给予相应现金奖励(按最高贡献只奖励一次),以达到共建开源项目的目的。

A类贡献者(奖励2万元),需同时满足以下要求:

1. 开源算法发表在SCI期刊;

2. 提供相应算法代码或下载链接;

3. 提供相应演示视频。

B类贡献者(奖励8千到1万元),需同时满足以下要求:

1. 成果发表在EI期刊;

2. 提供相应算法代码或下载链接;

3. 提供相应演示视频。

C类贡献者(奖励2千到5千元),需审核:

成果以论文、博客、教程等形式发表;或提供与众不同的演示视频。

可搭配学习的资料

1、开源项目地址:

https://github.com/amov-lab/kk-robot-swarm

https://github.com/kkswarm/kk-robot-swarm

2、Wiki资料:https://wiki.amovlab.com/public/misaro-doc/

以上是关于机器人开发新思路——强化学习的主要内容,如果未能解决你的问题,请参考以下文章

机器人自主学习新进展,百度飞桨发布四足机器人控制强化学习新算法

机器人自主学习新进展,百度飞桨发布四足机器人控制强化学习新算法

强化学习-动态规划精简版

强化学习教程来啦!贡献者来自中科院清华北大3位男神!

使用新的物理模拟引擎加速强化学习

1个GPU几分钟搞定强化学习训练,谷歌新引擎让深度学习提速1000倍丨开源