Hinton等人新研究:如何更好地测量神经网络表示相似性

2019年05月22日 08:39:15 喜欢打酱油的老鸟 阅读数 177更多

分类专栏: 人工智能
 

https://www.toutiao.com/a6692998683081835012/

近期很多研究试图通过对比神经网络表示来理解神经网络的行为。谷歌大脑 Simon Kornblith、Geoffrey Hinton 等人的一项新研究引入了 centered kernel alignment (CKA) 作为相似性指数,并分析 CKA、线性回归、典型相关分析(CCA)等相关方法之间的关系,证明 CKA 优于其他相似性指数。

在机器学习的很多任务中,深度神经网络可以自动从数据中学习强大的特征表示。尽管深度神经网络在多种任务中取得了令人印象深刻的进展,但如何理解和描述神经网络从数据中学习到的表示仍未得到充分研究。之前的工作(例如 Advani&Saxe (2017)、Amari et al. (2018)、Saxe et al. (2013))在理解神经网络训练过程的理论动态方面取得了一些进展。这些研究虽然很深刻,但却存在基础局限性,因为它们忽略了训练动态过程和结构化数据之间复杂的相互作用。事实上,神经网络表示会比损失函数提供更多机器学习算法和数据之间的交互信息。

谷歌大脑的这篇论文研究了测量深度神经网络表示相似性的问题。测量表示相似性的有效方法可帮助回答许多有趣的问题,包括:(1)基于不同随机初始化训练得到的相同架构深度神经网络是否学习相似的表示?(2)不同神经网络架构的各个层之间是否可以建立对应关系?(3)相同的神经网络架构从不同的数据集中学习的表示有多相似?

该论文的主要贡献有:

  • 讨论了相似性指数的不变性及其对测量神经网络表示相似性的影响。
  • 引入了 centered kernel alignment (CKA) 作为一种相似性指数,并分析 CKA、线性回归、典型相关分析(CCA)等相关方法之间的关系。
  • 证明了 CKA 能够确定基于不同随机初始化和不同宽度训练的神经网络的隐藏层之间的对应关系,而以前提出的相似性指数在这些场景下是不适用的。
  • 验证了网络越宽学习到的表示越相似,并且前几层的相似性比后几层更容易饱和。该研究证明了神经网络中的前几层而非后几层能从不同的数据集中学习到相似的表示。

问题描述

令 X∈R^(n×p_1) 表示 n 个样本的 p_1 个神经元的激活矩阵,Y∈R^(n×p_2) 表示相同的 n 个样本的 p_2 个神经元的激活矩阵。假设这些矩阵已经过预处理使得矩阵的每一列均值为零。在不失一般性的情况下,我们假设 p_1≤p_2。

为了可视化和理解深度学习中不同因素的影响,研究者设计和分析了标量相似性指数 s(X,Y),它可用于比较神经网络内和神经网络之间的表示相似性。

论文:Similarity of Neural Network Representations Revisited

论文地址:https://arxiv.org/pdf/1905.00414.pdf

最近一些工作试图通过比较层之间和不同训练模型之间的表示来理解神经网络的行为。该论文研究了基于典型相关分析(CCA)对比神经网络表示的方法,证明 CCA 属于一类测量多元相似性的统计方法,但是 CCA 和其他对可逆线性变换具备不变性的统计方法都无法测量维度高于数据点个数的表示之间的相似性。

该研究介绍了一个相似性指数,它可以测量表示相似性矩阵之间的关系,并且不受上面的这种限制。该相似性指数等价于 centered kernel alignment (CKA),并且也与 CCA 紧密相关。不同于 CCA,CKA 可以可靠地识别基于不同初始化训练的网络学习得到的表示之间的对应关系。

相似性指标的不变性是针对什么变换而言的?

相似性指标的不变性及其对测量神经网络表示相似性的影响是很重要的。该研究认为,相似性的直观概念和神经网络训练的动态过程都要求相似性指标对正交变换和各向同性缩放(isotropic scaling)是不变的,而不是可逆线性变换。

比较相似性结构(Similarity Structure)

与直接比较一个样本在两个表示中的多变量特征(比如通过回归的方法)不同,该研究的主要观点是:首先分别测量每个表示中的每对样本之间的相似性,然后比较相似性结构。在神经科学中,表示样本之间相似性的矩阵被称为表征相似性矩阵(Kriegeskorte et al., 2008a)。下文证明了,如果使用内积来测量相似性,那么表征相似性矩阵之间的相似性可以简化成成对特征相似性的另一个直观概念。

基于点积的相似性。下面是一个将样本之间的点积与特征之间的点积关联的简单公式:

Hilbert-Schmidt 独立性准则(HSIC)。从等式 1 可以推出,对于均值为 0 的 X 和 Y 有:

令 K_ij = k(x_i , x_j ) , L_ij = l(y_i , y_j ),其中 k 和 l 是两个核函数。HSIC 的经验估计是:

Centered Kernel Alignment. HSIC 对各向同性缩放不具备不变性,但可以通过归一化使其具有不变性。归一化后的指标称为 centered kernel alignment (Cortes et al., 2012; Cristianini et al., 2002):

相关的相似性指标

在测量神经网络表示之间的相似性的背景下,研究者简要回顾了线性回归、典型相关和其他相关方法。表 1 总结了实验中使用的公式、指标及其不变性。

表 1:各种相似性指标的总结。

Q_X 和 Q_Y 分别是 X 和 Y 的正交基。U_X 和 U_Y 分别是对 X 和 Y 做奇异值分解后按奇异值降序排列的左奇异向量。|| · ||∗ 表示核范数。T_X 和 T_Y 是截断单位矩阵,利用 T_X 和 T_Y 选出的 X 和 Y 的左奇异向量可以使累积方差达到某个阈值。

线性回归。线性回归是关联神经网络表示的一种简单方法。它可以将 Y 中的每个特征拟合为 X 中特征的线性组合。一个合适的汇总统计量是该拟合所能解释的方差比例:

典型相关分析(CCA)。典型相关分析是求两个矩阵的基,使得当原矩阵被投影到这些基上时,相关性最大。对于 1≤i≤p_1,第 i 个典型相关系数ρ_i 由下式给出:

SVCCA.当 X 或 Y 的条件数很大时,CCA 对扰动敏感。为了提高鲁棒性,奇异向量 CCA 方法 (singular vector CCA, SVCCA) 对 X 和 Y 的奇异值分解截断后使用 CCA。

Projection-Weighted CCA. Morcos 等人 (2018) 提出了一种不同的策略来降低 CCA 对扰动的敏感性,他们称这种方法为「投影加权典型相关分析」(PWCCA):

结论

该研究首先研究了一种基于 All-CNN-C 的类 VGG 卷积网络。图 2 和表 2 说明只有 CKA 方法通过了完整性检查,而其他方法则表现得很差。

图 2:CKA 揭示了基于不同随机初始化训练的 CNN 的不同层之间的一致关系,而 CCA、线性回归和 SVCCA 则无法揭示这种关系。

表 2:不同方法基于最大相似性识别基于不同初始化训练的 10 个结构相同的 10 层 CNN 网络中对应层的准确率,其中排除了 logits 层。

CKA 可以揭示神经网络表示中的异常。图 3 展示了具有不同深度的卷积网络各层之间的 CKA,其中卷积网络的各层分别重复 2、4 和 8 次。从中可以看出,深度加倍可以提高准确率,但是深度增加太多反而会降低准确率。

图 3:CKA 揭示深度过深的神经网络的表示会出现异常。上图:在 CIFAR-10 上训练的不同深度深度网络的各层之间的线性 CKA。每个小图的标题显示了每个网络的准确率。8 倍深度神经网络的后几层与最后一层类似。下图:在相同神经网络的各层上训练的 logistic 回归分类器的准确性与 CKA 一致。

CKA 还可用于比较在不同数据集上训练的网络。图 7 展示了在 CIFAR-10 和 CIFAR-100 上训练的模型在其前几层中生成了类似的表示。这些表示需要训练,而且这些表示与未经训练的网络生成的表示之间的相似性要低很多。

图 7:CKA 显示了在不同数据集(CIFAR-10 和 CIFAR-100)上训练的模型产生了类似的表示,这些表示与未经训练的模型产生的表示差异很大。左图显示了在 CIFAR-10 测试集上不同模型的同一层之间的相似性,而右图显示了在 CIFAR-100 测试集上的相似性。CKA 是每种类型的 10 个模型的均值(45 对)。

从可视化的角度看,RSM 方法比 CKA 汇总统计更有用,因为 RSM 方法不会将相似性汇总为单个数字,而是提供了更完整的 CKA 测量结果信息。图 8 展示了,对于较大的特征向量,XX^T 和 Y Y^T 作用相似,但是使之成立的子空间的秩远低于激活函数的维度。

图 8:基于随机初始化训练的两个 10 层神经网络的共享子空间主要由最大特征值对应的特征向量张成。每行表示不同的网络层。平均池化层只有 64 个神经元。

Hinton等人新研究:如何更好地测量神经网络表示相似性的更多相关文章

  1. Hinton等人最新研究:大幅提升模型准确率,标签平滑技术到底怎么用?

    Hinton等人最新研究:大幅提升模型准确率,标签平滑技术到底怎么用? 2019年07月06日 19:30:55 AI科技大本营 阅读数 675   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  2. Adam作者大革新, 联合Hinton等人推出全新优化方法Lookahead

    Adam作者大革新, 联合Hinton等人推出全新优化方法Lookahead   参与:思源.路.泽南 快来试试 Lookahead 最优化方法啊,调参少.收敛好.速度还快,大牛用了都说好. 最优化方 ...

  3. 开学收好这 17 种工具 App,让你新学期学习更有效率

    开学啦!不管是想勾搭学长还是想讨好学妹,相信同学们对新学期.新同学或者新学校都已经满怀期待了.但是,除了帅气逼人的学长和青春靓丽的学妹,你们可不能忘记上学的首要任务还是学习噢. 那么,为了帮助同学们更 ...

  4. iOS 10正式发布:十大新功能,更注重人性化

    6月14日凌晨消息,苹果公司举行2016年WWDC全球开发者大会,介绍了watch OS.tv OS.OS X以及iOS 10系统的新特性. 据苹果介绍,iOS 10在锁屏.Siri.地图等十个各方面 ...

  5. Neuromation新研究:利用卷积神经网络进行儿童骨龄评估

    近日,Neuromation 团队在 Medium 上撰文介绍其最新研究成果:利用卷积神经网络(CNN)评估儿童骨龄,这一自动骨龄评估系统可以得到与放射科专家相似或更好的结果.该团队评估了手骨不同区域 ...

  6. Tomcat 7 的七大新特性(更容易将Tomcat内嵌到应用去中去 )

    Tomcat的7引入了许多新功能,并对现有功能进行了增强.很多文章列出了Tomcat 7的新功能,但大多数并没有详细解释它们,或指出它们的不足,或提供代码示例.本文将明确描述TOMCAT 7中七个最显 ...

  7. Azure 媒体服务换新锁,更安全更方便,新钥匙请收好!

    不知道有多少人已经把家里的门锁换成了数字化的指纹锁?沿用了几百上千年的传统门锁,在技术的帮助下无疑变得更方便,不用带钥匙,还能远程控制和操作,最重要的是,终于不用担心「衣果(luǒ)着」出门扔垃圾,风 ...

  8. SQL-表的操作(创建表,删除表,更改列,插入新行,更改行的值,删除表中数据)

    一,操作表及列 1.创建表: CREATE TABLE test (ID int  PRIMARY KEY IDENTITY,Name varchar(20) ) 2.删除表 DROP TABLE t ...

  9. Java 8 新特性-Stream更优雅的处理集合入门

    Java 8 新特性之--Stream 一. 简单介绍 Stream是Java 8提出了的一种新的对集合对象功能的增强.它集合Lambda表达式,对集合提供了一些非常便利,高效的操作,使得代码具有非常 ...

随机推荐

  1. shell脚本中根据端口号kill对应的应用进程

    一.使用情景 在Jenkins的自动部署中,每次重新部署我们都需要先关闭原先的应用进程,然后重新部署启动.在使用tomcat时,我们可以通过startup.sh和shutdown.sh进行对应操作.但 ...

  2. Linux设备驱动程序 之 获取当前时间

    墙上时间 内核一般通过jiffies来获取当前时间,该数值表示的是最近一次系统启动到当前的时间间隔,它和设备驱动程序无关,因为它的声明期只限于系统的运行期:但是驱动程序可以用jiffies来计算不同事 ...

  3. 空指针/0/NULL

    空指针/0/NULL 空指针是一个被赋值为0的指针,在没有被具体初始化之前,其值为0. NULL 是一个标准规定的宏定义,用来表示空指针常量. #define NULL 0   或者 #define ...

  4. PPT:很多文字如何排版?(PPT如何美化?)

    1.加入图标.形状(或者加入图片和色块搭配) 2.提取关键词作为标题(这个很重要) 下面看下示例: 这个是没修改前 修改后: 相信大家都会喜欢第二张吧 再看一个: 最近在学做PPT,有点上瘾了,哈哈哈 ...

  5. C realloc

    https://baike.baidu.com/item/realloc/659993?fr=aladdin 也就是说:原地址后面有连续可以空间可以满足需要,则追加在后面,否则开辟新空间,并拷贝数据

  6. ssy-publish

    github地址: https://github.com/shangyueyue/ssy-publish 一.安装 npm install ssy-publish -D 二.在process.cwd( ...

  7. 计算机组成原理 — FPGA 现场可编程门阵列

    目录 文章目录 目录 FPGA FPGA 的应用场景 FPGA 的技术难点 FPGA 的工作原理 FPGA 的体系结构 FPGA 的开发 FPGA 的使用 FPGA 的优缺点 参考文档 FPGA FP ...

  8. 数据包从物理网卡流经 Open vSwitch 进入 OpenStack 云主机的流程

    目录 文章目录 目录 前言 数据包从物理网卡进入虚拟机的流程 物理网卡处理 如何将网卡收到的数据写入到内核内存? 中断下半部分软中断处理 数据包在内核态 OvS Bridge(Datapath)中的处 ...

  9. SSM+form表单文件上传

    这里介绍SSM如何配置上传文件 配置springmvc.xml: <!--配置上传下载--> <bean id="multipartResolver" class ...

  10. 一百零六:CMS系统之修改邮箱功能完成

    这里采用把验证码放到memcached中,所以封装一个memcached的操作 import memcache cache = memcache.Client(['127.0.0.1:11211'], ...