科学家或研究专家是否从厨房知道在瞬间触发至少数百万个连接的复杂“深度”神经网络内部发生了什么?他们是否了解这背后的过程(例如,内部发生了什么以及它是如何运作的),或者它是一个争论的主题?
例如,这项研究说:
但是,对于它们为什么表现如此出色,或者如何改进它们,还没有明确的理解。
那么这是否意味着科学家实际上并不知道复杂的卷积网络模型是如何工作的呢?
科学家或研究专家是否从厨房知道在瞬间触发至少数百万个连接的复杂“深度”神经网络内部发生了什么?他们是否了解这背后的过程(例如,内部发生了什么以及它是如何运作的),或者它是一个争论的主题?
例如,这项研究说:
但是,对于它们为什么表现如此出色,或者如何改进它们,还没有明确的理解。
那么这是否意味着科学家实际上并不知道复杂的卷积网络模型是如何工作的呢?
有许多方法旨在使经过训练的神经网络更具可解释性,而不是像“黑匣子”,特别是您提到的卷积神经网络。
激活可视化是第一个明显且直接的可视化。对于 ReLU 网络,激活开始时通常看起来比较散乱和密集,但随着训练的进行,激活通常变得更加稀疏(大多数值为零)和局部化。这有时会显示特定层在看到图像时所关注的确切内容。
我想提到的另一个关于激活的出色工作是deepvis,它显示了每一层的每个神经元的反应,包括池化层和归一化层。他们是这样描述的:
简而言之,我们收集了一些不同的方法,可以让你“三角测量”神经元学到的特征,这可以帮助你更好地理解 DNN 的工作原理。
第二种常见的策略是可视化权重(过滤器)。这些通常在直接查看原始像素数据的第一个 CONV 层上最容易解释,但也可以在网络中更深地显示过滤器权重。例如,第一层通常学习基本上检测边缘和斑点的类似 gabor 的过滤器。
这是想法。假设 ConvNet 将图像分类为狗。我们如何确定它实际上是在捕捉图像中的狗,而不是来自背景或其他杂项对象的一些上下文线索?
调查某个分类预测来自图像的哪一部分的一种方法是将感兴趣的类别(例如狗类别)的概率绘制为遮挡物对象位置的函数。如果我们遍历图像的区域,将其替换为全零并检查分类结果,我们可以在特定图像上构建对网络最重要的二维热图。这种方法已在Matthew Zeiler 的 Visualizing and Understanding Convolutional Networks中使用(您在问题中提到):
另一种方法是合成一张图像,该图像会导致特定神经元触发,基本上是神经元正在寻找的东西。这个想法是计算相对于图像的梯度,而不是相对于权重的通常梯度。所以你选择一个层,将梯度设置为零,除了一个神经元和图像的反向传播。
Deconv 实际上做了一些称为引导反向传播的事情来制作更好看的图像,但这只是一个细节。
强烈推荐Andrej Karpathy 的这篇文章,他在文章中经常使用循环神经网络 (RNN)。最后,他应用了类似的技术来查看神经元实际学到了什么:
这张图片中突出显示的神经元似乎对 URL 感到非常兴奋,并在 URL 之外关闭。LSTM 很可能使用这个神经元来记住它是否在 URL 中。
我只提到了这个研究领域的一小部分结果。它非常活跃,并且每年都会出现揭示神经网络内部工作原理的新方法。
为了回答你的问题,科学家们总是不知道一些事情,但在许多情况下,他们对内部正在发生的事情有一个很好的了解(文学),并且可以回答许多特定的问题。
对我来说,您问题中的引述只是强调了研究不仅要提高准确性,还要研究网络内部结构的重要性。正如 Matt Zieler 在本次演讲中所说,有时良好的可视化可以反过来提高准确性。
简短的回答是否定的。
模型可解释性是当前研究的一个非常活跃和非常热门的领域(想想圣杯之类的东西),最近提出的不仅仅是因为深度学习模型在各种任务中的(通常是巨大的)成功;这些模型目前只是黑匣子,我们自然会觉得不舒服……
以下是有关该主题的一些一般(以及最近的,截至 2017 年 12 月)资源:
最近(2017 年 7 月)发表在《科学》杂志上的一篇文章很好地概述了当前的状态和研究:人工智能侦探如何破解深度学习的黑匣子(没有文本链接,但谷歌搜索名称和术语会得到回报)
DARPA 本身目前正在运行一个关于可解释人工智能 (XAI)的程序
NIPS 2016 有一个关于复杂系统的可解释机器学习的研讨会,以及Google Brain的Ben Kim的ICML 2017 可解释机器学习教程。
在更实际的层面上(代码等):
Google 的 What-If 工具,开源 TensorBoard Web 应用程序的全新(2018 年 9 月)功能,让用户无需编写代码即可分析 ML 模型(项目页面、博客文章)
用于神经网络的逐层相关传播 (LRP) 工具箱(论文、项目页面、代码、TF Slim 包装器)
LIME: Local Interpretable Model-agnostic Explanations ( paper , code , blog post , R port )
Geoff Hinton 最近(2017 年 11 月)的一篇论文,将神经网络蒸馏成软决策树,具有独立的PyTorch 实现
TCAV:使用概念激活向量进行测试(ICML 2018 论文,Tensorflow 代码)
Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization(论文,作者的Torch 代码,Tensorflow 代码,PyTorch代码, Keras示例笔记本)
Network Dissection: Quantifying Interpretability of Deep Visual Representations,作者:MIT CSAIL(项目页面、Caffe 代码、PyTorch 端口)
GAN Dissection: Visualizing and Understanding Generative Adversarial Networks,MIT CSAIL(项目页面,附有论文和代码链接)
Microsoft 的 InterpretML(代码仍处于 alpha 阶段)
Axiom-based Grad-CAM (XGrad-CAM): Towards Accurate Visualization and Explanation of CNNs,对现有 Grad-CAM 方法的改进(论文、代码)
最近,开始为深度学习神经网络建立更多理论基础的兴趣激增。在这种情况下,著名的统计学家和压缩传感先驱 David Donoho 最近(2017 年秋季)开始在斯坦福大学开设一门课程,深度学习理论(STATS 385),几乎所有的材料都可以在线获得;强烈推荐...
更新:
注意:我不再更新这个答案;有关更新,请参阅我在哪些可解释的人工智能技术存在?
恐怕我手边没有具体的引文,但我看到/听到了 Andrew Ng 和 Geoffrey Hinton 等专家的引述,他们清楚地表示我们并不真正了解神经网络。也就是说,我们了解它们的工作原理(例如,反向传播背后的数学),但我们并不真正了解它们为什么工作。这是一种微妙的区别,但关键是,不,我们不了解你如何从一堆重物到识别一只正在玩球的猫的最深层细节。
至少在图像识别方面,我听到的最好的解释是神经网络的连续层学习更复杂的特征,由早期级别的更细粒度的特征组成。也就是说,第一层可能会识别“边缘”或“直线”。然后下一层可能会学习几何形状,如“盒子”或“三角形”,然后更高层可能会根据这些早期特征学习“鼻子”或“眼睛”,然后更高级别的层仍然会学习“脸”制作从“眼睛”,“鼻子”,“下巴”等开始。但即使如此,据我所知,仍然是假设的和/或没有完全详细理解。