神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness

栏目: 编程工具 · 发布时间: 7年前

内容简介:如果训练神经网络可以与人一样,其训练内容的顺序可以精心编排、且有不同的学习曲线和阶段、在不同的领域有不同“天赋”自主学习。总之,训练过程可以足够“复杂”,是否可以诱导出更好的模型? — David 9假设神经网络有一个确切的决策边界,这个决策边界足够复杂可以帮我们分类10000+个类别,想象一下可能是这样复杂的:但无论如何,归结到一个决策边界,是这样的:

如果训练神经网络可以与人一样,其训练内容的顺序可以精心编排、且有不同的学习曲线和阶段、在不同的领域有不同“天赋”自主学习。总之,训练过程可以足够“复杂”,是否可以诱导出更好的模型? — David 9

假设神经网络有一个确切的决策边界,这个决策边界足够复杂可以帮我们分类10000+个类别,想象一下可能是这样复杂的:

神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness

但无论如何,归结到一个决策边界,是这样的:

神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness
来自:https://arxiv.org/pdf/1901.09491.pdf

对于任意新的训练样本 X1 ,如果要让 X1loss 更小,需要用一个梯度g1更新网络,对决策边界的影响势必导致另一个新样本 X2loss 可能 变小、不变变大

神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness
来自:https://arxiv.org/pdf/1901.09491.pdf

如果 X2和X1一起变小 ,就认为神经网络的决策边界是 “刚性”>0stiffness>0 )的,以此类推,如果X2 loss不变, “刚性”=0stiffness=0 ),如果 X2的loss反而变大了, “刚性”<0stiffness<0 )。

一方面直观上,如果“刚性”处处大于0,这个网络的边界比较鲁棒,边界不容易“变形”;而如果神经网络“刚性”在许多情况小于0,决策边界就不得不在许多地方做类似“变形”的调整。

另外David认为“刚性”在一定程度上也体现了网络对 新测试集的“自恰性” 。论文中也指出 “刚性”>0 的情况其实就是两个样本需要更新的梯度 g1和g2的一致性较大 ,而 “刚性”<0 则相反g1和g2梯度相背:

神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness
来自:https://arxiv.org/pdf/1901.09491.pdf

文章指出,当 “刚性”<0 即模型“自恰”性变得特别弱的时候(梯度更新非常混乱时),也往往是网络开始 “过拟合” 的时候:

神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness
来自:https://arxiv.org/pdf/1901.09491.pdf

如上图,我们看到在垂直黄线处模型开始过拟合(平时是用下表loss来检测过拟合的),而观察到上表stiffness也是在黄线处开始减少的(特别是红色折线同 类别样本之间的stiffness值

另外还有一些有意思的现象:

对于MNIST集的0-9各个类别之间的 “自恰性”(刚性) ,分别在迭代0次,800次,638176次,5627552次时的情况如下(横纵坐标分别代表两个类别):

神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness
来自:https://arxiv.org/pdf/1901.09491.pdf

可见在训练初期,单个类别内样本间的“自恰性”(刚性)很大(注意对角线都是红色的高值),很有可能是模型初期决策边界比较宽泛,只是学习各个类别的大致信息,不关注各个类别具体差异(不在对角线上的类别间刚性极小)。

对于根本无法训练的随机数据集,模型“刚性”又是如何表现的呢:

神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness
来自:https://arxiv.org/pdf/1901.09491.pdf

和直觉一样,网络无法从随机标签的样本中学到类别差异,因此类别之间的“刚性”多数都是非常低的值。

另外,文章也发现对于类别较多的cifar-100数据集,决策边界容易把小类别分更大的组,决策边界在同一个组内的“刚性”比较大:

神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness
来自:https://arxiv.org/pdf/1901.09491.pdf

如上图注意到有红色的小块(大约5个类别一组),模型对于一些难以区分的类倾向于归为一组。在David看来,这是一个指导 非平衡集 训练的很好启发,如果让那些数据量非常少的类别的分组情况减少(“刚性”一致性减小),是不是可以改善这些少数类别总是分错的尴尬?

最后,对于learning rate对网络“刚性”的影响,文章也做的讨论。实验表面,如果learning rate设的比较大,不同类别之间的“刚性”(自恰性)比较大:

神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness
来自:https://arxiv.org/pdf/1901.09491.pdf

也就是说,如果你以后 训练类别比较多的模型,可以考虑用较大的learning rate ,去学习类别之间的信息。

参考文献:

  1. Stiffness: A New Perspective on Generalization in Neural Networks
  2. https://www.intechopen.com/books/brain-computer-interface-systems-recent-progress-and-future-prospects/optimal-fractal-feature-and-neural-network-eeg-based-bci-applications

本文采用 署名 – 非商业性使用 – 禁止演绎 3.0 中国大陆许可协议 进行许可。著作权属于“David 9的博客”原创,如需转载,请联系微信: david9ml,或邮箱:yanchao727@gmail.com

或直接扫二维码:

神经网络的“刚性”(自恰性):谷歌评估泛化能力新指标,Stiffness

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Using Google App Engine

Using Google App Engine

Charles Severance / O'Reilly Media / 2009-5-23 / USD 29.99

With this book, you can build exciting, scalable web applications quickly and confidently, using Google App Engine - even if you have little or no experience in programming or web development. App Eng......一起来看看 《Using Google App Engine》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具