动手学深度学习Task3笔记

2020-02-19  本文已影响0人  GaryLi077

过拟合、欠拟合及其解决方法

  1. 过拟合、欠拟合定义
  1. 影响过拟合、欠拟合的因素
  1. 权重衰减
    权重衰减等价于L_2范数正则化。正则化通过为模型损失函数添加惩罚项使学出的模型参数值较小,是应对过拟合的常用手段。
    L_2范数正则化在模型原损失函数基础上添加L_2范数惩罚项,从而得到训练所需要最小化的函数。L_2范数惩罚项指的是模型权重参数每个元素的平方和与一个正的常数的乘积。以线性回归中的线性回归损失函数为例
    \ell(w_1, w_2, b) = \frac{1}{n} \sum_{i=1}^n \frac{1}{2}\left(x_1^{(i)} w_1 + x_2^{(i)} w_2 + b - y^{(i)}\right)^2
    将权重参数用向量\boldsymbol{w} = [w_1, w_2]表示,带有L_2范数惩罚项的新损失函数为
    \ell(w_1, w_2, b) + \frac{\lambda}{2n} |\boldsymbol{w}|^2
    其中超参数\lambda > 0。当权重参数\lambda均为0时,惩罚项最小。当\lambda较大时,惩罚项在损失函数中的比重较大,这通常会使学到的权重参数的元素较接近0。当\lambda设为0时,惩罚项完全不起作用。权重衰减通过惩罚绝对值较大的模型参数为需要学习的模型增加了限制,这可能对过拟合有效。
  2. 丢弃法
    多层感知机中神经网络图描述了一个单隐藏层的多层感知机。其中输入个数为4,隐藏单元个数为5,且隐藏单元h_i(i=1, \ldots, 5)的计算表达式为
    h_i = \phi\left(x_1 w_{1i} + x_2 w_{2i} + x_3 w_{3i} + x_4 w_{4i} + b_i\right)
    丢弃法不改变其输入的期望值。让我们对之前多层感知机的神经网络中的隐藏层使用丢弃法,一种可能的结果如图所示,其中h_2h_5被清零。这时输出值的计算不再依赖h_2h_5,在反向传播时,与这两个隐藏单元相关的权重的梯度均为0。由于在训练中隐藏层神经元的丢弃是随机的,即h_1, \ldots, h_5都有可能被清零,输出层的计算无法过度依赖h_1, \ldots, h_5中的任一个,从而在训练模型时起到正则化的作用,并可以用来应对过拟合。在测试模型时,我们为了拿到更加确定性的结果,一般不使用丢弃法。

梯度消失、梯度爆炸

  1. 层数比较多的神经网络模型在使用梯度下降法对误差进行反向传播时会出现梯度消失和梯度爆炸问题。梯度消失问题和梯度爆炸问题一般会随着网络层数的增加变得越来越明显。
  2. 随机初始化模型参数
    如果将每个隐藏单元的参数都初始化为相等的值,那么在正向传播时每个隐藏单元将根据相同的输入计算出相同的值,并传递至输出层。在反向传播中,每个隐藏单元的参数梯度值相等。因此,这些参数在使用基于梯度的优化算法迭代后值依然相等。之后的迭代也是如此。在这种情况下,无论隐藏单元有多少,隐藏层本质上只有1个隐藏单元在发挥作用。因此,正如在前面的实验中所做的那样,我们通常将神经网络的模型参数,特别是权重参数,进行随机初始化。


  3. 考虑环境因素
上一篇 下一篇

猜你喜欢

热点阅读