首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

神经网络相似性如何帮我们理解训练和泛化

技术前沿

编译:萝卜兔

为了解决任务,深层神经网络(DNNs)逐渐将输入数据转换成复杂的表示(即各个神经元之间的激活模式)。理解这些表示很重要,不仅仅因为其具有可解释性,更重要的是可以帮助我们设计更加智能的机器学习系统。但是,要理解这些表示并不是那么容易,特别是在跨网络比较时。

在前文《用SVCCA解释深度神经网络》中,介绍了 Canonical Correlation Analysis(CCA)作为理解和比较卷积神经网络(CNNs)表示的工具的好处,表明他们以自下而上的模式收敛,在训练过程中,低层相比高层更先收敛。

本文我们将介绍该工作的延续,提出关于CNNs表示相似性的新见解,包括比较Memorizing networks(即仅能够对见过的图片进行分类的神经网络)和Generalizing networks即能够正确分类没有见过的图片的神经网络)之间的不同。更重要的是,我们还拓展了这种方法,以便深入了解RNN。比较RNN在许多方面会比CNN更困难,尤其是RNN的表示会在序列的过程中改变。CCA其不变性也成为研究RNN的理想工具。

Memorizing CNNs和 Generalizing CNNs表示的相似性

一个机器学习系统能够由此及彼应用到新的场景中时,它才是有用的。因此,了解网络是否Generalize的因素很重要,这可能直接影响能不能找到提高Generalization的新方法。为了考察特征表示相似性是不是可以预测泛化,我们研究以下两种CNN:

Generalizing networks:用没有经过修改或者标记的数据进行训练的CNN,具有归纳能力,可以推广到全新的数据上应用。

Memorizing networks:用具有随机标签的数据进行训练的CNN,它们可以记住这些数据,但不具有归纳能力,不能推广到全新的数据上应用。

每个网络都训练了多个版本,区别在于网络的初始权重和训练数据的顺序,并用一种新的加权方法来计算CCA距离度量,以比较每组网络表示的不同。

关于CCA距离度量的具体细节参考下面论文:

https://arxiv.org/pdf/1806.05759.pdf

我们发现,和Memorizing networks相比,不同Generalizing networks组收敛到更相似的表示(尤其是在更高层中)。softmax表示网络的最终预测,每组的CCA距离明显减小,因为每组独立的网络都做出了类似的预测。

蓝色代表Generalizing networks,红色代表Memorizing networks,蓝色收敛的更多

令人惊讶的是,在后面的隐藏层中,Generalizing networks和Memorizing networks的CCA distance都大致相同,尽管这些网络是在完全不同标签的数据上训练的。直观地说,这个结果表明虽然记住训练数据的方法很多(导致更大的CCA distance),但是学习更通用特征的方法却不多。

理解RNN的Training Dynamics

到目前为止,我们只将CCA应用于在图像数据上训练的CNN。其实,CCA也可以用于计算RNN表示的相似性,无论是在训练过程中还是序列过程中。将CCA应用到RNN中,我们首先需要了解是否RNN也有和CNN相同的自上而下的收敛模式。为了测试这一点,我们测量了训练过程中RNN各层的表示于训练结束时最终表示之间的CCA距离。我们发现,RNN和CNN一样,也是以自下而上的方式收敛。(见下图)

RNN在训练过程中成自上而下的收敛,越接近输入的层越早的收敛到最终表示。如图中第1层会比第2、第3层更早的收敛到其最终表示。

研究中还有其他的发现,更宽的网络(即每层有更多神经元的网络)比更窄的网络更收敛。还有,结构相同但是学习率不同的网络会收敛到具有相似的辨别能力但是特征表示截然不同。

小结

这些发现加强了分析和比较DNN表示的效用,以便于提供对network function 、Generalization和Convergence的理解和洞察。但是还有很多问题没有得到解决,未来还有很多值得我们探索的工作。后面,我们将研究在CNN和RNN中,representation的哪些方面是未被利用的,我们的这些见解是否可以用来提升网络性能。

相关参考链接:

https://github.com/google/svcca/

https://en.wikipedia.org/wiki/Softmax_function#Neural_networks

https://ai.googleblog.com/

https://ai.googleblog.com/2018/06/how-can-neural-network-similarity-help.html

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180624A0AP1300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券