机器人是如何使用数据来进行训练的
2016-10-28
布朗大学计算机科学助理教授斯特弗尼?特里克斯正在解决一个棘手的问题:机器人的抓握能力。她建立了一个机器学习模型,使机器人能够自动学习操纵对象,并且能够从中产生许多样本数据,有了这些数据,其他研究人员可以用它来训练机器人的抓握能力。
一开始,特里克斯言语之间就充满着活力与激情,她慢慢陈述着在抓捏物体上,机器人所面临的普遍问题。
“大多数的机器人在大部分时间能够抓取物体,但是这也是有一定前提条件的。如果你去到机器人实验室,并把一个陌生的从没看到过的物体放在机器人面前,该机器人基本上是无法抓起这个东西的,因为它的‘思维’里没有这个物体的信息,也没有针对该物体做过训练。”
这真的是一个实际问题,因为机器人要抓起这些物体,它们就必须明白具体的任务,以及从传感器信息库中知道关于该物体的相关信息。例如它的形状,它所在的位置等等。而这些问题也是机器人手臂必须被解答的问题,通常还包括,要想抓起这些物体,那么机器人手臂应该调整到什么位置才能够准确地抓起该物体呢?
研究人员对机器人进行编程之后,它可以拿起特定的物体,这其中都是有一部分规律可循的,但是这些编程好的程序通常只能帮助机器人抓捏起一小部分的物体。目前,要想使得机器人能够自主地抓起某些不熟悉的物体或者移动它们,还是有很大难度的,有类似能力的机器人还在开发当中。
而特里克斯所构建的机器学习模型可以让她的实验室机器人在错误中进行学习,经过反复试验,直到它能成功地抓起物体。在尝试和错误的交替过程中,可以产生一系列的关于该物体的图片信息库,以及夹持器与物体之间也可以在磨合中更加熨帖。
机器人不断练习所产生的附属产品就是数据库,它可以成为机器学习的样本数据,用来训练其他机器人来抓捏同样的物体。但在特里克斯实验室中,她的巴克斯特机器人却不能够产生足够多的样本数据。
为了解决这个问题,特里克斯推出了一个“百万挑战计划”,她想要招募全世界的实验室,针对400台巴克斯特机器人来进行研究,让这些闲置的机器人可以根据她所研发的机器学习模型来运行,让它们对上百万个物体进行抓取实验,最终得到一份详细的数据。
为什么样本训练数据很重要
近年来,机器学习的应用技术如自动驾驶汽车以及图像识别的应用技术都得到了迅猛的发展,都是因为在这些领域有大量的样本数据可以用来训练这些机器学习模型。而机器人抓取能力的滞后,最主要原因在于样本数据的缺少,从而无法训练神经网络。
使用标记的数据来训练机器学习模型最便于理解的例子就是图像识别。图像识别的精度已经提高了90%。如此进步可以归因于机器学习的应用以及庞大的样本数据库。数以百万计的标记图片集已经在学术研究中被广泛使用了,如谷歌,Facebook和其他在线图像存储器。
神经网络是如何工作的
神经网络是一个由几个简单高度互连的处理元件组成的计算机系统,可以通过对外部输入的动态回应来处理信息。它主要是通过处理大量的被标记的数据,从而来获得理解不同情形的能力。
一张鸟的图像中,鸟是特定的鸟,在一张汽车图像中,汽车也是特定的汽车。大量的图像样本可通过机器学习软件来进行处理,如Torch和Tensorflow,然后让它在神经网络上运行,就能够对其进行训练来识别照片中的物体了。
在这种情况下,输入的信息主要就是大量的被标记的图像,紧接着系统就能输出关于该图片的许多识别标签,例如所输入的图片到底有没有汽车。而还有一个隐藏的部分就是整个处理过程,通常包含神经元,以及根据算法而来的机器学习软件处理程序,也可被称为该图像的中间值。
紧接着系统会对这些样本数据进行重新处理,从而可以测试出该模型在推测图片标签上的准确性。然后再对结果进行比对,如果有错误就更正过来,并将其反馈到神经网络中,算法程序就可以根据所反馈的内容做出相关判断。这样的纠错过程会如此往复直到出现正确的预测。
自动驾驶汽车也是以同样的方式来学习驾驶的。当有人在驾驶某一辆特定的汽车时,可以将路面的情况,以及各个转弯的角度用3D视频的方式记录下来,形成样本数据库。
该日志可以输入到机器学习系统当中,从而可以训练算法正确地将相关信息输入到视频中去。这个过程会重复进行,直到调整到一个适用于车辆操作的驾驶模式。
用来训练图像识别系统的样本信息量是很巨大的。而自动驾驶汽车有大量的数据集。谷歌研发的自动驾驶汽车已经行驶了一百万英里,特斯拉也行驶了近10亿英里,有了这些数据,可以提供更全的驾驶经验。而训练机器人的抓握能力时,却没有这些数据的支持。
“百万挑战计划”
如果特里克斯的“百万挑战计划”可以成功,将会获得大量的数据,终将有一天可以让机器人有更准确的抓握能力。