机器人应用中的对抗性训练
2022年1月25日整理发布:假设您有一个训练有素的卷积神经网络,并想用它来分类存储在文件夹中的一堆图像。如果神经网络训练有素,它将正确分类其中的大多数,并且可能会错误地分类其中的一些。
现在想象一下,有人在 images 文件夹中插入了两打对抗样本。恶意行为者故意操纵这些图像以导致神经网络对它们进行错误分类。正常的神经网络会掉入陷阱并给出错误的输出。但是经过对抗训练的神经网络将正确分类其中的大部分。但是,它可能会看到性能略有下降,并对其他一些图像进行错误分类。
在静态分类任务中,每个输入图像都独立于其他图像,只要错误不会过于频繁地发生,这种性能下降就不是什么大问题。但在机器人应用中,深度学习模型与动态环境交互。输入神经网络的图像以相互依赖的连续序列出现。反过来,机器人也在物理上操纵其环境。
仓库中的自主机器人
“与主要关注错误数量的计算机视觉相比,在机器人技术中,错误发生在‘哪里’很重要,”Lechner 说。
例如,考虑两个神经网络 A 和 B,每个都有 5% 的错误率。从纯粹的学习角度来看,两个网络都同样出色。但在机器人任务中,网络循环运行并每秒做出多个预测,一个网络可能优于另一个网络。例如,网络 A 的错误可能是零星发生的,这不会造成很大的问题。相反,网络 B 可能会连续犯几个错误并导致机器人崩溃。虽然两个神经网络的错误率相同,但一个是安全的,另一个不是。
经典评估指标的另一个问题是,它们仅测量对抗性训练引入的错误分类的数量,而不考虑误差范围。
“在机器人技术中,有多少错误偏离了正确的预测,这很重要,”Lechner 说。“例如,假设我们的网络将卡车错误分类为汽车或行人。从纯学习的角度来看,这两种情况都被视为错误分类,但从机器人技术的角度来看,错误分类为行人的后果可能比错误分类为汽车的后果严重得多。”
对抗性训练导致的错误
研究人员发现,“领域安全训练”是一种更通用的对抗性训练形式,它在机器人技术中使用的神经网络中引入了三种类型的错误:系统性的、瞬态的和有条件的。
瞬态误差会导致神经网络精度的突然变化。条件错误会导致深度学习模型在特定区域偏离真实情况。系统性错误会导致模型准确性发生领域范围的变化。所有三种类型的错误都可能导致安全风险。
为了测试他们发现的效果,研究人员创建了一个实验机器人,该机器人应该监控其环境、读取手势命令并在不遇到障碍物的情况下四处走动。该机器人使用两个神经网络。卷积神经网络通过来自连接到机器人正面的摄像头的视频输入来检测手势命令。第二个神经网络处理来自安装在机器人上的激光雷达传感器的数据,并向电机和转向系统发送命令。
研究人员用三个不同级别的对抗训练测试了视频处理神经网络。他们的研究结果表明,随着对抗训练水平的提高,神经网络的准确率会大大降低。研究人员写道:“我们的结果表明,当前的训练方法无法在机器人学习环境中对图像分类器实施非平凡的对抗鲁棒性。”
“我们观察到,我们经过对抗训练的视觉网络的行为与我们通常理解的‘稳健’完全相反,”Lechner 说。“例如,它偶尔会在没有人类操作员明确命令的情况下打开和关闭机器人。在最好的情况下,这种行为很烦人,在最坏的情况下,它会使机器人崩溃。”
基于激光雷达的神经网络没有经过对抗性训练,但它被训练为更加安全,并且如果机器人在其路径中存在物体,它会阻止机器人向前移动。这导致神经网络过于防御并避免良性场景,例如狭窄的走廊。
“对于经过标准训练的网络,同样狭窄的走廊是没有问题的,”Lechner 说。“此外,我们从未观察到标准训练网络会导致机器人崩溃,这再次质疑了我们为什么首先进行对抗性训练的全部意义。”