更宽还是更深?Google AI:广度网络和深度网络能学到同样的东西吗?新智元共 2899字,需浏览 6分钟 ·2021-05-10 11:14 新智元报道 来源:Google AI编辑:LQ,好困【新智元导读】广度网络和深度网络学到的东西是一样的吗?下面这篇文章也许能给你一些思路。提高神经网络性能并使其适应可用计算资源的一个常见做法是调整结构的深度和宽度。 流行的神经网络,如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://arxiv.org/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.googleblog.com/2021/05/do-wide-and-deep-networks-learn-same.htmlAI家,新天地。西山新绿,新智元在等你!【新智元高薪诚聘】主笔、高级编辑、商务总监、运营经理、实习生等岗位,欢迎投递简历至wangxin@aiera.com.cn (或微信: 13520015375)办公地址:北京海淀中关村软件园3号楼1100 浏览 46点赞 评论 收藏 分享 手机扫一扫分享分享 举报 评论图片表情视频评价全部评论推荐 来自Google Research:宽模型和深模型学到的是相同的东西吗?程序员大白0深度优先和广度优先前端精髓0Gutty基于 Google Guice 和 Netty 的网络框架简介一直很喜欢轻量IOC框架 Guice,希望能将其和netty整合起来网上有不少整合的例子,但没有整合成扫描包后,自动完成路由和模块配置,这是最好用的功能之前将Reactor-Netty和GuiceGutty基于 Google Guice 和 Netty 的网络框架简介一直很喜欢轻量 IOC 框架 Guice ,希望能将其和 netty 整合起来网上有不少整合的例更深和更宽的Transformer,哪个更好?NUS团队:我站Wider!极市平台0七十九、深度和广度优先搜索算法Python之王0博士阶段能学到什么硕士学不到的东西?全栈架构社区0图卷积网络-图的深度学习机器学习初学者0Calico 网络策略深度解析云原生实验室0前端到底是“技术深度”重要还是“技术广度”重要?👆点击关注 获取更多编程干货👆近年来,前端领域发展迅速,招聘市场风云变幻,许多程序员不禁疑惑:前端到底是“技术深度”重要还是“技术广度”重要?过去,精通一个框架、深入理解其原理,再加上熟练掌握JavaScript基础知识,足以找到一份不错的前端工作。然而,如今的招聘要求明显提高,仅凭这些技能,已难以点赞 评论 收藏 分享 手机扫一扫分享分享 举报