分享

Google AI:广度网络和深度网络能学到同样的东西吗?

 520jefferson 2021-05-11
人工智能算法与Python大数据
致力于提供深度学习、机器学习、人工智能干货文章,为AI人员提供学习路线以及前沿资讯
23篇原创内容
公众号

点上方人工智能算法与Python大数据获取更多干货

在右上方 ··· 设为星标 ,第一时间获取资源

仅做学术分享,如有侵权,联系删除

转载于 :新智元

提高神经网络性能并使其适应可用计算资源的一个常见做法是调整结构的深度和宽度。
 
流行的神经网络,如EfficientNet,ResNet和Transformers都具有可灵活调整深度和宽度的体系结构。但是,除了对准确性的影响外,对于这些架构设计的基本选择如何影响对模型的理解还很有限。
 
论文Do Wide and Deep Networks Learn the Same Things? Uncovering How Neural Network Representations Vary with Width and Depth(广度网络和深度网络学习的东西是一样的吗?揭示神经网络表征如何随宽度和深度的变化而变化)从隐藏表征和最终输出的视角,对来自同一系列架构的广度网络和深度网络之间的相似性进行了系统的研究。
 
在非常宽或非常深的模型中,我们在其内部表征中找到了典型的块结构,并在此现象与模型过参数化之间建立了联系。
 
跨模型的比较表明,没有块结构的模型在相应层的表征之间有显著的相似性,而包含块结构的模型则差异明显。
 
当在同一测试集上对内部和外部表征的这些属性进行评估时,它们对于广度模型和深度模型在类和样本级别上反过来会系统地导致不同的错误。 

将表征相似度与CKA进行比较
 
利用先前开发的中心内核对齐(Centered Kernel Alignment,CKA)技术提升了在分析表征形式方面的工作,该技术提供了一种鲁棒的,可扩展的方法来确定由任何一对神经网络层学习的表征形式之间的相似性。CKA将来自两层的表征(即激活矩阵)作为输入,并输出0(完全不相似)和1(相同表征)之间的相似度得分。
 
我们将CKA应用于不同深度和宽度的ResNet网络,并在通用基准数据集(CIFAR-10,CIFAR-100和ImageNet)上进行训练,并使用表征热图来说明结果。每个热图的x轴和y轴从输入到输出对所考虑的模型层进行索引,并且每个条目(i,j)是第i层和第j层之间的CKA相似度得分。
 
图片

使用CKA来计算单个模型内(即Network1和Network2相同时)以及跨模型(即使用不同的随机初始化训练Network1和Network2或完全使用不同的体系结构时)的所有层对的表征相似度
 
下面是当我们比较深度为26和宽度multiplier为1的单个ResNet中每一层的表征与其他每一层的表征时所得的热图的示例。在此处使用的设计中,规定的深度仅指网络中卷积层的数量,但是我们分析了所有存在的层,并且宽度multiplier适用于每个卷积中的滤波器数量。其中,热图中的棋盘图案是由体系结构中的跳过连接(层之间的捷径)引起的。
 
图片
  
块结构的出现
 
从更深或更宽的网络的代表性热图中脱颖而出的是大量具有高度相似代表性的连续图层,这些图层在热图中显示为黄色正方形(即 CKA分数较高的区域)。这种现象,我们称之为块结构(block structure),暗示着底层可能并不像我们期望的那样有效地逐步改进网络的表征。实际上,我们展示了任务性能在块结构内部变得停滞不前,并且可以在不影响最终性能的情况下删除一些层。
 
图片
块结构ーー一组具有高度相似表征的大型相邻层ーー随着宽度或深度的增加而出现。每个热图显示了单个神经网络中所有层之间的CKA相似性。虽然它的大小和位置会因为不同的训练而变化,块结构现象具有鲁棒性,往往出现在较大的模型中
 
通过进一步的实验,我们发现块结构与模型的绝对大小关系不大,而是与模型相对于训练数据集的大小有关。
 
图片
随着网络宽度的增加(沿着每一行向右)和数据集大小的减少(沿着每一列) ,相对模型容量(相对于给定的任务)被有效地膨胀,并且块结构开始出现在更小的模型中
 
通过进一步的分析,我们也能够证明块结构来自于保持和传播其底层表征的主要主成分。详情请参考下面论文。
 
图片
 论文 https:///abs/2010.15327

比较不同模型之间的表征
 
更进一步,我们研究了深度和宽度对不同随机初始化和不同体系结构的模型表征的影响,并发现在这种情况下,块结构的存在也产生了显著差异。尽管具有不同的体系结构,但没有块结构的广度模型和深度模型的确表现出彼此的相似性,其中相应的层在模型中的比例深度大致相同。但是,当存在块结构时,其表征对于每个模型都是唯一的。这表明,尽管总体性能相似,但是具有块结构的每个广度模型或深度模型都可以从输入到输出获得唯一的映射。
 
图片
对于较小的模型(例如ResNet-38 1x),不同初始化模型(斜对角)的CKA与单个模型(斜对角)的CKA非常相似。相反,在更宽的模型和更深的模型(例如,ResNet-38 10×,ResNet-164 1×)的块结构内的表征在整个训练过程中极为不同
 
广度模型和深度模型的误差分析

探索了广度模型和深度模型的学习表征的属性之后,我们接下来转向了解它们如何影响输出预测的多样性。我们训练不同体系结构的网络,并确定每种体系结构配置在哪个测试集样本上容易出错。
 
在CIFAR-10和ImageNet数据集上,具有相同平均准确度的广度模型和深度模型在样本级别的预测中仍显示出统计学上的显著差异。同样的观察结果也适用于ImageNet上的类别级错误,广度模型在识别与场景对应的类别时显示出较小的优势,而深度网络在消费品识别方面相对更准确。


图片


随着广度(y轴)或深度(x轴)的增加,不同模型在ImageNet上的每个类别的差异。橙色点反映了ResNet-83(1×)的两组50个不同随机初始化之间的差异
 
结论
 
在研究深度和宽度对内部表征的影响时,我们发现了一个块结构现象,并证明了其与模型容量的关系。以及,宽度和深度的模型在类和样本级别上所表现出系统的输出差异。


参考资料:
https://ai./2021/05/do-wide-and-deep-networks-learn-same.html

------------------

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多