发布论文“可解释性的基石”

2015 年,我们对神经网络如何理解图像的早期可视化尝试催生了迷幻图像。之后不久,我们将代码作为 DeepDream 项目开源,它已经演变成一场小规模的艺术运动,产生了各种各样的魔幻作品。不过,我们继续按照 DeepDream 背后的原始研究路线工作,尝试解决深度学习领域最令人兴奋的问题之一:神经网络是如何工作的?


去年,在在线期刊 Distill 上,我们展示了那些相同的技术如何显示网络内各个神经元的分工,而不是像 DeepDream 中那样仅仅局限于“网络感兴趣的”内容:

https://distill.pub/2017/feature-visualization


这让我们可以了解网络中的神经元如何用作各种东西(按钮、衣服补丁和建筑物)的检测器以及它们如何在网络层之间堆积,变得越来越复杂。


GoogLeNet 中神经元的可视化。神经元所处的层越高,思维越高级


尽管神经元可视化令人兴奋,但我们去年的工作仍缺少一些重要的东西:这些神经元与网络实际所做工作之间有什么事实上的联系?


我们高兴地发布论文“可解释性的基石”(The Building Blocks of Interpretability),这篇新 Distill 文章说明了特征可视化如何与其他可解释性技术相结合来了解网络作决策的方方面面:

https://distill.pub/2018/building-blocks


我们在文章中介绍,这些组合可以让我们像“站在神经网络中间”一样,看到在那个地方所作的一些决策,以及了解它们是如何影响最终输出的。例如,我们可以看到神经网络如何检测耷拉的耳朵,然后提高它将图像分类为“拉布拉多寻回犬”或“小猎犬”的可能性之类的事情。


我们探索各种技术来了解哪些神经元在网络中激发。通常,如果问哪些神经元激发,我们会得到一些毫无意义的回答,例如“神经元 538 稍微激发”,这样的回答即使对专家来说也没有多大帮助。我们的技术通过将可视化关联到每个神经元的方式让事情对人类更有意义,从而可以看到“耳朵耷拉检测器激发”之类的事情。这几乎可以称为神经网络的核磁共振成像。



我们还可以缩小并显示整个图像在不同层上是如何“感知”的。这让我们可以真正看到网络从检测非常简单的边缘组合到检测丰富的纹理与 3D 结构,以及耳朵、鼻子、头和腿等高级结构的转变。



这些洞见本身就已令人兴奋,但是,如果我们能够将它们与网络的最终决策相关联,它们会变得更令人兴奋。因此,我们不仅可以看到网络检测耷拉的耳朵,还能看到它如何提高将图像分类为拉布拉多寻回犬的可能性。



除了论文之外,我们还发布了 Lucid:

https://github.com/tensorflow/lucid


这是一个基于我们在 DeepDream 中所做工作的神经网络可视化库。它可以让您实现我们在上面看到的那种清晰的特征可视化,以及获得更有艺术魅力的 DeepDream 图像。


我们也发布了 Colab 笔记本:

https://github.com/tensorflow/lucid#notebooks


按照这些笔记本操作,您可以非常轻松地使用 Lucid 重现我们的文章中介绍的可视化!只需打开笔记本,点击按钮运行代码 - 不需要任何设置!



在 Colab 笔记本中,您可以点击按钮运行代码,然后会在下面看到结果


我们认为可以构建众多的接口来了解神经网络,这项工作仅仅是拉开了序幕。我们非常期待看到社区的行动 - 也非常兴奋与大家合作,共同加深人类对神经网络的了解。

Be a Tensorflower