佐治亚理工学院的校园里,一个身高接近一米八、体重七八十公斤的“钢铁大块头”,正在踩满沙子的土坑里深一脚浅一脚地往前挪。它脚下不是平整的柏油路,而是松软的沙地、潮湿的草地、散落的碎石,还有或陡或缓的坡道和楼梯。每走一步,脚踝都会陷进沙里,整条腿像被人悄悄拽了一下。但它几乎没有停顿——歪一下、调整重心,又稳稳迈出下一步。
要换作我们普通人,在这种混合地形上走一圈,鞋里早灌满沙子,膝盖也得抗议好几回。但这台双足人形机器人却像在自家客厅散步一样,把所有能遇见的复杂路面全走了一遍。而且,教会它这项本领的方法,比现在流行的训练方式还更快、更便宜。连研究人员自己都没想到效果能这么好——甚至有些没“教”过的地形,它也走得有模有样。
这项让机器人学会“走野路”的工作,正是佐治亚理工学院机器学习和机器人团队的最新成果。机器学习博士生吴飞阳带领团队开发了一种全新的全身控制器,让这台笨重的双足人形机器人在真实环境中完成了一系列敏捷移动。他提出了一套训练机器人控制算法的全新思路,把一种叫“教师-学生学习”的强化学习方法彻底翻新了一遍,最终得到的控制器,计算开销大幅降低,实际表现却出奇地好。
“对于这种笨重、高大的双足人形机器人来说,大家以前从来没真正证明过,它能在这么严酷的地形上完成敏捷运动。可我们这套训练配方,不知怎么的,居然真的对各种地形和环境都管用。”吴飞阳这样形容实验的结果。说这番话时,他语气里还带着几分不敢相信。因为最初团队也根本不敢抱太高期望。
他们的预期很实在:在平地上能走稳,就已经算是成功了。至于凹凸不平的碎石路、软塌塌的湿草地和深浅不一的沙地,谁也不敢打包票。吴飞阳自己就说:“我们一开始的想法是,OK,在平地上挪两步好像还算合理。但同样的控制策略,能不能搞定崎岖地形——尤其是真实的室外环境?我们其实挺怀疑的。即使仿真里头看着不算太差,但也绝对没有好到让人觉得稳了。”
可实验结果偏偏就打破了这种怀疑。机器人不但走过来了,还走得很自然。更关键的是,他们所采用的那个训练框架,并没有因为地形变复杂而堆叠更贵的算力,反而是用了一种更“省”的方式来完成任务。这恰恰戳中了机器人控制领域一个长久的痛点:训练双腿在真实世界中站立、行走和应变,实在是太耗时间和太烧钱了。
先来说说为什么双足行走这么难。对机器人而言,两条腿走路意味着在大约每一秒的时间里,它都得反复做一连串微小的决定:重心往哪里移、脚踝弯多少度、膝盖什么时候打直、髋关节怎么配合摆动。每一步落地,地面的硬度、倾斜角度和脚下沙石的滑移都会回传不同的力,稍有迟疑,整个身体就会倾斜甚至摔下去。
这些控制指令不能提前写死,因为真实世界根本不存在两片完全一样的沙地。每一脚踩下去,都是全新的感觉。这就逼着机器人必须学会“随机应变”,而这正是强化学习的用武之地。
强化学习的思路非常朴素:让一个虚拟的“智能体”在仿真环境里自由探索,每做对一个动作就奖励,做错就惩罚。经过成千上万次的试错,它会自己总结出什么情况下该怎么调重心、怎么摆腿。可问题在于,机器人最终要走出仿真、踩在真实地面上,而仿真环境和真实世界之间永远隔着一层“现实鸿沟”:现实里有风、有光线变化、有电量不足时的动力衰减,还有泥土松软的触感和脚步轻微的打滑,这些细腻的信号很难一五一十地复制到仿真当中。所以传统思路是分两步走:先让一个“老师”在仿真里学成专家,然后把学到的经验和策略提炼出来,再传授给“学生”机器人。这个学生要带着老师的经验,在真实硬件上继续适应和调整。
这套教师-学生学习框架本身并不新鲜,用生活中的例子来理解简直再直白不过。你可以想象一位大学物理教授:他花了几十年时间搞科研,推导过无数方程,把宇宙从量子到星系的规律都摸得烂熟。当他站上讲台教大一的力学课时,当然不会一上来就让学生解薛定谔方程,而是先教他们理解“力是改变运动状态的原因”这种根本原则,教他们画受力图、分析碰撞、推导抛物线。这些是物理世界的“操作系统”,有了它们,学生回过头来面对从来没见过的题目,也能自己推导出答案,而不需要老师提前把每道题的标准答案都背给他。
在机器人训练中,“老师”就像一个在仿真世界里拥有上帝视角的教授。它可以拿到所有在现实中根本测量不到的数据——地面的绝对摩擦系数、每粒沙子的三维坐标、重力的精确方向、甚至关节内部每个电机的电流波纹。这些数据喂给老师,让它能像玩作弊版游戏一样,快速摸清环境规则、找出一套近乎完美的行走策略。然后,老师要把这套策略教给学生。但关键来了:老师不会告诉学生“在沙子上左脚要抬4.7厘米,脚掌外翻3.2度”,因为现实中的沙地千变万化,这种死记硬背的精确数值到了真实世界一秒就失效。老师教给学生的是抽象的运动原则,比如如何感知地面反作用力、如何动态调整重心,这样学生就能应对从未见过的地形,走得跟老师一样稳。
热门跟贴