选自arXiv
机器之心编译
参与:黄小天、刘晓坤
在这篇论文中,研究人员提出了「过滤器归一化」方法,用于可视化损失函数的曲率,并对损失函数进行了实验性的并行对比。他们进一步探索了多种因素(网络架构、超参数、优化器等)对损失函数形态的影响,以及损失函数形态对泛化能力的影响。
神经网络的训练需要最小化高维度非凸损失函数——这是一项理论上很难、有时却易于实践的任务。尽管训练一般性神经损失函数(Blum & Rivest, 1989)是 NP-hard,简单的梯度方法却经常能找到全局最小值(global minimizer,带有零或接近于零的训练损失的参数配置),甚至在训练之前当数据和标签已被随机化时(Zhang et al., 2017)也有效。但是,这有效却不通用;神经网络的可训练性高度依赖于网络架构设计、优化器和变量初始化方式的选择,以及大量其他考虑。不幸的是,这些选择的每一个对底层损失函数的几何结构的影响还不清楚。由于评估损失函数成本高昂(需要循环遍历训练集中的所有数据点),因此该领域的研究仍然主要是理论性的。
本文目标是使用高分辨率可视化来提供神经损失函数的经验性特征,并探索不同网络架构的选择对损失函数的影响。进而,本文探索了神经损失函数的非凸结构与其可训练性的关系,以及神经极小值(即它们的尖锐度/平坦度和周遭的形状)的几何如何影响其泛化能力。
为了以有意义的方式达到目的,本文提出了一种简单的「过滤器归一化」(filter normalization)方案,能够并行比较由不同方法发现的不同极小值。然后,本文通过可视化来探索由不同方法发现的极小值的尖锐度/平坦度,以及网络架构选择(跳过连接的使用、过滤器数量、网络深度)对损失函数的影响。本文目标是理解损失函数几何形状的不同是如何影响神经网络的泛化能力的。
图 1:ResNet-56 没有跳过连接和有跳过连接的损失函数曲面。垂直坐标是对数的,以展示动态范围。本文提出的过滤器归一化方案用于比较两个图的尖锐度/平坦度。
图 2:通过对 VGG-9 使用小批次和大批次方法得到的解的 1D 线性差值。蓝线是损失值,红线是准确率。实线是训练曲线,虚线是测试曲线。小批次在横坐标的 0,大批次在横坐标的 1。
表 1:VGG-9 使用不同的优化算法和超参数在 CIFAR-10 上的测试误差。
图 3:权重的直方图。权重衰变率为 0、批尺寸较小的时候得到的权重较大。权重衰变率不为 0、批尺寸较大的时候得到的权重较小。
图 4:使用不同的优化算法得到的极小值的形状,其中使用了不同的批尺寸和权重衰变率。每个子图的下方标出了优化器、批尺寸和测试误差。第一行使用的权重衰变率为 0,第二行使用的权重衰变率为 5e-4。
图 5:通过 SGD 和小批尺寸、大批尺寸得到的解的 2D 可视化。和图 4 类似,第一行使用的权重衰变率为 0,第二行使用的权重衰变率为 5e-4。
图 6:不同网络的解的 2D 可视化。
表 2:不同架构的损失值和误差。
图 7:Wide-ResNet-56(WRN-56)包含捷径连接(上半 4 张)和不包含捷径连接(下半 4 张)在 CIFAR-10 上的损失函数图像。k=2 表示每层有两倍的滤波器,k=4 表示每层有四倍的滤波器,等。测试误差在每个图下方标出。
图 8:优化器轨迹的无效可视化。这些可视化方法遭遇了高维空间的随机方向正交性带来的困难。
图 9:对 VGG-9 使用归一化的 PCA 方向的投影学习轨迹。每个子图中的左图使用的批尺寸为 128,右图使用的批尺寸为 8192。
结语
本文提出了一种新的、更精确的可视化技术,能够为神经网络实践者面对的众多选择的结果提供见解,包括网络架构、优化器选择和批大小。
近年来神经网络飞速发展。要在未来取得更多进展,需要对神经网络的结构有更全面的理解。本文希望通过有效的可视化技术以及理论的持续进步,可以带来更快的训练、更简单的模型以及更好的泛化。
研究表明,当神经网络很深或没有跳过连接的时候,损失函数的曲面会从凸面的、平滑的转变成杂乱的、尖锐的,进而大大降低泛化能力和可训练性。
论文:Visualizing the Loss Landscape of Neural Nets
论文链接:https://arxiv.org/abs/1712.09913
神经网络的训练依赖于寻找高度非凸损失函数的(足够好的)极小值的能力。利用特定的网络架构设计(例如,跳过连接)生成的损失函数可以使训练过程变得更简单,利用精心调整的训练参数(批尺寸、学习率、优化器)可以达到使泛化能力更好的极小值。然而,对于这些规律,以及这些因素对损失函数形态的影响,并没有得到很好的理解。在这篇论文中,我们用多种可视化方法探索了神经网络损失函数结构,以及损失函数的形态对泛化能力的影响。首先,我们介绍了一种简单的「过滤器归一化」(filter normalization)方法帮助我们可视化损失函数的曲率,并对损失函数进行有意义的并排对比。然后我们使用多种可视化方法探索了网络架构对损失函数形态的影响,以及训练参数对极小值的形态的影响。
本文为机器之心编译,转载请联系本公众号获得授权。