读书笔记||神经网络与深度学习第3章

2021/10/22 Deep Learning BookReport Basics 共 1958 字,约 6 分钟

《神经网络与深度学习》第三章粗略读书笔记

交叉熵代价函数

我们希望和期待神经网络可以从错误中快速地学习,而人工神经元再犯错较大的时候学习很有难度。我们的神经元是通过改变权重和偏置,并以一个代价函数的偏导数决定的速度学习。所以我们在说“学习缓慢”时,实际上就是说这些偏导数很小。这种情况实际上就是使用二次代价函数引起的。

交叉熵代价函数可以用来解决上述问题。简单来说,交叉熵是非负的,在神经元达到很好的正确率时会接近0,更重要的是使用交叉熵代价函数时,权重与偏置的偏导数中将不再带有曲线函数的导数项,且将带有输出中的误差作为一个系数。这就意味着交叉熵函数能够使神经网络在误差更大的时候获得更快的学习速度,这一现象并不依赖于如何设置学习速率。

对一个输出神经元,设其目标值为$y=y_1,y_2,…$,实际输出值为$a^L_1,a^L_2,…$,那么可以定义交叉熵如下:

$C=-\frac{1}{n}\sum_x\sum_j[y_j\ln a^L_j+(1-y_j)\ln(1-a^L_j)]$

在一些文献中,交叉熵代价函数可以这样表达:

$L=\sum_x\sum_j CE(I(x,j),P(x,j))$

$L$为代价函数,$CE$表示交叉熵,$I(x,j)$是标志值,$P(x,j)$是实际输出值。

有一种源自信息论的解释交叉熵的标准方式。粗略地说,交叉熵是“不确定性”的一种度量。

过度拟合与规范化

拥有大量自由参数的模型能够描述特别神奇的现象,即使这样的模型能够很好地拟合已有的数据,但并不表示是一个好模型。因为这可能只是因为模型中足够的自由度使得它可以描述几乎所有给定大小的数据集,而不需要真正洞察现象的本质。所以发生这种情形时,模型对已有的数据会表现得很好,但是对新的数据很难泛化。对一个模型真正的测验就是对它没有见过的场景的预测能力。

过度拟合

检测过度拟合的明显方法是跟踪测试数据集合上的准确率随训练变化情况,如果看到测试数据上的准确率不再提升,那么就停止训练。但严格来说这并非是过度拟合的一个必要现象,因为测试集和训练集上的准确率可能会同时停止提升。

书本为了更好地说明问题,举了识别手写数字图像的例子。在所使用的MNIST数据集中,我们载入了三个数据集:test_datatraining_datavalidation_data。其中validation_data(验证集)是用来防止过度拟合的,我们用它来衡量不同的超参数(如迭代器、学习速率、最好的网络架构等)的选择的效果,用这种方法来找到超参数的合适值。这么做的原理是,如果我们设置超参数是基于test_data的话,可能最终我们就会得到过度拟合于test_data的超参数;即我们可能会找到那些符合test_data特点的超参数,但网络的性能并不能够泛化到其他数据集合上。使用validation_data训练获得想要的超参数之后,最终就使用test_data进行准确率测量,这种寻找好的超参数的方法有时候被称为hold out方法。

不过一般来说,最好的降低过度拟合的方式之一还是增加训练样本的量。有了足够的训练数据,就算是一个规模非常大的网络也不大容易过度拟合。

规范化

只有一个固定的网络和固定的训练集合时,可以使用规范化的技术来缓解过度拟合。一种最为常用的规范化手段叫权重衰减(weight decay)或L2规范化。

L2规范化的想法是增加一个额外的项到代价函数上,这个额外的项叫做规范化项。规范化的交叉熵代价函数如下所示:

$C=-\frac{1}{n}\sum_{x j}[y_j\ln a_j^L+(1-y_j)\ln(1-a_j^L)]+\frac{\lambda}{2n}\sum_w w^2$

上式第二个项是所有权重的平方和乘上一个用于量化调整的因子。$\lambda>0$是规范化参数,$n$是训练集合的大小。需要注意的是规范化项中不包含偏置。

直觉地看规范化的效果是让网络倾向于学习小一点的权重;大的权重只有能够给出代价函数第一项足够的提升时才被允许。规范化可以当作一种寻找小的权重和最小化原始的代价函数之间的折中,这两部分之间相对的重要性由$\lambda$的值来控制。

这种规范化手段之所以又叫权重衰减,是因为在规范化的代价函数权重的梯度下降学习规则中,权重$w$前面多了一个因子$1-\frac{η\lambda}{n}$

实践表明,规范化不仅是一种减轻过度拟合和提高分类准确率的方法,还能够使规范化后的网络受局部最优的干扰减少,从而提供更容易复制的结果。

一句话解释规范化减轻过度拟合的原理:小的权重在某种程度上意味着更低的复杂性,也就对数据给出了一种更简单却更强大的解释,因此应该优先选择。这样说实在是太懒了,之后可能在想明白梯度下降法之后再来进一步解释。

文档信息

Search

    Table of Contents