找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 57|回复: 0

使用 SVCCA 解释深度神经网络

[复制链接]

545

主题

0

回帖

1677

积分

金牌会员

积分
1677
发表于 2024-12-13 23:44:03 | 显示全部楼层 |阅读模式
深度神经网络 (DNN) 推动了视觉、语言理解和语音识别等领域的空前进步。但这些成功也带来了新的挑战。具体来说,与许多以前的机器学习方法相反,DNN 容易受到分类中的对抗性示例、强化学习中的任务灾难性遗忘和生成建模中的模式崩溃的影响。为了构建更好、更强大的基于 DNN 的系统,能够解释这些模型至关重要。具体来说,我们希望DNN 具有表征相似性的概念:我们能否有效地确定两个神经网络学习到的表征何时相同? 在我们的论文“ SVCCA:用于深度学习动力学和可解释性的奇异向量典型相关分析”中,我们介绍了一种简单且可扩展的方法来解决这些问题。我们研究的两个具体应用是比较不同网络学习到的表征,以及解释 DNN 中隐藏层学习到的表征。此外,我们正在开放源代码,以便研究界可以试验这种方法。 我们设置的关键是将 DNN 中的每个神经元解释为激活向量。如下图所示,神经元的激活向量是它在输入数据上产生的标量输出。例如,对于 50 张输入图像,DNN 中的神经元将输出 50 个标量值,编码它对每个输入的响应程度。这 50 个标量值随后构成神经元的激活向量。(当然,在实践中,我们接受的输入远不止 50 个。)
图表展示了 CIFAR-10 上卷积和残差网络的学习动态。请注意,还可以看到附加结构:顶行中的 2x2 块是由批量标准层引起的,底行中的方格图案是由残差连接引起的。
我们发现自下而上收敛的证据,靠近输入的层首先收敛,而较高的层需要更长时间才能收敛。这表明有一种更快的训练方法,即冻结训练——详情请参阅我们的论文。此外,这种可视化还有助于突出显示网络的属性。在顶行中,有几个 2x2 块。它们对应于批量归一化层,它们在表示上与之前的层相同。在下面一行,接近训练结束时,我们可以看到出现棋盘格状图案,这是由于网络的残差连接与之前的层有更大的相似性。
到目前为止,我们专注于将 SVCCA 应用于 CIFAR-10。但应用离散傅里叶变换的预处理技术,我们可以将此方法扩展到 Imagenet 大小的模型。我们将这种技术应用于Imagenet Resnet,比较潜在表示与对应于不同类别的表示的相似性:
不同类别的潜在表示的 SVCCA 相似性。我们采用 Imagenet Resnet 中的不同层,0 表示输入,74 表示输出,并比较隐藏层和输出类别的表示相似性。有趣的是,不同类别的学习速度不同:消防车类别的学习速度比不同犬种的学习速度更快。此外,两对犬种(一对哈士奇犬和一对梗犬)的学习速度相同,反映了它们之间的视觉相似性。
我们的论文详细介绍了我们迄今为止探索的结果,还涉及不同的应用,例如通过投影到 SVCCA 输出来压缩 DNN,以及冻结训练,这是一种计算成本更低的深度网络训练方法。我们对 SVCCA 的后续探索感到非常兴奋 — 转向不同类型的架构、跨数据集比较以及更好地可视化对齐的方向只是我们渴望尝试的一些想法。我们期待下周在长滩的NIPS 2017上展示这些结果,我们希望代码也能鼓励许多人将 SVCCA 应用于他们的网络表示,以解释和理解他们的网络正在学习什么。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|绿色天空实验室

GMT+8, 2024-12-28 02:11 , Processed in 0.075733 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表