谷歌大脑团队新尝试 用奇异向量典型相关分析解释深度神经网络

深度神经网络(DNNs)在视觉、语言理解和语音识别等领域取得了前所未有的进展。但这些成功也带来了新的挑战。与许多以前的机器学习方法不同的是,深度神经网络可以很容易地在分类中产生敌对的例子,在强化学习中出现灾难性遗忘(catastrophic forgetting)这样的大型状态空间,以及在生成模型中的模式崩溃。为了构建更好、更健壮的基于深度神经网络的系统,对这些模型进行解释是至关重要的。谷歌大脑团队想要一个关于深度神经网络的表现相似性的概念:我们能不能有效地确定两个神经网络所学习到的表现是相同的?

奇异向量典型相关分析(SVCCA),是一个奇异值(SV)分解和典型相关分析(CCA)的合并。谷歌大脑团队曾发表过一篇名为“奇异向量典型相关分析:关于深度学习动力学和解释能力的奇异向量典型相关分析”的论文,文章中引入了一个简单并且可以扩展的方法来解决这些问题。研究的两个具体的应用程序是比较不同网络所学习的表示,并解释了由在深度神经网络隐藏层学习的表示。此外,谷歌大脑团队正在开放源代码,以便研究社区能够对这种方法进行试验。

  • 论文地址:https://arxiv.org/abs/1706.05806

我们的设置的关键是将深度神经网络中的每个神经元都解释为一个激活向量(activation vector)。如下图所示,神经元的激活向量是它在输入数据上产生的标量输出。例如,对于50个输入图像,一个深度神经网络中的神经元将输出50个标量值,编码它对每个输入的响应。这50个标量值构成了神经元的激活向量。(当然,在实际操作中,我们使用了超过50个输入。)

这里有一个深度神经网络,有三个输入,x1,x2,x3。看一下深度神经网络内的神经元(右侧红色的圆圈),这个神经元会产生一个标量输出zi,对应于每个输入xi。这些值构成了神经元的激活向量。

通过这个基本的观察和进一步的阐述,我们引入了奇异向量典型相关分析,这是一种用于两组神经元的技术,并且输出了它们所学习的一致的特征图。关键的是,这种技术可以解释一些表面上的差异,比如神经元排列的置换(permutation),这对于比较不同的网络来说是至关重要的,并且可以检测到相似性,这种相似性比起其它更容易直接失败。

作为一个例子,考虑在CIFAR-10上训练两个卷积神经网络(net1和net2,见下图),这是一个中等规模的图像分类任务。为了使我们的方法的结果可视化,我们将神经元的激活向量与由奇异向量典型相关分析输出的对齐的特征进行比较。回想一下,神经元的激活向量是输入图像上的原始标量输出。图中的x轴是由类排序的图像(灰色的虚线表示类边界),y轴表示神经元的输出值。

我们在左图展示了net1和net2中两个最高的激活(最大的欧氏规范)神经元。检查最高的激活神经元是在计算机视觉中解释深度神经网络的一种流行方法,但是在这种情况下,net1和net2中最高的激活神经元没有明确的对应关系,尽管它们都接受过相同的任务。

然而,在应用了奇异向量典型相关分析(右图)之后,我们发现两个网络所学习的潜在表示确实有一些非常相似的特性。注意,表示对齐的特征图的前两行几乎是相同的,也就是第二高的对齐的特征图(底部的两行)。此外,右图中的这些对齐的映射也显示了与类边界的清晰的对应关系,例如,我们看到上面的两行对第8类给出了负输出,而下面的两行对第2类和第7类给出了正输出。

虽然你可以跨网络应用奇异向量典型相关分析,但也可以在同一时间内对相同的网络进行相同的处理,以便研究网络中不同层如何聚合到它们的最终表示。下面,我们展示了在net1中,训练(y轴)和训练结束时(x轴)层之间的层表示的图片。例如,在左上角的窗格中(标题为“0% trained”),x轴显示了在100%的训练中增加了深度的层,而y轴显示了在0%的训练中增加了深度的层。每一个(i,j)小方块告诉我们,我在100%的训练中所代表的层的表现是如何与第j层的训练相一致的。输入层位于左下角,并且(如预期的那样)在0%到100%之间是相同的。我们通过训练在几个点进行了比较,分别为0%、35%、75%和100%,用于在CIFAR-10上的卷积网络(上行)和残差网络(下行)。

图中显示了在CIFAR-10上的卷积网络和剩差网络的学习动态。注意,额外的结构也是可见的:由于批量规范层而在顶部行中的2×2方块,以及由于残差连接而在底部行中的棋盘图案。

我们发现了自下而上的收敛性的证据,首先,层与输入的聚合更接近,而层越高,收敛的时间就越长。这暗示了一种更快的训练方法——“冻结训练”(Freeze Training)。此外,这种可视化还有助于突出网络的属性。在最上面一行,有两个2×2方块。这些都对应于批处理层,它们与之前的层是相同的。在最后一行,在训练结束的时候,我们可以看到一个类似模式的棋盘图案,这是由于网络的残差连接与以前的层有更大的相似性。

到目前为止,我们已经把奇异向量典型相关分析应用到CIFAR-10上了。但是我们可以将预处理技术应用于离散傅里叶变换(Discrete Fourier transform),这种方法可以扩展到Imagenet大小的模型。我们将此技术应用于Imagenet Resnet,将潜在表示的相似性与对应于不同类的表示相比较:

  • Imagenet Resnet:https://arxiv.org/abs/1512.03385

奇异向量典型相关分析与不同类的潜在表示的相似之处

我们在Imagenet Resnet中使用不同的层,其中0表示输入,74表示输出,并比较隐藏层和输出类的表示的相似性。有趣的是,不同的课程以不同的速度学习:消防车类的学习速度比不同的犬种类的学习速度更快。此外,这两种犬类(一对哈士奇和一对西高地梗犬)以相同的速度学习,这反映了它们之间的视觉相似性。

我们上面提到的论文给出了我们迄今为止所探索的结果的更多细节,也涉及到不同的应用,例如通过投影到奇异向量典型相关分析的输出,以及冻结训练。有很多的后续研究,我们都很兴奋地使用奇异向量典型相关分析进行探索——转向不同类型的架构,比较不同的数据集。

我们希望大家打开下面这个代码的链接,它能鼓励很多人将奇异向量典型相关分析应用到他们的网络表达中,以理解他们的网络正在学习什么。

  • 代码:https://github.com/google/svcca

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-11-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

【深度学习】③--神经网络细节与训练注意点

1. 权重的初始化 1.1 fine-tuning 神经网络的训练的有两种方式,第一种是自己从头到尾训练一遍;第二种是使用别人训练好的模型,然后根据自己的实际需...

3865
来自专栏量子位

在Keras+TF环境中,用迁移学习和微调做专属图像识别系统

图1:CompCars数据集的示例图像,整个数据集包含163家汽车制造商,1713种车型 王小新 编译自 Deep Learning Sandbox 量子位 出...

3375
来自专栏智能算法

卷积神经网络工作原理直观解释

其实我们在做线性回归也好,分类(逻辑斯蒂回归)也好,本质上来讲,就是把数据进行映射,要么映射到一个多个离散的标签上,或者是连续的空间里面,一般简单的数据而言,...

1142
来自专栏大数据文摘

解决机器学习问题有通法!看这一篇就够了!

1774
来自专栏Fish

Andrew Ng的机器学习课程概述(三)

第十三章 无监督学习 首先讲的K-mean聚类原理还是挺简单的。就是你要分K个类,你就选择K个点做中心点,然后让所有的点进行计算,离哪个点最近,就选择成为这个点...

1768
来自专栏MyBlog

Energy-efficient Amortized Inference with Cascaded Deep Classifiers论文笔记

深度神经网络在许多AI任务中取得了卓越的成功, 但是通常会造成高的计算量和能量耗费, 对于某些能量有约束的应用, 例如移动传感器等.

513
来自专栏人工智能

深度学习系列教程(八)TensorFlow 中的正则化方法

"玩转TensorFlow与深度学习模型”系列文字教程,本周带来TensorFlow 中的正则化方法! 大家在学习和实操过程中,有任何疑问都可以通过学院微信交流...

24210
来自专栏IT大咖说

阿猫还是阿狗?AI视觉识别中目标检测的关键技术

内容来源:2018 年 04 月 21 日,AI教育求职平台景略集智创始人王文凯在“百度深度学习公开课·北京站:AI工程师的快速进阶之路”进行《目标检测面面观》...

431
来自专栏AI科技评论

开发 | 你的机器学习模型为什么会出错?奉上四大原因解析及五条改进措施

对开发者来说,目前有一系列的机器学习模型可供选择。AI科技评论了解,可以用线性回归模型预测具体的数值,用逻辑回归模型对不同的运算结果进行归类,以及用神经网络模型...

3486
来自专栏机器人网

【深度学习】详细的神经网络架构图

将这些架构绘制成节点图的一个问题:它并没有真正展示这些架构的工作方式。比如说,变自编码器(VAE)可能看起来和自编码器(AE)一样,但其训练过程却相当不同。训练...

3176

扫码关注云+社区