1. 当验证误差没有进一步改善时,算法就提前终止。这种策略被称作早停。

    2. 早停是深度学习中最常用的正则化形式,因为它简单、有效。

    3. 当训练终止时,返回的不是最新的模型参数,而是验证误差最小的模型参数,因此需要频繁存储模型参数。

    1. 早停算法:

      • 输入:

        • 当前验证集的误差非最小值的次数 五、早停 - 图1
        • 验证集验证的间隔
        • 初始参数 五、早停 - 图2
      • 输出:

        • 最佳参数
        • 获得最佳参数时迭代的步数 五、早停 - 图3
      • 算法步骤:

        • 初始化:

          • 参数变量
          • 迭代步数变量 五、早停 - 图4
          • 验证次数变量
          • 验证集的最小误差 五、早停 - 图5
          • 最佳参数
          • 最佳迭代步数 五、早停 - 图6
        • 循环,循环条件为: :

          • 更新 五、早停 - 图7

          • 记录最新的验证集误差

          • 如果 五、早停 - 图8,则: 。

            如果 五、早停 - 图9,则: 。

    2. 可以认为早停是一个非常高效的超参数选择算法:训练步数是一个超参数,该超参数在验证误差上具有 形曲线。

      • 早停策略通过控制训练步数来控制模型的有效容量 。
      • 早停策略只需要跑一轮训练就能够得到很多的超参数(即:训练步数)及其对应的验证误差。
    3. 早停策略的代价有两个:

      • 需要在训练期间定期评估验证集。

        • 可以通过并行的执行训练和验证来加速这一过程。
        • 也可以选取一个较小的验证集、或者不那么频繁地评估验证集来减小评估代价。
      • 需要保持最佳的参数的副本。

        这种代价一般可以忽略不计。

    4. 早停是正则化的一种非常不起眼的形式,其优点有:

      • 它几乎不需要干涉基本的训练过程,适合任何模型。
      • 可以单独使用,或者与其他的正则化策略相结合。
      • 早停不仅有正则化的好处,还有降低计算成本的好处。
    5. 以泛化误差的偏差方差分解角度来看,早停试图同时解决偏差和方差,其结果很可能导致得到的模型并不是一个最优的模型。

      五、早停 - 图10

    1. 早停需要验证集,这意味着某些样本不能用于模型的训练过程,这会造成数据的浪费。

      为了更好地利用验证集的样本,可以在早停之后进行额外的训练。在第二轮额外的训练中,所有的训练数据都被包括在内(包括验证集)。

      有两个基本的策略可以用于第二轮训练过程 :

      • 保留迭代步:再次初始化模型,然后使用所有数据再次训练。此时使用第一轮早停确定的最佳步数作为第二轮的迭代步数。

        该策略重新训练模型,成本较高,但是效果较好。

      • 保留参数:保持从第一轮训练中获得的参数,然后使用全部的数据继续训练。此时观察原始验证集的损失函数,直到它低于第一轮停止时的原始训练集的损失函数值。

        该策略避免了重新训练模型的高成本,但是表现一般。

        这是因为一旦将 合并到训练集,则对它们评估的结果就是训练误差(而不再是验证误差)。新的训练误差小于原来的验证误差,并不能说明模型的泛化能力得到了提升。

    2. 保留迭代步二次训练算法:

      • 输入:

        • 训练集 五、早停 - 图11
      • 步骤:

        • 随机选择参数的初始化值 五、早停 - 图12,将 作为训练集, 将 五、早停 - 图13 作为验证集,运行早停算法,返回最佳训练步数
        • 再次选择参数的另一个初始化值 五、早停 - 图14,在 上再次训练 五、早停 - 图15
    3. 保留参数二次训练算法:

      • 输入:

        • 训练集 , 五、早停 - 图16
      • 步骤:

        • 将 和 五、早停 - 图17 分割为 和 五、早停 - 图18

        • 随机选择参数的初始化值 ,将 五、早停 - 图19 作为训练集, 将 作为验证集,运行早停算法,返回算法停止时的目标函数的值 五、早停 - 图20

        • 迭代:

          • 五、早停 - 图21 上训练 步 (每隔 五、早停 - 图22 步检查一次,为了降低评估代价)
    1. 早停将优化过程的参数空间限制在初始参数值 的一个小的邻域内。

    2. 假设参数 五、早停 - 图23 。令 ,它就是无正则化项时使得目标函数最小的权重向量。

      五、早停 - 图24 正则化中的推导相同,有: 。

      五、早停 - 图25 为 在 五、早停 - 图26 处的海森矩阵, 其中 在 五、早停 - 图27 的一个邻域内。

      • 注意:这里并没有加入任何正则化项,而是使用 五、早停 - 图28

      • 将 进行特征分解: 五、早停 - 图29 ,其中 为对角矩阵, 五、早停 - 图30 为特征向量的一组标准正交基。则有:

      • 令参数向量的初始值为原点: 五、早停 - 图31 ,并且选择 使得 五、早停 - 图32( 为 五、早停 - 图33 的特征值)。则经过 次参数更新之后:五、早停 - 图34

    3. 根据 正则化项中的推导结果,有:

      五、早停 - 图35

      如果超参数 满足:五、早停 - 图36 ,则 正则化等价于早停。

    4. 为了求得三个超参数满足的条件,求解:

      五、早停 - 图37

      则有: 。

      两边取对数,然后使用 五、早停 - 图38 的级数展开有(假设 ,且 五、早停 - 图39): 。

      则有:五、早停 - 图40 。即: 的倒数与 五、早停 - 图41 正则化系数的作用类似。

      在给定 的条件下:

      • 五、早停 - 图42 越小,则正则化系数越大。这与以下事实吻合: 从原点出发开始迭代,如果 五、早停 - 图43 越小,则 越靠近原点。
      • 五、早停 - 图44 越大,则正则化系数越小。这与以下事实吻合:此时 迭代足够多步之后会逐渐远离原点。
    5. 假设用学习率 五、早停 - 图45 进行了 个优化步骤(对应于 五、早停 - 图46 个训练迭代), 可以视作模型的有效容量 的度量。

      假设梯度有界,则限制迭代的次数和学习率,会限制 五、早停 - 图47 从 能够到达的范围。五、早停 - 图48 的行为就像是 正则化项的系数的倒数。

    6. 早停比 五、早停 - 图49 正则化更有优势:

      • 早停能够监控验证误差,从而自动在某个较好的参数解的位置终止。

        训练一次就相当于得到了多个超参数 的结果。

      • 采用 五、早停 - 图50 正则化需要多次训练,从而选择合适的超参数 的值。

        这种方式的计算成本太高。