背景:众所周知,神经网络可以在大量任务中提供出色的性能,这主要是由于它们的通用逼近能力。但是,在这篇文章中,我对相反的情况感到好奇:
问题:也就是说,有哪些众所周知的案例、问题或实际应用中神经网络做得不太好?
规范: 我正在寻找神经网络不是最先进的特定回归任务(具有可访问的数据集)。回归任务应该是“自然合适的”,因此没有顺序或时间相关的数据(在这种情况下,RNN 或水库计算机会更自然)。
背景:众所周知,神经网络可以在大量任务中提供出色的性能,这主要是由于它们的通用逼近能力。但是,在这篇文章中,我对相反的情况感到好奇:
问题:也就是说,有哪些众所周知的案例、问题或实际应用中神经网络做得不太好?
规范: 我正在寻找神经网络不是最先进的特定回归任务(具有可访问的数据集)。回归任务应该是“自然合适的”,因此没有顺序或时间相关的数据(在这种情况下,RNN 或水库计算机会更自然)。
特别是,他们表明,当面对在三维空间中旋转到不寻常位置的常见刺激时,标准深度学习网络经常会崩溃,例如该图的右上角,其中一辆校车被误认为是扫雪机:
. . .
误认为翻倒的校车不仅是一个错误,而且是一个揭示性的错误:它不仅表明深度学习系统可能会混淆,而且它们在做出所有哲学家都知道的基本区别方面面临挑战:仅仅是偶然的特征之间的区别关联(当有扫雪机时通常会出现雪,但不是必需的)和属于类别本身的固有属性的特征(扫雪机应该在其他条件相同的情况下具有犁,除非它们已被拆除)。我们已经看到过人为刺激的类似例子,比如 Anish Athalye 精心设计的 3D 打印泡沫覆盖立体棒球被误认为是浓缩咖啡
奥尔康的结果——一些来自自然界的真实照片——应该把对这种异常的担忧推到堆栈的顶部。
请注意,作者的观点是他一个人的观点,我不一定与他分享所有观点。
编辑:一些更有趣的东西
1)当球拍向上移动几个像素时,可以玩Breakout和Starcraft的 DeepMind 神经网络的性能出现了急剧下降。
而在后者中,它在角色的一个种族上表现良好,但在不同的地图和不同的角色上表现不佳。
2)
AlphaZero 在国际象棋中每秒仅搜索 80,000 个位置,在将棋中搜索 40,000 个位置,而 Stockfish 为 7000 万,elmo 为 3500 万。
Deepmind 的团队所做的是构建了一个非常好的搜索算法。一种搜索算法,包括记住以前搜索的各个方面的能力,以便将更好的结果应用于新的搜索。这非常聪明;毫无疑问,它在许多领域都具有巨大的价值,但不能将其视为一般情报。
理论上,大多数神经网络可以逼近任何连续函数,前提是激活函数满足某些温和条件。这被称为通用逼近定理(UAT),但不应该被称为 通用,因为不连续函数比连续函数多得多,尽管某些不连续函数可以用连续函数逼近。UAT 展示了神经网络的理论强大功能及其用途。它们代表和近似函数。如果您想了解更多关于 UAT 的详细信息,对于不同的神经网络架构,请参阅此答案。
然而,在实践中,使用梯度下降和反向传播训练的神经网络面临几个问题和挑战,其中一些是由于训练过程而不仅仅是神经网络的架构或可用数据。
例如,众所周知,神经网络容易发生灾难性遗忘(或干扰),这意味着它们并不特别适合增量学习任务,尽管已经开发了一些基于神经网络的更复杂的增量学习算法。
神经网络也可以对其输入敏感,即输入的微小变化可以极大地改变神经网络的输出(或答案)。这部分是由于他们学习的功能并不是您期望他们学习的功能。因此,基于这种神经网络的系统可能会被黑客入侵或愚弄,因此它们可能不太适合安全关键型应用。这个问题与神经网络的低可解释性和可解释性有关,即它们通常被称为黑盒模型。
贝叶斯神经网络 (BNN)可以潜在地缓解这些问题,但它们不太可能成为最终或完整的解决方案。贝叶斯神经网络维护每个单元(或神经元)的分布,而不是点估计。原则上,这可以提供更多的不确定性保证,但实际上还不是这样。
此外,神经网络通常需要大量数据才能准确地逼近所需的函数,因此在数据稀缺的情况下,神经网络可能不合适。此外,神经网络(尤其是深度架构)的训练也需要大量的计算资源。当您需要实时预测时,推理有时也会出现问题,因为它也可能很昂贵。
总而言之,神经网络只是函数逼近器,即在给定参数的特定配置的情况下,它们逼近一个特定的函数(或一组函数,在贝叶斯神经网络的情况下)。他们不能做更多的事情。他们不能神奇地做一些他们没有受过训练的事情,通常情况下,除了知道你的训练之外,你并不真正了解神经网络所代表的特定功能(因此是表达式black-box model )数据集,其中还可能包含虚假信息等问题。
在我们的深度学习讲座中,我们讨论了以下示例(来自Lapuschkin 等人的Unmasking Clever Hans predictors 和评估机器真正学习的内容(2019 年))。
在这里,神经网络通过识别错误的“相关组件”来学习识别图片的错误方法,即 iE。在图片旁边的敏感度图中,我们可以看到水印用于识别图片中是否有马。如果我们去除水印,则不再进行分类。更令人担忧的是,如果我们将标签添加到完全不同的图片上,它会被识别为马!
这更像是“神经网络可以解决什么样的问题”的方向。为了训练神经网络,您需要大量的训练数据,这些训练数据针对您感兴趣的问题标有正确/不正确的标签。因此,例如“识别所有上面有猫的图片”非常适合神经网络. 另一方面,“总结这本幼儿图画书的故事”非常困难。尽管人类可以很容易地判断给定的摘要是否好用,但是为这类问题构建一组合适的训练数据是非常困难的。因此,如果您无法构建具有正确答案的大型训练数据集,则无法训练神经网络来解决问题。
Anshuman Kumar 的答案也是一个例子,也是一个可能解决的例子。错误识别倒置校车的神经网络可能在其训练数据中几乎没有倒置校车。将它们放入训练数据中,神经网络也会识别它们。这仍然是神经网络中的一个缺陷,如果人类知道校车长什么样,他们第一次看到一辆颠倒的校车时就可以正确识别它。