科学家是否知道人工神经网络内部正在发生什么?


69

科学家或研究专家是否从厨房知道复杂的“深度”神经网络中发生的情况,该神经网络会立即触发至少数百万个连接?他们是否了解其背后的过程(例如,内部正在发生什么以及它如何正常工作),还是一个争论的话题?

例如,这项研究说:

但是,对于为什么它们表现如此出色或如何进行改进尚无明确的了解。

那么这是否意味着科学家实际上不知道复杂的卷积网络模型如何工作?


为什么他们表现如此出色 ”-他们实际上并没有那么出色。与大多数新技术一样,失败的报告率也被低估。
托马什Zato

Answers:


51

有许多方法旨在使经过训练的神经网络更具可解释性,而不像“黑匣子”那样,特别是您提到的卷积神经网络

可视化激活和图层权重

激活可视化是第一个明显而直接的方法。对于ReLU网络,激活通常开始时看起来相对粗糙且密集,但是随着训练的进行,激活通常变得更稀疏(大多数值为零)并被局部化。有时,这可以显示特定图层在看到图像时的确切焦点。

我想提到的另一项关于激活的出色工作是deepvis,它显示了每个神经元在每一层的反应,包括合并和归一化层。他们是这样描述的

简而言之,我们收集了几种不同的方法,可让您“三角剖分”神经元学习到的功能,从而可以帮助您更好地了解DNN的工作原理。

第二种常见策略是可视化权重(过滤器)。这些通常在直接看原始像素数据的第一CONV层上最容易解释,但也可以在网络中更深地显示滤波器权重。例如,第一层通常学习类似gabor的过滤器,这些过滤器基本上可以检测边缘和斑点。

第一层过滤器

咬合实验

这是主意。假设ConvNet将图像分类为狗。我们如何确定它实际上是在图像中的狗身上拾取的,而不是来自背景或其他杂物的上下文提示呢?

研究某些分类预测来自图像的哪一部分的一种方法是通过绘制感兴趣类别(例如狗类别)的概率与遮挡物位置的关系来绘制。如果我们遍历图像的各个区域,将其替换为全零并检查分类结果,则可以针对特定图像上的网络构建最重要的二维热图。此方法已用于 Matthew Zeiler的“可视化和理解卷积网络”中使用(您在问题中提到):

咬合实验

去卷积

另一种方法是合成导致特定神经元触发的图像,基本上是神经元正在寻找的图像。这个想法是要计算相对于图像的梯度,而不是相对于权重的通常梯度。因此,您选择了一个图层,将渐变设置为全零,一个神经元只设置一个,然后反向传播到图像。

Deconv实际上执行了一种称为引导反向传播的操​​作进行了以使图像看起来更好,但这只是一个细节。

与其他神经网络类似的方法

强烈推荐Andrej Karpathy的这篇文章,他在Recurrent Neural Networks(RNN)中扮演很多角色。最后,他运用了类似的技术来观察神经元实际学习了什么:

这张图中突出显示的神经元似乎对URL感到非常兴奋,并在URL之外关闭。LSTM可能会使用该神经元来记住它是否在URL内。

结论

我只提到了该研究领域的一小部分结果。它非常活跃,每年都会出现新的方法来阐明神经网络的内部工作原理。

要回答您的问题,总是有些科学家不知道的事情,但是在许多情况下,他们对内部正在发生的事情有很好的了解(文学),并且可以回答许多特定的问题。

对我而言,您所提问题的名言仅凸显了研究准确性的重要性,不仅包括准确性的提高,还包括网络的内部结构。正如Matt Zieler在本次演讲中所讲的那样,有时良好的可视化效果又可以导致更高的准确性。


可视化知道吗?还是仅仅是一种无知的时尚解决方案?也许数学发展是最缺乏严格性和充分性的领域。
FauChristian

1
@FauChristian您在这里遗漏了重点。就像汇编代码一样,神经网络中的权重和所有数学运算都是已知的。这是毫无疑问的。可视化可以了解为什么发生某些操作并导致良好的性能。再次,就像经典的计算机科学算法一样。此外,我鼓励您阅读答案中提到的Zieler等人的论文。
Maxim

1
作为大学本科生,我没有错过这些要点。不过,我懒于评论。表示内核的b&w网格很有趣,因为它显示了波形边缘检测内核状态的某种混沌矩阵,表明需要表征混沌才能理解它。它们的大小分布,角度分布和偏斜分布是什么?这些分布是否表示(a)特定于某些数据集的过度拟合,或(b)可以由具有更高计算效率的功能块替代的一般模式。~~从视觉上无法分辨。
FauChristian

1
是的,这里没有计算所有这些分布(以及许多其他分布)。这并不意味着它们不能不应该被计算。这也不意味着模型解释与可视化无关。我再次鼓励您阅读Zieler等人的“可视化和理解卷积网络”,作者在此进行了详细讨论。
Maxim

我们在实验室中有。我的同事浏览了一些代码示例。我将从统计数据的角度对其进行研究。谢谢。
FauChristian

27

这取决于您“了解正在发生的事情”的意思。

1/1+e1/1+e

但是,如果通过“了解”是指通过其他某种方式预测某些特定(黑匣子)人工神经网络的输出,则障碍是具有高度自由度的人工神经网络中会出现混乱。

这也是Hod Lipson通过可视化了解ANN的一些相对较新的工作 。


13

简短答案是否定的

模型的可解释性是当前研究(例如圣杯之类的东西)的一个非常活跃而又非常热门的领域,近来提出这一点的原因不仅仅在于深度学习模型在各种任务中的(通常是巨大的)成功。这些型号目前仅是黑匣子,我们自然对此感到不舒服...

以下是有关此主题的一些常规资源(以及截至2017年12月的最新信息):

在更实际的水平上(代码等):

最近,人们开始为深度学习神经网络建立更多理论基础的兴趣激增。在这种情况下,著名的统计学家和压缩感测先驱David Donoho最近(2017年秋季)开始在斯坦福大学开设深度学习理论课程(STATS 385),几乎所有材料都可以在线获得;强烈建议...

更新


你好 这似乎是一个很好的答案,但是您需要对其进行整理和整理。第一个资源应该是最有用和最通用的。然后,您可以列出更多特定的资源和研究论文,恕我直言。然后您可以列出诸如Twitter线程之类的内容。
nbro


8

恐怕我没有方便的特定引用,但是我已经看到/听到过诸如Andrew Ng和Geoffrey Hinton之类的专家的名言,他们明确表示我们并不真正理解神经网络。也就是说,我们了解它们如何工作(例如,反向传播背后的数学原理),但我们并不真正了解它们为何起作用。这是一个微妙的区别,但要点是,不,我们不了解您从一堆重物到识别一只猫在玩球的精确度的最深层细节。

至少在图像识别方面,我所听到的最好的解释是,神经网络的连续层学习更复杂的功能,这些功能由较早级别的更精细的功能组成。也就是说,第一层可以识别“边缘”或“直线”。然后,下一层可能会学习诸如“盒子”或“三角形”之类的几何形状,然后更高层可能会基于这些较早的特征学习“鼻子”或“眼睛”,然后更高层仍会学习制作的“面部”从“眼睛”,“鼻子”,“下颌”等开始。但是,就我所知,这仍然是假设的,并且/或者没有被完全详细地理解。


2
我有兴趣阅读实际报价。在最广泛的概念层面上,为什么要使用“它们是经过训练的通用函数逼近器,可以减少回归问题中的误差”。
NietzscheanAI 2016年

我看看是否可以追踪到他们。我很确定我正在考虑Geoffrey Hinton的报价是在一个视频中。如果可以找到,我将编辑答案并将其链接
。– mindcrime

我没有忘记。我会在空闲时间尝试找到它们。我认为我想到的至少其中之一是来自Coursera课程一部分的视频。
mindcrime

这项研究可以帮助您引用相同的参考文献:“但是,对于为什么它们表现如此出色或如何进行改进尚无明确的了解”。
kenorb

4

这是Carlos E. Perez对以下问题的答案:深度学习背后的理论是什么?

[...]

深度学习的基础数学已经存在了几十年,但是我们今天看到的令人印象深刻的结果部分是由于更快的硬件,更多的数据和方法上的不断改进的结果。

通常,深度学习可被定义为优化问题,其中目标是模型误差的函数。考虑到模型的参数空间(即神经网络的权重)导致极高维的问题,这个优化问题很难解决。优化算法可能需要很长时间才能探索该空间。此外,有一个未经证实的信念,即问题是非凸的,并且计算将永远停留在局部最小值中。

[...]

为何机器实际上会收敛到吸引子或换句话说学会识别复杂模式的理论仍然未知。

总结:我们有一些想法,但是我们不太确定。


3

科学家是否知道人工神经网络内部正在发生什么?

科学家或研究专家是否从厨房知道复杂的“深度”神经网络中发生的情况,该神经网络会立即触发至少数百万个连接?

我猜“从厨房知道”的意思是“详细了解”?

让我给您一系列比喻:

  1. 飞机工程师从厨房知道飞机内部会发生什么吗?
  2. 芯片设计人员是否详细了解他设计的芯片中发生了什么?
  3. 土木工程师是否了解他建造的房屋的所有信息?

细节是魔鬼,但关键是人造结构。它们不会随机出现。您需要大量的知识才能获得有用的信息。对于神经网络,我想说从关键概念(Rosenblatt perceptron,1957年)发布到首次应用(US Postal Service,1989年)大约需要40年的时间。从那时起,又有13年的积极研发成为真正令人印象深刻的系统(ImageNet 2012)。

我们非常了解培训是如何进行的。因为它需要实施。因此,在非常小的结构上,我们会详细了解它。

想想计算机。芯片设计人员非常了解他们的芯片如何工作。但是他们可能只会对Linux操作系统的工作原理有一个很粗略的了解。

另一个例子是物理和化学:物理描述了宇宙的核心力量。这是否意味着他们也了解化学的一切?一定不行!一位“完美”的物理学家可以解释化学中的一切……但这几乎没有用。他将需要更多信息,而无法跳过不相关的部分。仅仅是因为他“放大”太多了-考虑细节,这些细节在实践中既不有趣也不重要。请注意,物理学家的知识并没有错。也许有人甚至可以从中推导出化学家的知识。但是缺少对分子相互作用的这种“高级”理解。

这两个示例的主要见解是抽象层:您可以从简单结构构建复杂性

还有什么?

我们很清楚,我们设计的神经网络在原则上可以实现以下目标

  • 设计用来下棋的神经网络-无论多么复杂-都永远不会下棋。当然,您可以在其周围添加另一个抽象层并进行组合。但是这种方法需要人类。
  • 一个专门用来区分狗和猫的神经网络,只需要看pudels和波斯猫,当决定选择约克夏梗犬时,它的性能可能会很差。

哦,当然,我们有神经网络的分析方法。我写了关于卷积神经网络架构的分析和优化的硕士论文。在这种情况下,LIME(本地可解释模型不可知的解释)很好:

在此处输入图片说明


1
因此,说科学家根据问题建立神经网络是有点难以置信的……尤其是当没有人知道为什么特定的体系结构或特定的超参数集能够很好地工作时,这一点让人难以置信。一个给定的问题...我并不是在谈论确切的超参数,但似乎没有一个大致的概念可以解决某个给定问题的近似超参数(问题已得到很好的定义)。因此,没有科学家不知道内部正在发生什么NN。
DuttaA

想想早期的汽车/飞机工程师。您是否会说他们不知道他们的飞机/汽车内部发生了什么,因为他们没有建造它们,因为它们的形状不是空气动力学的?
马丁·托马

1
Ofc ...由于缺乏技术而不了解某些东西...与理论上不了解的东西有所不同..我相信这是飞机情况下的技术..虽然这里我们无法进行数学处理
。.所以

1

我只想添加一些内容:

这取决于你对科学家的意思:

我是电气工程专业的博士生,我看到许多研究人员与ANN合作研究诸如回归,预测控制,自适应控制和分类等问题。

您可以清楚地注意到,他们缺乏编码技能是一个主要缺点,而且他们还不太了解ANN的内部功能,现在我什至没有谈论Deep,他们很难理解ADALINEs和ANFIS等简单的东西!您所听到的他们只是说:给它数据,它将适应!


1
尽管从概念上讲您可能是正确的,但如果您重写答案以作为社会学观察而不是书呆子的长篇大论,您将获得一些投票,并可能会获得一些建设性的帮助。
FauChristian
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.