欢迎访问:沃派博客 每天不定时发布IT文章相关资讯
当前位置:沃派博客-沃派网 > IT文章 > 正文

是时候普及一下机器人素质教育了

01-15 IT文章

每次看到人类训练机器人,我都会很困惑一件事,那就是在如此残酷环境中培养出来的技能,到底能在现实世界中用上几回?

像是狠狠从背后踹它一脚,让它倒地后再爬起来;让两个机器人斗殴在地上疯狂摩擦;又或者是在十几米的高台不停地跳高高……

是时候普及一下机器人素质教育了

这么对待重金打造的机器人,先不说画面“不忍直视”,修理损耗难道不要钱的吗?

后来我明白了,这跟目前的技术路径有关。深度学习就是要进行大量的实践和训练,才能不断优化算法,直至机器人能够应对真实世界中各种各样的状况。

理论上讲,只要时间足够长、预算无上限,猴子也能用电脑写出文学著作,更何况是算力逆天的机器。

但这跟我们普通人又有什么关系呢?我们能否在有生之年用上(而且买得起)可靠解决问题的机器小助手呢?一万年太久,我们只争朝夕好吗?

最近,伯克利和谷歌大脑最新开发的强化学习算法——soft actor-critic(SAC),据说就现实世界的机器人学习,或许,有望改变一下训练机器人的古早思维。

今天我们就来聊聊,SAC会如何改变机器人的“成材之路”?

为什么想要一个rio的机器人,这么难?

在介绍SAC这个新算法之前,有必要先解释一下,是不是一定要有更好的机器人算法呢?或者说,这个算法到底能够改变什么?

这要从机器人在现实世界中遇到的挑战来解答。

首先,是目前的训练方式,决定了机器掌握新技能的速度还远远不够。

传统的机器学习算法,每次执行新任务时,都需要对原型设计进行参数调整,有的还需要重新收集数据进行训练,这就使得机器新技能所需的总时间迅速增加;

其次,现实场景中的无数意外,都有可能让机器出现故障。

真正在使用机器时,无论出现什么问题,比如断电或者网络延迟,机器都会以“死机”来应对危机。如果每次都要以“重启”来恢复作业,那应用机器人的价值何在?

以上都是效率问题,传统训练方式带来的成本困境,更是令研究人员愁到秃头。

无论是训练人员人为制造bug的暴力操作,还是执行器在种种复杂环境下的高频抖动,都会给硬件带来极大的磨损。这是机器人吗?这是钞票粉碎机啊!

当然,人类也不是没有想过办法。比如让机器人打游戏啦,设计仿真环境啦,这些努力都大大减少了对现实训练的依赖,但归根结底,都无法替代现实环境的多样性和随机性。最重要的,还是得打造一套专为现实世界机器人“量身定制”的算法。

真实世界的机器人,到底需要怎样的算法?

那么,这样一套算法应该具备哪些属性呢?

至少需要有这样几个关键要素:

1.良好样本复杂性。提供给算法的训练样本数量越多,机器获得数据标签的时间成本也就越低,返回的误差也更小,在强化学习中的表现自然也就越出色;

2.没有敏感的超参数。为了提高机器学习的性能和效果,往往需要对超参数进行优化,但在现实环境中,自然是参数调整越少越好。算法就需要最大限度地减少调整超参数的需求;

3.异步采样。真实世界中,难免会出现数据流终端、推理延迟等问题,要让机器在“重启”阶段也能够保持一定的持续性和稳定性,就必须将数据的收集和训练在确保在最小化的多个独立线程中进行。

4.动作平滑。为了防止大幅度动作或震动损坏硬件,因此,时间上具有关联和连贯性的探索就变得尤为重要了。

简单总结一下,如果我们相信未来真实世界中的机器人不可或缺,那么,要求它用无限长的时间、无限多的投入、无数次的碰壁去掌握这样那样的本领,显然不太明智。

如何让它自己进行有取舍、有现实意义的训练呢?SAC应声出现。

SAC成功的秘诀,就是心大

说了这么多,正主终于出现了。那么。究竟什么是SAC?

SAC,全称是Soft actor-critic。从名字不难看出,SAC也是基于Actor-Critic算法的逻辑,即actor(玩家)随机表演,critic(评委)随机打分,互相制衡下追求更好的表现(reward)。

不同的是,SAC对参数的态度十分“温柔”,它会自动权衡预期收益(最大化回报)和探索深度(最大化的不确定性),然后自动学习不是将其视为需要调整的“超参数”,从而获得最优策略。

这样带来的好处是,训练样本多样,还不需要频繁调整参数,学习效率高了很多。即使遇到最差的实验环境,也表现良好。

版权保护: 本文由 沃派博客-沃派网 编辑,转载请保留链接: http://www.bdice.cn/html/25611.html