基于地震数据配置神经网络的损失函数

上一篇文章中,我们描述了一个实验,该实验确定使用地震数据训练神经网络的手动标记部分的最小数量。今天,我们通过选择最合适的损失函数来继续这个主题。

考虑了两个基本的功能类别-二元交叉熵和“相交相交”-在具有参数选择的6个变体中,以及不同类别的功能的组合。另外,考虑损失函数的正则化。

破坏者:设法显着提高网络预测的质量。



商业研究目标


我们将不再重复对地震勘测的细节,获得的数据及其解释任务的描述。所有这些都在我们之前的文章中进行描述

这项研究的想法是由2D切片上寻找盐沉积物竞争结果引起的。根据比赛的参加者,在解决这个问题时,使用了具有各种损失函数的整个动物园,而且取得了不同的成功。

因此,我们问自己:在这类数据上的此类问题是否真的有可能选择损失函数来显着提高质量?还是只有在比赛条件下才有此特征,因为组织者预定义的指标要争夺小数点后第四或第五位?

通常,在借助神经网络解决的任务中,学习过程的调整主要基于研究人员的经验和一些启发式方法。例如,对于图像分割任务,基于评估已识别区域的形状的重合性(即所谓的“相交上方”),最常使用损失函数。

凭直觉地,基于对行为和研究结果的理解,这些类型的函数将比没有通过图像锐化的函数(如交叉熵函数)产生更好的结果。尽管如此,整体上针对此类任务寻找最佳选择的实验仍在继续,每个任务单独进行。

准备用于解释的地震数据具有许多特征,这些特征可能会对损失函数的行为产生重大影响。例如,分隔地质层的地层是光滑的,仅在断层处更急剧地变化。另外,区别区域相对于图像具有足够大的面积,即相对于图像而言。解释结果上的小斑点通常被认为是识别错误。

作为该实验的一部分,我们试图找到以下本地问题的答案:

  1. 交集类别的交集的损失函数真的是针对以下问题考虑的最佳结果吗?答案似乎很明显,但是哪一个呢?从业务角度来看,最好的是多少?
  2. 通过组合不同类别的功能可以改善结果吗?例如,具有不同权重的“交集”和“交叉熵”。
  3. 通过为损失函数添加专门为地震数据设计的各种附加项,是否可以改善结果?

还有一个更全球性的问题:

为解释地震数据而选择损失函数是否值得打扰,还是质量的提高与进行此类研究所花费的时间不相称?也许值得直观地选择任何功能并花精力在选择更重要的训练参数上吗?

实验的一般说明和使用的数据


对于实验,我们承担了在地震多维数据集的2D切片上隔离地质层的相同任务(请参见图1)。


图1. 2D切片的示例(左)和相应的地质层标记的结果(右)(),

以及来自北海荷兰地区的同一组完全标记的数据。原始地震数据可在开放地震资料库:Project Netherlands Offshore F3 Block网站上获得。简短的描述可以在Silva等人的文章中找到。 “荷兰数据集:用于地震解释中机器学习的新公共数据集

由于在我们的案例中,我们谈论的是2D切片,因此我们没有使用原始的3D立方体,而是使用了已经提供的“切片”,可在此处找到:荷兰F3解释数据集

在实验过程中,我们解决了以下问题:

  1. 我们查看了源数据并选择了质量与手动标记最接近的切片(类似于之前的实验)。
  2. 我们记录了神经网络的体系结构,训练的方法和参数,以及选择用于训练和验证的切片的原理(类似于先前的实验)。
  3. 我们选择了研究的损失函数。
  4. 我们为参数化损失函数选择了最佳参数。
  5. 我们在相同的数据量上训练了具有不同功能的神经网络,并选择了最佳功能。
  6. 我们在相同数量的数据上训练了具有所选功能与另一类功能的不同组合的神经网络。
  7. 我们在相同数量的数据上训练了所选功能的正则化神经网络。

为了进行比较,我们使用了先前实验的结果,在该实验中,损失函数是唯一直观地选择的,并且是不同类别的函数的组合,系数也被“肉眼”选择。

该实验的结果以估计量度的形式显示,并由切片蒙版的网络预测。

任务1.数据选择


作为初始数据,我们使用了北海荷兰地区的地震立方体的现成内嵌线和交叉线。与之前的实验一样,为了模拟网络的翻译工作,我们在看完所有切片之后,只选择了干净的口罩。结果,从〜1600个源图像中选择了700条交叉线和400条内联线。

任务2.固定实验参数


首先,对于数据科学领域的专家来说,本节及以下各节是有意义的,因此,将使用适当的术语。

为了进行训练,我们选择了切片总数的5%,此外,内联和交叉线的比例相等。 40 +40。整个立方体均匀地选择切片。为了验证,在训练样本的相邻图像之间使用了1个切片。因此,验证样本由39条内联线和39条交叉线组成。

321个内联线和621个交叉线落入延迟样本中,在此样本上比较了结果。

与先前的实验类似,未执行图像预处理,并且使用具有相同训练参数的相同UNet体系结构。

目标切片蒙版以尺寸为HxWx10的二进制立方体表示,其中最后一个维度对应于类的数目,并且立方体的每个值为0或1,具体取决于图像中的此像素是否属于相应层的类。

每个网络预测都是一个相似的立方体,其每个值都与给定图像像素属于相应层类别的概率有关。在大多数情况下,通过使用S型曲线可以将此值转换为概率本身。但是,不应对所有丢失功能都执行此操作,因此激活未用于网络的最后一层。而是在函数本身中执行了相应的转换。

为了减少初始权重选择的随机性对结果的影响,网络在1个时代进行了训练,并使用了二进制交叉熵作为损失的函数。所有其他培训都从获得这些权重开始。

任务3.损失函数的选择


对于实验,从6个变体中选择了2个基本函数类:

二元互熵

  • 二元交叉熵
  • 加权二进制交叉熵;
  • 平衡二元交叉熵。

联合路口

  • 提卡损失;
  • 特维尔斯基损失;
  • Lovász损失。

本文 对Keras的代码进行了简短的描述在这里,我们提供最重要的链接(如果可能),以链接到每个功能的详细说明。

对于我们的实验,训练过程中使用的功能的一致性与度量标准很重要,通过该度量标准,我们可以评估延迟样本上的网络预测结果。因此,我们使用在TensorFlow和Numpy上实现的代码,直接使用以下公式编写。

公式中使用以下表示法:

  • pt-二进制目标掩码(地面真相);
  • pp-网络预测掩码。

对于所有功能,除非另有说明,否则假定网络预测掩码包含图像中每个像素的概率,即 间隔(0,1)中的值。

二元交叉熵


说明:https//towardsdatascience.com/understanding-binary-cross-entropy-log-loss-a-visual-explanation-a3ac6025181a



此功能旨在使网络预测分布更接近目标,不仅惩罚错误的预测,还惩罚不确定的预测。

加权二元交叉熵




此函数与beta值为1的二进制交叉熵重合。建议用于强类不平衡。对于beta> 1,错误否定预测的数量(错误否定)减少,完整性(召回率)增加;对于beta <1,错误肯定性预测的数量(False Positive)减少,准确性提高(精确度)。

平衡二元交叉熵




此函数类似于加权交叉熵,但它不仅校正目标蒙版的零值,而且还校正零值的影响。与二进制互熵符合(最大为常数),系数β= 0.5。

抽卡丢失


提花系数(又称为“联合上的交集”,IoU)确定两个区域“相似性”的度量。Dice索引执行相同的操作:



考虑这两个函数没有任何意义。我们选择了提花。

对于使用二进制蒙版指定两个区域的情况,可以根据蒙版的值轻松地重写上述公式:



对于非二进制预测,提花系数的优化是一项不平凡的任务。我们将对预测掩码中的概率使用相同的公式,作为对初始系数的某种模仿,并因此使用以下损失函数:



特维尔斯基损失


说明:https : //arxiv.org/pdf/1706.05721.pdf



此函数是提花系数优化的参数化版本,该提要系数在alpha = beta = 1时与之匹配,而Dice索引在alpha = beta = 0.5时与之吻合。对于其他非零和非重合的值,我们可以将加权的重点转移到准确性或完整性上,方法与加权和平衡交叉熵的函数相同。

可以使用位于区间(0,1)中的单个系数来重写强调偏移问题。产生的损失函数将如下所示:



洛瓦兹损失


很难给出该函数的公式,因为它是通过基于分类错误的算法来优化提花系数的选项。

你可以看到功能的描述这里的代码选项之一是在这里

重要说明!


为了简化下文中的值与图形的比较,在术语``提花系数''下,我们将进一步理解减去系数本身的单位。雅卡(Jaccard)损失是优化此比率的一种方法,特维尔斯基(Tversky)损失和洛瓦斯(Lovász)损失也是如此。

任务4.为参数化损失函数选择最佳参数


为了在同一数据集上选择最佳损失函数,需要一个评估标准。就他的素质而言,我们选择了所得面罩上连接组件的平均/中位数。此外,我们将提花系数用于转换为单层argmax的预测蒙版,并再次分为二值化层。

所获得的每个预测上所连接的组件(即相同颜色的实心斑点)的数量是用于由口译员评估其后续优化量的间接标准。如果该值为10,则正确选择了图层,我们正在谈论的是次地平线校正的最大值。如果没有更多,则只需要“清洁”图像的小区域。如果有更多的话,那么一切都不好,甚至可能需要重新布局。

提花系数又表征了分配给一个类别的图像区域及其边界的重合。

加权二元交叉熵


根据实验结果选择参数beta = 2:


图2.比较网络预测质量和选择核心损耗函数的准则


图3.统计连接部分参数beta值的数量

平衡二元交叉熵


根据实验结果,选择参数beta = 0.7的值:


图4.通过主要损耗函数和所选准则对网络质量进行预测的比较


图5.连接组件数量的统计数据

特维尔斯基损失


根据实验结果,选择参数beta = 0.7的值:


图6.通过主要损失函数和选择的标准


对网络预测质量的比较图7. 通过主要损失函数和选择的标准对网络预测质量的比较

可以从图中得出两个结论。

首先,所选标准相互之间具有很好的相关性,即 提花系数与必要精制量的估计值一致。其次,交叉熵损失函数的行为在逻辑上与准则的行为有很大的不同,即 仅培训此类功能而不对结果进行额外评估仍然是不值得的。

任务5.选择最佳损失函数。


现在比较在同一数据集上显示所选6个损失函数的结果。为了完整起见,我们添加了先前实验中获得的网络预测。


图8.根据选择的准则使用不同损失函数训练的网络的预测比较

表1. 标准的平均值




图9.通过具有指定数量的连接组件的预测数量对网络的预测比较

从给出的图表和表格中,可以得出关于“独奏”使用的以下结论损失函数:

  • 在我们的案例中,Union类的Intersection的``提花''功能确实显示出比交叉熵更好的值。而且,明显更好。
  • Lovazh loss.

让我们在视觉上将Lovazh损耗值最好和最差之一的切片的预测值与所连接组件的数量进行比较。目标掩码显示在右上角,在上一个实验中获得的预测显示在右下角:


图10.最佳切片


之一的网络预测图11. 最佳切片之一的网络预测

可以看出,所有网络在易于识别的情况下均能正常工作片。但是,即使在所有网络均错误的无法识别的片段上,对Lovazh损失的预测在视觉上也比其他网络的预测要好。尽管它是此功能最严重的损失之一。

因此,在此步骤中,我们确定了一个明确的领导者-Lovazh损失,其结果可以描述如下:

  • 大约60%的预测接近理想水平,即 仅需对地平线的各个部分进行调整;
  • 大约30%的预测包含不超过2个额外点,即 需要稍作改进;
  • 大约1%的预测包含10至25个额外的广告位,即 需要实质性的改进。

在此步骤中,仅替换损失函数,与之前的实验相比,我们在结果上取得了显着改善。

仍然可以通过组合各种功能来改进它吗?一探究竟。

任务6.选择损失函数的最佳组合


各种性质的损失函数的组合经常使用。但是,找到最佳组合并不容易。一个很好的例子是先前实验的结果,结果比“独奏”功能还要糟糕。这种组合的目的是通过根据不同的原理进行优化来改善结果。

让我们尝试与其他人(而不是连续全部)一起对上一步中选择的函数的不同选项进行排序。在这种情况下,我们将自己限制为不同类型的函数与交叉熵函数的组合。考虑相同类型的功能组合是没有意义的。

总计,我们检查了3对,每对有9个可能的系数(从0.1 \ 0.9到0.9 \ 0.1)。在下图中,x轴显示Lovazh损失之前的系数。第二个函数之前的系数等于一个减去第一个函数之前的系数。左边的值只是一个交叉熵函数,右边的值只是Lovazh损失。


图12.在BCE + Lovazh上训练的网络的预测结果的


评估图13. 在BCE + Lovazh上训练的网络的预测


结果的评估

可以看出,选择的“独奏”功能没有通过增加交叉熵来改善。在竞争环境下,提花系数的某些值减小1-2千分之一可能很重要,但不能弥补因连接组件数标准而导致的业务恶化。

为了验证不同类型功能组合的典型行为,我们进行了一系列有关Jaccard丢失的训练。对于仅一对而言,两个标准的值同时略有改善:

0.8 * JaccardLoss + 0.2 * BBCE
所连接组件的平均值:11.5695-> 11.2895
Jaccard的平均值:0.0307-> 0.0283

但即使这些值也比``独奏''洛瓦兹损失更糟糕。

因此,只有在竞争条件下或有空闲时间和资源的情况下,才有必要研究数据上不同性质的功能的组合。要实现质量的大幅提高,不太可能成功。

任务7.最佳损失函数的正则化。


在这一步,我们尝试通过专门为地震数据设计的附加功能来改进先前选择的损失函数。这是文章中描述的正则化:“地球物理学家的神经网络及其在地震数据解释中的应用

文章提到,像地震数据的权重衰减之类的标准正则化方法效果不佳。相反,提出了一种基于梯度矩阵范数的方法,旨在平滑类的边界。如果我们记得地质层的边界应该是光滑的,那么这种方法是合乎逻辑的。

然而,当使用这种正则化时,人们应该期望通过提花准则使结果有所恶化,因为平滑的类边界不太可能与通过手动标记获得的可能的突然过渡一致。但是,我们还有另一个验证标准-通过连接的组件数。

我们用文章中描述的正则化及其前面的系数训练了13个网络,取值从0.1到0.0001。下图显示了这两个标准的一些等级。


图15.通过选定标准对网络质量进行预测的比较


图16.在进行正则化之前,根据系数值对连接组件的数量进行统计

可以看出,系数为0.025的正则化显着减少了所连接组件数准则的统计量。但是,这种情况下的提花标准有望提高到0.0357。但是,与手动精简的减少相比,这是一个轻微的增加。


图17.将网络预测与指定数量的连接组件的预测数量进行

比较最后,我们针对先前选择的最差切割比较目标和预测掩码上的类边界。


图18.最坏切片之一的网络预测


图19.目标蒙版和预测的部分地平线覆盖

从图中可以看出,预测蒙版在某些地方当然是错误的,但同时它也平滑了目标层的振荡,即 更正初始标记中的小错误。

具有正则化功能的所选损失函数的摘要特征:

  • 约有87%的预测接近理想水平,即 仅需对地平线的各个部分进行调整;
  • 大约10%的预测包含1个额外点,即 需要稍作改进;
  • 约3%的预测包含2至5个额外点,即 需要更多实质性的改进。

发现


  • 仅通过调整一个学习参数(损失函数),我们就可以显着提高网络预测的质量,并将必要的优化量减少大约三倍。
  • Intersection over Union ( Lovazh loss) . -, .
  • -, . , .. .

:


  1. Reinaldo Mozart Silva, Lais Baroni, Rodrigo S. Ferreira, Daniel Civitarese, Daniela Szwarcman, Emilio Vital Brazil. Netherlands Dataset: A New Public Dataset for Machine Learning in Seismic Interpretation
  2. Lars Nieradzik. Losses for Image Segmentation
  3. Daniel Godoy. Understanding binary cross-entropy / log loss: a visual explanation
  4. Seyed Sadegh Mohseni Salehi, Deniz Erdogmus, and Ali Gholipour. Tversky loss function for image segmentation using 3D fully convolutional deep networks
  5. Maxim Berman, Amal Rannen Triki, Matthew B. Blaschko. The Lovasz-Softmax loss: A tractable surrogate for the optimization of the intersection-over-union measure in neural networks
  6. Bas Peters, Eldad Haber, and Justin Granek. Neural-networks for geophysicists and their application to seismic data interpretation

All Articles