网站建设 实例,谁给个能用的网址,常州二建建设有限公司官方网站,做网站 信息集成过程的顺序论文名称和地址#xff1a;Visualizing the Loss Landscape of Neural Netshttps://arxiv.org/pdf/1712.09913.pdf1.1 背景和动机作者主要想研究几个问题#xff1a;为什么我们能够最小化高度非凸神经损失函数#xff1f;为什么得到的最小值这个结果具有泛化性#xff1f;不…论文名称和地址Visualizing the Loss Landscape of Neural Netshttps://arxiv.org/pdf/1712.09913.pdf1.1 背景和动机作者主要想研究几个问题为什么我们能够最小化高度非凸神经损失函数为什么得到的最小值这个结果具有泛化性不同的神经网络网络架构如何影响损失函数分布 (loss landascape)以及训练的超参数参数如何影响损失函数分布1.2 损失函数可视化基础一般通过最小化 来训练神经网络。其中, 表示神经网络的参数, 函数 衡量神经网络对数据样本标签的预测程度, m 为数据样本的个数。神经网络包含许多参数, 因此它们的损失函数存在于一个非常高维的空间中。一维的线性插值可视化方法一种已有的1维的可视化方法是线性插值法 (Linear interpolation), 就是选择两个参数向量  和 , 并沿连接这两点的直线 绘制损失函数的值 。但是一维线性插值方法有几个缺点。一维线性插值方法去可视化神经网络的非凸性 (non-convexities) 是很困难的这就导致了损失函数在最小化轨迹上似乎缺乏局部最小值。一些损失函数具有非凸性而这些非凸性与不同网络架构之间的泛化差异相关。一维线性插值方法不考虑 Batch Normalization 或者网络中的不变性对称性。因此由一维线性插值方法产生的插值结果可能具有误导性。二维的线性插值可视化方法为了使用二维的线性插值可视化方法, 我们可以在图中选择首先一个中心点 , 并选择两个方向向量 和 。然后, 在 1D (曲线) 情况下, 绘制一个形式为  的函数, 或者在 2D (平面) 情况下, 绘制一个形式为 的函数。以上方法的问题虽然以上这两种在随机方向移动一个小距离并绘制函数值的绘图方法很简单但它无法捕捉损失函数的固有几何形状并且不能用于比较两个不同的最小化器或两个不同的神经网络模型的几何形状。这是因为网络权重的比例不变性 (scale invariance) 。当使用 ReLU 非线性激活函数时如果将网络中某一层的权重乘以10并将下一层的权重除以10网络输出将保持不变。当使用 BN 时同理也存在这种不变性。那么网络权重的比例不变性 (scale invariance) 对于以上的一维二维的线性插值可视化方法有哪些影响呢——具有较大权重的神经网络可能具有平滑且缓慢变化的损失函数比如说如果权重的幅值比1大得多那么将权重扰动一个单位对网络性能的影响很小。但是如果权重远小于1那么同样的单位扰动可能会产生很大的影响使损失函数对权重扰动显得相当敏感。1.3 Filter Normalization基于以上一维和二维的线性插值可视化方法的缺点本文提出一种叫做 Filter Normalization 的可视化方法。这种方法的思想也是基于以上的一维二维的线性插值可视化方法。以上方法问题的核心其实就来自于 单位扰动 即对于权重幅值较大的神经网络而言一个单位的扰动对它没啥作用即使得 loss 的改变几乎可以忽略不计那么它就更可能具有一个平滑且缓慢变化的 loss landscape。对于权重幅值较小的神经网络而言一个单位的扰动对它会产生很大的影响使得 loss 发生灾难性的改变使得 loss landscape 对权重扰动显得相当敏感。那么为了克服这个难题, 本文作者提出一种滤波器归一化 (Filter Normalization) 的做法, 即对于网络权重 , 和一个随机的高斯方向向量d , 然后作者将d 中的每个滤波器归一化, 使其具有与  中相应滤波器相同的范数。换句话说, 进行替换, 如下式所示式中, d_{i,j} 代表第i 层, 第j 个滤波器的高斯方向向量, 代表 Frobenius 范数。滤波器归一 化 (Filter Normalization) 并不局限于卷积 (Conv) 层, 也适用于全连接FC 层 (相当于 卷 积)。作者在下一节证明了经过滤波器归一化的图的锐度与泛化误差有很好的相关性而没有滤波器归一化的图可能非常具有误导性。1.4 可视化实验Loss landscape 尖锐扁平的困境在上一节中我们提到有的神经网络具有平滑且缓慢变化的 loss landscape (称为 sharp minimizer)而有的具有剧烈变化的 loss landscape (称为 flat minimizer)。在本节中将通过一些实验结果阐明sharp minimizer 和 flat minimizer 的泛化性有什么关系在这里呢作者探讨了 sharp minimizer 和 flat minimizer 的区别。作者表明使用传统的一维线性插值方法得到的结论是sharp minimizer 和 flat minimizer 的泛化性没什么关系曲线的锐度与模型的泛化性之间很好地相关。大 Batch Size 产生视觉上更尖锐的最小值 (尽管不是很明显)但测试误差更高。不同 Batch Size 使用滤波器归一化 1D 和 2D 的可视化结果1.5 一些 Loss Surfaces 非凸结构的发现大量经验表明似乎有些神经结构比其他的更容易最小化。例如使用 Skip ConnectionResNet 使得我们可以训练非常深的神经网络结构而没有 Skip Connection 的相同的神经网络结构是不可训练的。而且一个网络是否可以得到良好的训练很大程度上取决于训练开始时的初始参数。作者使用可视化方法对神经结构进行了实证研究以探索为什么损失函数的非凸性在某些情况下似乎是有问题的模型深度的影响如下图所示可以看到当不使用残差连接时网络深度对神经网络的 loss landscape 有显著的影响。比如当深度为20时不使用残差连接的 ResNet-20-NS 有较好的表现这并不太令人惊讶因为用于 ImageNet 的原始VGG 网络有19层也可以有效地训练。但是随着网络深度的增加VGG 类网络的损失面自发地从 (近) 凸过渡到混沌。ResNet-56-NS 具有显著的非凸性和大区域其中梯度方向 (与图中描绘的等高线正常) 不指向中心的最小值。而且随着向某些方向移动损失函数会变得非常大。ResNet-110-NS 显示出更明显的非凸性当我们在图中所示的各个方向移动时它变得非常陡峭。图中的对比很强烈——当神经网络比较浅时不使用快捷连接shortcut connection对于损失分布的影响还不算大即上图中的a和d图。当网络达到了 56 层的深度时无快捷连接shortcut connection的模型的等高线图中显示的损失函数基本是混乱的图e。特别是在一些区域中沿着梯度的方向运动并不能达到损失更小的区域。这显然是很危险的意味着梯度下降方法的效率被大大损害了同时也从另一方面解释了模型的训练性即为何有些模型的训练更容易或者对于同一模型为何超参数的取值不同会对模型表现造成巨大影响。假如模型初始化后落入了一个高度非凸的区域中在整个训练过程中算法可能都无法找到一个比较好的解因为梯度所指向的方向根本毫无意义。上图第三栏中ResNet-110-noshort 显示了更极端的非凸性不管向哪一个方向移动梯度都非常大。我们特别需要注意的是在上图第一行中——即有快捷连接shortcut connection的 ResNet——即使模型的深度大大增加中心的极小值的深度也并没有增加多少即模型收敛的区域仍然是相对平坦的。而第二行中当我们去掉了 ResNet 的快捷连接shortcut connection时图像中心紫线所代表的极小值的深度大大增加了。这样一个最直接的影响——上文已经提到——就是训练难度增加了。图3Wide-ResNet-56 有残差连接 (上) 和无残差连接 (下) 的 loss landscapek2 意思是每层滤波器数量乘以2有无残差连接的影响残差连接对损失函数的 loss landscape 有显著的影响。在上图3中可以看到随着深度的增加残差连接阻止了向混沌行为的过渡。残差连接的影响似乎对深的网络架构最为重要。对于更浅的网络 (ResNet-20 和 ResNet-20-NS)残差连接的影响不明显。如下图4所示是 ResNet-56 有无残差连接的 loss landscape 对比图5所示是 ResNet-110 无残差连接和 DenseNet 121 层的 loss landscape 对比。图4ResNet-56 有无残差连接的 loss landscape 对比图5ResNet-110 无残差连接和 DenseNet 121 层的 loss landscape 对比模型宽度的影响另一个比较有意思的发现在于当神经网络的宽度增加——即每层的神经元个数增加——损失函数的曲面也变得更平滑了。这里作者使用了 RestNet 56 层的结构仍然是第一行有快捷连接shortcut connection第二行无。其中每个子图下面的 k 表示隐藏神经元的倍数即 k2 为模型的宽度是 k1 的模型的二倍。旁边的百分比数字表示模型的错误率。可以看到更宽的模型的 loss landscape 更宽即增大网络宽度可以获得更宽更平坦的 loss landscape。图6. Wide-ResNet-56 有残差连接 (上) 和无残差连接 (下) 的 loss landscapek2 意思是每层滤波器数量乘以2[图片来源Hao, L. et al. (2018). Visualizing the loss landscape of neural nets. NIPS.]我们首先从上到下两两对比地讨论这些结果可以看到有快捷连接shortcut connection总是比无快捷连接shortcut connection的损失函数曲面更平滑一些极小值的位置也更浅。不过更重要的是当我们从左到右的进行分析时——随着模型宽度的增加模型的损失曲面显著地变得更平缓了也就是更浅了。对于没有快捷连接shortcut connection的模型来说增加模型宽度也许不能直接解决损失函数的分布中存在梯度混乱的问题图f的四角都可以看到有很不平滑的等高线但由于曲面变得更浅我们可以侧面缓解这个问题。网络初始化的影响在图3中看到的一个有趣的性质是网络的 loss landscape 似乎都可以分成两种区域一种是损失函数值相对较低loss landscape 的凸性很好一种是损失函数值相对较高loss landscape 的凸性很差。这种混沌和凸区域的划分可能解释了良好初始化策略的重要性。如果一个神经网络模型的 loss landscape 很平坦那么初始化的位置很可能位于具有 良好表现 的损失函数区域可能永远不会出于非凸的部分。相反如果一个神经网络模型的 loss landscape 很陡峭那么初始化的位置很可能由于梯度不足导致增加优化的难度。图3和图6都表明loss landscape 对泛化性有显著的影响。混沌陡峭的 loss landscape (没有残差连接的深度网络) 导致更糟糕的训练和测试误差而更凸的景观具有更低的误差值。总结本文提出一种基于 Filter Normalization 的简单可视化方法。当使用这种归一化时最小化的锐度与泛化误差有很高的相关性这种展示的可视化结果非常清晰。本文观察到当网络变得足够深时神经网络的 loss landscape 会迅速从接近凸的状态过渡到高度混乱的状态。这种从凸到混沌行为的转变伴随着泛化误差的急剧下降并最终导致整个网络可训练性的下降。本文观察到残差连接促进了 loss landscape 更加平坦并阻止了向混沌行为的过渡这有助于解释为什么残差连接对于训练极深的网络是必要的。本文通过计算在局部极小值附近 Hessian 矩阵的的最小 (最负) 特征值来定量测量非凸性并将结果可视化为 heatmap。本文研究了 SGD 优化轨迹的可视化也解释了可视化这些轨迹时出现的困难。