神经网络其实和人一样懒惰,喜欢走捷径 … - 链闻 ChainNews 20200725
- DNN 在识别物体方面达到了超人的性能,但是即使很小的看不见的变化或不同的背景和环境也可能使预测完全偏离。
- DNN 可以为图像生成合理的标题,但是,令人担忧的是,DNN 可以在不真正查看该图像的情况下这样做。
- DNN 可以准确识别人脸,但对少数群体的人脸识别错误率却非常高。
- DNN 可以根据简历预测聘用决策,但是算法在选择的过程中却会出现偏见。
如何调和 DNN 超出人类的表现,同时却可能会犯下荒谬错误之间的偏差呢?我们认为,许多失败案例不是个例,而是和 DNN 会无意识地遵循“捷径”策略有关。虽然表面上是成功的,但稍微发生些许偏差,这些策略通常会以失败告终。
什么是捷径?
在机器学习中,模型能够学习的解决方案受数据、模型体系结构、优化器和目标函数的约束。然而,这些约束往往会允许不止一个解决方案,通常有很多不同的方法来解决同一个问题。捷径是在典型测试集上表现良好,但在不同情况下失败的解决方案,暴露出与我们的意图不符的现象。
![](https://i-blog.csdnimg.cn/blog_migrate/c1c02302752c054a98231a1af59a54a8.png#pic_center)
举一个例子,当在简单的星月数据集上训练时(顶行),标准的神经网络(三层,完全连接)可以轻松地对新的类似样本(数学上称为 i.i.d. 测试集)进行分类。但是,在稍有不同的数据集(o.o.d. 测试集,最下面一行)上对其进行测试揭示了一种捷径策略:网络已学会将对象位置与类别相关联。在训练过程中,星星总是显示在图片的右上角或左下角;月亮则显示在左上角或右下角。这种模式仍然存在于来自 i.i.d. 测试集(中间一行)的样本中,但在 o.o.d. 测试图像(下排)中不存在,从而暴露了捷径现象。这里最重要的一点是,在训练设置约束下,位置和形状都是有效的解决方案,因此,没有理由期望神经网络更喜欢其中一个。然而,人类具有使用物体形状的强烈直觉。就像这个例子看起来那样,对抗性例子、偏向机器学习模型、缺乏领域通用性和输入略有变化引起的失效等都可以理解为捷径学习现象的实例。
深度学习之外的捷径学习
但是在算法级别上,通常会默认一个假设(博主注:然而这个假设通常不一定合理),即类人的表现意味着类人的策略(或算法)。这种“相同的策略假设”同样存在于深度学习:即使 DNN 单元与生物神经元不同,但如果 DNN 成功识别出物体,那么似乎可以很自然地认为它们是像人类一样使用通过物体的形状来识别物体。因此,我们需要区分实验对象在一个数据集的性能表现与获取能力之间的联系,在将“物体识别”或“语言理解”等高级能力赋予机器之前,我们要非常谨慎,因为通常有一个更简单的解释 :可以归因于捷径学习时,切勿使用高级能力进行解释。
捷径学习需要我们改变基准测量的方式
例如,在ImageNet 数据集上训练分类模型时,在许多情况下,对象的背景、纹理或其他对人类不太明显的捷径可以很好地被分类模型学习识别到,这时网络通常会学习利用这一点(捷径)进行分类。这种行为所引起的后果,是神经网络泛化能力的失败。
导致捷径学习和随后的泛化失效的关键问题是我们对任务的理解与它实际上激发学习的模型之间的差异。我们如何减轻这个问题并提供对捷径学习的洞察力?当前大多数基准测试的主要缺点是,它们会测试训练集中相同数据分布的图像(iid 测试)。这种类型的评估仅需要一种较弱的泛化形式。但是,我们需要强大的归纳能力,这些能力大致与我们的直觉相吻合。为了测试这些,我们需要良好的分布外测试(ood 测试),这些测试应具有明显的分布变化,明确定义的预期解决方案,并提供模型学习捷径的节点。
但还不止于此:当模型变得越来越好时,它们会学习利用微妙的捷径,因此我们预测,基准测试也会越来越强。这种“滚动基准”可以确保我们在模型开发过程中不会失去对最初目标的跟踪,而会不断地将精力重新集中在解决我们真正关心的潜在问题上,同时加深我们对建模管道与模型之间相互作用的理解。
跨过捷径实现理解,该怎么做?
必须指出,我们可能永远不会完全解决捷径学习。模型始终以减少的信息为基础来做出决策,因此泛化失败不可避免:受捷径学习影响而失败将会是常态,而不是意外。为了深入理解捷径学习,或减轻它的影响,我们有五个建议:
(1)连接点:捷径学习无处不在
捷径学习似乎是生物学和人工学习系统的普遍特征。深度学习中的许多问题都与捷径学习有关————模型利用数据集捷径机会,仅选择一些预测特征而不是仔细考虑所有可用证据,因此因各种原因失败。受影响区域之间的“连接点”很可能会促进发展,并且在各个应用场景中产生极有价值的影响。(博主注:因此可考虑在网络模型的end-to-end学习过程中,在网络的pipeline的一些中间节点处添加一些中间环节的监督信息。)
(2)认真解读结果
发现捷径通常意味着,一个看似复杂的数据集可以用简单的方案解决。我们认为,在将诸如“对象识别”或“语言理解”之类的高级功能归因于机器之前,我们需要格外小心,因为通常会有更简单的解释。
(3)测试分布外的泛化表现
评估 iid 测试数据的模型性能(就像当前大多数基准测试一样)不足以区分预期的和意外的(捷径)解决方案。因此,分布外的测试是必须要做的。
(4)了解是什么让解决方案易于学习
DNN 总是学习最简单的问题解决方案,但是要了解哪种解决方案更简单(从而容易学习),则需要弄清结构(体系结构)、经验(训练数据)、目标(损失函数)和学习(优化)的影响,以及对这些因素之间相互作用的透彻理解。
(5)首先弄清楚是否真的要解决这个问题
捷径的存在意味着,无论任务是否得到充分证实,DNN 都会找到解决方案。例如,系统可能试图根据敏感的人口统计学(例如肤色或种族)或仅根据外表,用捷径来评估信用分数。这很令人担忧,因为当将机器学习用于不明确或有害的任务时,可能会强化错误的假设和有问题的关联。捷径方式可以使此类可疑任务看起来完美可解决。但是,DNN 具有高性能处理任务或基准的能力永远无法证明任务的存在或潜在假设。因此,在评估一项任务是否可以解决时,我们首先需要问:是否真的要解决这个问题?如果答案是 yes,、应该用 AI 来解决吗?
捷径学习是当前 ML 模型与人类智能之间最具标志性的差异。但具有讽刺意味的是,正是这种对“作弊”的偏爱,使神经网络看起来几乎和人类又相像了几分:谁还没有过在考试前偷懒背材料,而不是花时间去真正理解的经历?谁从来没有试图在一项法规中寻找漏洞,而不是坚持法律的精神?最后,神经网络也许和(懒惰的)人类并没有什么不同……