在本周的AI大会上,Google展示可为
机器人加入AI能力,使机器人能为自己写程序,而不必再通过大量资料训练。
Google研究科学家Andy Zeng说明,控制机器人最常见的方法是写程序让它们侦测物体、串行指令来推进制动器及反馈循环(feedback loop),命令机器人该做什么。但是为每一项新任务撰写规则,却相当耗时,且需要领域知识。
现代AI语言模型已越来越强大,例如Google今年初发布的PaLM具备复杂的理解能力,这类语言模型以数百万程序加以训练而成,只要人类给适当自然语言指令,模型就能撰写泛型程序,也能写出控制机器人行为的程序代码。
为了实现上述概念,Google开发了Code as Policies(CaP),这是将语言模型产生的程序,以实体机器人实例执行。CaP是Google早先开发的帮手机器人模型PaLM-SayCan的延伸。Google的CaP希望用户以Python通用语言运用少量、简单的说明,就能让语言模型撰写机器人程序代码,让机器人精准执行,最终目的在可让单一系统执行多种复杂任务,而不需特别训练。
研究人员解释,CaP使用一种程序代码撰写模型,在提供了暗示(如告知它有哪些API)及范例(如命令该如何转成程序代码)后,就能为新命令撰写新程序代码,像是重写API调用、合成新函数,表达反馈循环,以程序语言表达出来,在runtime组成新行为。
CaP可将概括化结果输入到有知觉控制的系统,不需要像传统机器人学习过程中搜集大量资料才能学习。它还能运用第三方函数库来内插数据点或分析、产生形状;除了能泛化指令,还能将精准的值翻译成模糊描述(例如将特定速度翻译成“很快”)。并能套用其他语言模型,像是支持非英语指令及emoj的指令。
Google说,这策略也是在现有机器学习从“模块化”(modularity)到“泛化”(generalization)的策略,并运用开源及从网络搜集大量资料外,另辟蹊径的方法。
目前Google的CaP机器人可以执行简单任务,像是在某区块中间“画5厘米六角形”或是“将积木排成水平直线”。不过研究人员也坦承这系统还无法处理抽象或复杂指令,或理解较复杂的描述。
Google已经将CaP的程序代码及技术白皮书公开在GitHub上。