其他分享
首页 > 其他分享> > 论文研读-机器学习可视化-神经网络损失函数吸引域可视化

论文研读-机器学习可视化-神经网络损失函数吸引域可视化

作者:互联网

为交叉熵和平方误差神经网络损失函数的吸引域可视化

1 论文概述

2020年3月发表在Neurocomputing上的一篇文章,对两种常见的神经网络损失函数(即二次损失和熵损失)的局部极小值和相关吸引域进行了可视化和数值分析。

1.1 文章摘要

1.2 专业术语

交叉熵            cross-entropy
平方误差          squared error
吸引域            basins of attraction
驻点、平稳点      stationary points
二次损失          quadratic loss
熵损失            entropic loss
实证研究          empirical study
适应值曲面分析     fitness land-scape analysis (FLA)
误差平方和         sum squared error (SSE)

1.3 引言

P1 介绍问题
P2-P3 分析问题
P4 研究目的、方法
P5 文章贡献

P6 文章组织结构

2 相关工作

3 损失函数

神经网络搜索空间的模式,即局部极小值的数目,以及局部极小值的性质和相关的吸引域,在理论上被证明依赖于所选的误差度量,以及其他参数。两个最广泛使用的误差度量是二次损失函数和熵损失函数。

二次损失,也称为误差平方和(sum squared error, SSE),简单计算神经网络产生的误差平方和:
误差平方和
其中P为数据点个数,K为输出个数,t (K,P)为数据点P的第K个目标值,o(K,P)为数据点P的第K个输出。SSE的最小化使神经网络产生的总体误差最小化。

如果神经网络的输出可以被解释为概率,那么可以计算两个分布之间的交叉熵,即期望输出(目标)的分布和实际输出的分布。熵损失,也称为对数损失,或交叉熵(CE)误差,公式如下:
交叉熵
交叉熵的最小化导致两种分布的收敛,也就是说,实际输出分布越来越像目标分布,从而使神经网络误差最小化。

Solla等人从理论上分析了二次损失和熵损失,得出了二次损失具有更高密度的局部极小值的结论。Solla等人[14]进一步表明,熵损失必然产生具有更强梯度的“更陡峭”景观,这可能是CE上观察到的梯度下降收敛速度比SSE更快的原因。熵损失更快的收敛使得熵损失比二次损失在深度学习社区中更受欢迎[15,16]。除了更快的收敛,熵损失显示出更好的统计特性,例如更精确地估计平均[23]的真实后验概率。

本文旨在通过应用下一节将讨论的适应值曲面分析(FLA)技术,研究二次损失和熵损失的损失曲线之间的区别。

4 适应值曲面分析

几项研究表明,FLA是一个分析和可视化NN误差曲面的有用工具[32-35]。然而,之前的FLA研究都没有试图对神经网络误差曲线的形态进行量化,即局部极小值的存在和特征。

本研究使用神经网络误差曲线样本来量化损失表面形态。第4.1节讨论了用于获取样本的渐进梯度行走算法。此外,本研究提出了两种新的FLA技术,以可视化和量化由神经网络损失面所显示的驻点和相关的吸引域。第4.2节介绍了损失梯度云,它提供了由梯度行走发现的驻点的二维可视化。第4.3节提出了两个指标来量化渐近梯度行走所遇到的吸引域的特性。

4.1 渐进梯度行走

估计局部极小值存在的最简单的FLA方法之一是在搜索空间中取一个均匀随机样本,然后计算样本[36]中局部极小值的比例。为了识别最小值,首先需要识别驻点。由于损失函数是可微的,所以可以计算样本中每个点的梯度。梯度为0的点是驻点。通过计算相应的矩阵特征值,驻点可以进一步分为局部极小点、局部极大点和鞍点。一个明确的黑森标志着一个局部的最小[37]。

然而,Bosman等人[38]早期的研究表明,即使对于异或这样简单的问题,随机样本也只能捕获很少的高适合度点,因此不太可能发现局部或全局极小值。此外,随机样本不能捕捉到单个样本点之间的邻近关系,而这对分析吸引域至关重要。除了简单地识别局部最小值的存在或缺失,逃离最小值的可能性,以及最小值的结构,也应该被量化。

均匀随机样本的另一种选择是由随机游走产生的样本。为了进行随机游走,在范围内选择一个随机点,并在随机方向上采取连续的步骤来生成样本。这样,被匹配的点就会在地形上相互联系起来。然而,随机游走步面临着与均匀随机样本相同的问题,对搜索空间的随机遍历并不能保证找到适合度良好[38]的区域。

而不是分析随机行走,一个训练算法的轨迹可以分析。然而,这种方法会使观测结果偏向于特定超参数设置下特定算法的性能。训练算法的收敛性也会阻碍对吸引域的充分挖掘。为了解决这个问题,Bosman等人[38]提出了一种称为渐进梯度行走的采样方法。该方法是对Malan和Engelbrecht[39]提出的渐进随机漫步的一种改进,在渐进随机漫步中,第一次将随机连续方向偏差应用于随机漫步。渐进梯度行走使用损失函数的数值梯度来确定每一步的方向。每一步的大小是在预定义的范围内按照每个维度随机分配的。渐进式梯度行走算法总结如下:(略)

渐进式梯度行走算法需要设置一个参数:最大步长,ε。这种抽样方法的主要优点是,梯度信息与随机性相结合,防止收敛,但引导步行到更高的适应度区域。下一节提出了一种直观的方法来研究渐进梯度行走获得的神经网络损耗面样本。

4.2 损失梯度云

搜索空间中的驻点由梯度的消失来识别,即梯度为0。因此,对于每一点,梯度向量的大小可以计算,以确定点是否平稳。此外,非零损失的驻点可以是局部极小点、局部极大点或鞍点。为了确定一个特定的驻点是局部极小值、局部极大值或鞍点,可以从相应的Hessian矩阵[37]的特征值推导出局部曲率信息。如果特征值为正,则该点为极大值。如果特征值是负的,这个点就是一个最小值。如果特征值既是正的也是负的,那么这个点就是鞍点。如果任一特征值为零,即,如果黑森是不定的,则该检验被认为是不确定的。

因此,需要计算三个指标来识别局部最小值和其他驻点:(1)梯度大小,(2)损失值,(3)局部曲率。为了研究发现的驻点周围的吸引域的性质,同样的度量可以用于计算在驻点附近的采样点。为了避免对吸引域的大小和形状做出假设,三个指标可以对所有采样点进行计算。

因此,高维神经网络搜索空间可以投射到三个维度上:梯度大小、损失值和局部曲率。为了研究梯度大小和损失值之间的相互作用,提出了一个二维散点[40]投影,称为损失梯度云,或l-g云。此外,曲率可以通过为凸、凹、鞍和不定曲率指定一种独特的颜色来表示在同一图上。散点图是一种常用的统计工具,用来显示用相同的观测单位[40]测量的两个变量之间的关系。散点图可以使用统计可视化工具生成任何给定的多变量数据,如ggplot[41]。据作者所知,本研究首次使用散点图来可视化NN损失曲线形态。
一个l-g云的例子如图1所示。损耗值在x轴上显示,梯度大小在y轴上显示。根据四种曲率类型,将采样点分割为4块。图1显示了采样非零损耗的凸平稳点。因此,采样搜索空间显示出局部极小值。
在这里插入图片描述
l-g云的主要优点是对高维搜索空间的二维、可解释的表示,这是很难研究的。研究在二维空间中发现的驻点,允许识别局部和全局吸引子的总数,对应唯一的损失值。由l-g云来可视化呈现吸引子的梯度行为,并能提供关于吸引域结构的有用的见解,如吸引域的陡度等,和连通性,即抽样算法从局部吸引子过渡到全局吸引子的能力。L-g云允许对损失表面形态特性进行实证研究,并使不同NN配置产生的损失曲线之间的比较成为可能。由于采样点之间的距离不能在l-g云中表示,因此不能使用该技术估计实际的明显局部极小值和其他吸引子的数量。L-g云提供了关于非零损失的静态吸引子总数的信息。下一节提出两个额外的指标来量化相应的吸引域。

4.3 量化吸引域

渐进式梯度行走是通过在最陡梯度下降的一般方向上采取大小一致的随机步骤来采样搜索空间。如果在负梯度方向上采取的一步太大,这一步可能会错过一个低误差区域,而导致一个高误差区域。因此,渐进式梯度行走并不一定会产生一系列误差值严格不增加的点。事实上,任何基于梯度的样本或算法轨迹都可能表现出振荡行为,如果某些维度的梯度明显比其他维度的[42]更陡。

即使梯度阶跃序列不一定严格地减小误差,但样本仍有望沿全局最小值的一般方向移动。基于梯度的行走振荡或以其他方式不能减少错误的曲线区域是搜索空间的静止区域,可能阻碍优化过程。对这些区域的数量和范围进行量化,可以表明搜索空间的“难度”,以及对曲线形态的经验估计。因此,需要估计的一个重要的误差曲线属性是采样算法在过程中“卡住”的次数。

为了平滑样本的电位振荡,可以计算出样本的指数移动平均。指数加权移动平均(EWMA)[43]是一种常用的时间序列预测平滑滤波器。EWMA通过考虑之前的所有步骤来计算时间序列中每一步的移动平均,并为之前的步骤分配指数衰减权值,这样,序列中每一步的权值都以指数衰减,永远不会达到零。

为了确定样本的行为是停滞的部分,光滑样本的标准偏差首先被计算。然后,使用滑动窗口方法生成样本的移动标准差序列。对于若干个步骤,如果当前窗口内的值的标准差小于整个样本的标准差,那么这些步骤就可以说形成了一个停滞序列。每个样本平均遇到的停滞区域数n stag和停滞区域的平均长度l stag可以用来量化搜索空间中存在的吸引域的数量和大小。所提出的方法如图2所示。模拟的行走在三个不同的误差值周围振荡。移动标准差线三次低于全样本标准差阈值,对应三个模拟停滞区。
在这里插入图片描述
图2说明窗口大小对吸引域估计有显著影响:平滑过少(图2 (a))可能导致波动被认为是平稳区域。另一方面,过度的平滑(图2 (d))可能无法检测到所有的静态区域。因此,窗口大小必须优化每个样本。如果序列包含振荡,那么过少的平滑将导致多个“峰值”在行走中被视为停滞区域。这些短暂的“停滞”爆发将产生一个小的平均域长度,l stag。如果序列被过分地平滑,样本将开始越来越像一个波,认为平坦的区域是有倾斜的区域,这将再次导致l stag减小。因此,平滑度过低或过高都会使l角收缩。因此,可以通过最大化l stag值来优化窗口大小w。表1列出了在w的不同取值下,在图2所示的模拟行走中获得的l stag值。从表1可以看出,当w = 8时,l stag达到最大值,w值越大,l stag越小。
在这里插入图片描述
值得注意的是,n stag和l stag是近似值,在某些情况下可能会产生误导的结果。具体来说,如果观察到的序列是混乱的,即没有出现收敛或停滞区域,则n和l鹿提供的估计可能过于乐观。为了最大化l stag,该算法将对混沌序列应用过度平滑,潜在地将混沌波动解释为多个停滞区域。一般来说,因为算法的设计是为了使估计的滞止长度最大化,对于没有表现出任何形式的滞止的序列,错误的结果是预期的。下一节将讨论为实证检验所提出的模态可视化和量化技术而进行的实验。

5 实验过程

本研究的目的是在视觉上和数值上研究由二次损失函数和熵损失函数所显示的局部最小值和吸引域。本节讨论了本研究的实验设置,其结构如下:第5.1节列出了实验中使用的基准问题和神经网络的超参数;5.2节概述了采样算法参数,以及每个采样点记录的数据。

5.1 基准问题

本研究选取了一些已知的不同维度的分类问题。表2总结了每个数据集使用的神经网络体系结构参数,以及生成的权值空间的总维数。指定的数据源指向了每个采用的数据集和/或NN体系结构的出版物。
在这里插入图片描述下面简要讨论每个数据集的属性:

  1. 异或:异或(XOR)是一个简单的,但线性不可分的问题,可以通过一个具有至少两个隐藏神经元的前馈神经网络来解决。因此,异或常被用于分析人工神经网络的基本性质。数据集由4个二进制模式组成。
  2. 鸢尾:著名的鸢尾花数据集[44]包含了三种鸢尾花(Setosa鸢尾、Versicolour鸢尾和Virginica鸢尾)各50个样本。数据集中有150只斑燕鸥。
  3. 糖尿病:糖尿病数据集[45]收集了768名印度皮马人的个人数据,分为糖尿病阳性和糖尿病阴性。
  4. 玻璃:玻璃数据集[45]收集玻璃碎片的化学成分。每一个玻璃碎片属于六类之一:浮处理或非浮处理建筑窗户,车辆窗户,容器,餐具,或头灯。数据集中有214种模式。
  5. 癌症:乳腺癌威斯康星(诊断)数据集[45]包含699个模式,每个模式包含肿瘤描述符,以及良性或恶性的二元分类。
  6. 心脏:心脏病预测数据集[45]包含920个模式,每个模式描述不同的患者描述符。
  7. MNIST:手写数字[46]的MNIST数据集包含70,0000个从0到9的灰度级手写数字示例。在本研究中,将二维输入视为一维矢量。

除了异或之外,所有问题的输入值都通过减去每个输入维度的平均值,并将每个输入变量缩放为单位方差来标准化。对于有两个输出类的问题,所有输出都是二进制编码的,对于有两个以上输出类的问题,则使用一个热二进制编码。

所有实验都采用了单隐藏层的前馈神经网络。实验中使用的是sigmoid激活函数。虽然激活函数的选择对所产生的误差有显著影响,但本研究的目的是探讨二次损失和熵损失之间的差异。

5.2 取样参数

为了对误差小的区域进行采样,我们使用了第4节讨论的渐进梯度行走作为采样机制。为了保证搜索空间的充分覆盖,将独立行走的次数设置为问题维数高一个数量级,即对于一个d维的问题,进行10 × d的独立渐进梯度行走。行走不受搜索空间边界的限制,但是考虑了两个不同的初始化范围,即[−1,1]和[−10,10]。较小的范围通常用于NN权值初始化。更大的范围可能包含高适应性的解决方案[33]。由于行走的粒度,即平均步长,与结果FLA指标[28]有关,在整个实验中使用了两个粒度设置:微粒度,最大步长设置为初始化范围的1%,宏粒度,最大步长设置为初始化范围的10%。微步每次执行1000步,宏步每次执行100步。

对于除异或问题外的所有问题,数据集被分成80%的训练子集和20%的测试集。利用训练集计算梯度的方向,以及当前点在行走过程中的误差。测试集用于评估行走过程中每个点的泛化能力。为了计算训练和泛化误差,整个训练/测试子集被用于除MNIST之外的所有问题。对于MNIST,从各自的训练集和测试集中随机抽取100个模式。

为了识别梯度行走发现的平稳点,记录每步梯度向量的大小和损失值。此外,计算了每一步的Hessian矩阵特征值,并将每一步分类为凸、凹、鞍或奇异。

6 实验结果

本节介绍观察到的局部极小值和由渐进梯度行走所捕获的相应吸引域的分析。对于每个问题,都会产生l-g云并进行分析。然后,研究了n stag和l stag的值。下面将讨论每个问题得到的结果。

7 结论展望

本研究对两种常见的神经网络损失函数(即二次损失和熵损失)的局部极小值和相关吸引域进行了可视化和数值分析。这项研究是通过分析一些与问题维度成比例的递进梯度行走获得的样本来进行的。梯度行走不受任何特定搜索空间边界的限制,而是以两个不同的区间(即[−1,1]和[−10,10])初始化。此外,还考虑了微观粒度和宏观粒度两种梯度行走粒度设置。

这项研究提出了一个直观的可视化局部最小值和相关的吸引域的方法,即损失梯度云。通过绘制对应梯度向量大小的采样损失值,可以很容易地识别平稳点。为了将被识别的驻点分类为极小、极大或鞍点,利用Hessian矩阵信息识别每个采样点的曲率。

此外,本研究提出两个简单的指标,以确定吸引域的数目和范围的抽样步行。通过多次行走计算统计指标,可以了解各个域的连通性,以及从吸引域逃逸的可能性。

对于异或问题,两个损失函数都表现出凸局部极小。所观察到的凸度随问题维度的增加而减少。鞍形曲率是观测到的最普遍的曲率,一些高维问题的所有采样点都只有鞍形曲率。

与CE相比,SSE始终表现出更多的局部平稳点和相关的吸引子。对个体行走的进一步分析表明,不同吸引子之间的转换是不可能的,连接不同吸引子的路径表现出奇异的黑森矩阵,表明了平坦性。因此,在本研究考虑的问题选择中,CE表现出了更一致和可搜索的结构。

随着问题维数的增加,零或低梯度吸引子的数量减少。大多数问题在全局最优解周围都有一个单一的主吸引子。对于CE,梯度大部分与误差值呈正相关,这说明从基于梯度的方法来看,CE损失面具有很高的可搜索性。本研究没有试图量化最优值的数量,但得到的结果清楚地表明,大多数的最优值表现出类似的损失值。

结果证实了之前在神经网络误差曲线中观察到的山谷形最优点的存在。对于大多数问题来说,下到山谷很容易就能解决,只要步行就行了。沿着谷底向全局最小值移动时,CE和SSE的泛化表现都有所下降。在所有实验中,CE表现出比SSE更强的梯度,这促进了CE的过拟合。对于某些问题,SSE综指表现出较好的泛化性能。可以推测,CE损耗面比SSE更容易出现尖锐的极小值(狭窄的山谷);因此,CE更容易过拟合。实验结果表明,CE上采样的点有两大趋势,一是低误差高梯度点,二是高误差低梯度点。假设它们分别代表窄谷和宽谷。这项研究的结果证实了超先验的泛化性能是由宽谷中的点表现出来的。

因此,对渐进梯度样本的分析说明了当前许多关于神经网络误差表面形状的理论,并强调了SSE和CE损失表面之间的差异,证实FLA是一种可行的方法来可视化和分析神经网络误差曲线。未来的研究将使用FLA来分析各种激活函数以及神经网络架构对产生的不动点和吸引域的影响。

SSE曲线可能有优越的泛化特性的观察表明,SSE和CE的混合可能产生一个曲线,结合了CE的搜索性和SSE的稳健性。此外,所考虑的大多数问题中都存在单一的吸引子,这表明在神经网络训练的目的中,应该采用利用性而不是探索性的方法。这一发现对基于群体的训练算法有很强的启示作用,迄今为止,该算法未能有效地应用于高维神经网络的训练问题。一种基于群体的方法在设计时考虑的是利用而不是探索,可能会有竞争性,特别是当梯度信息被用作群体的指南之一时。这一假设得到了最近在高维空间[49]中的粒子群优化研究的进一步支持,该研究观察到在高维空间中开发的有效性高于探索。基于群体的利用技术在网络神经网络中的应用是未来研究的热点。

另一个有趣的发现是,随机算法在只受梯度方向指导的情况下,能够找到全局最优解,这种能力令人印象深刻。如附录B所示的最后一步计算的平均分类误差,在至少一种粒度设置下,在大多数问题上,梯度行走的精度接近100%。也许梯度引导的随机训练算法应该考虑到更深,更复杂的问题。

标签:误差,研读,梯度,损失,神经网络,可视化,行走,吸引
来源: https://blog.csdn.net/weixin_43413013/article/details/115187165