综论

当我们尝试优化我们的深度学习模型时,我们常常有多种思路或想法可以选择,在众多选择的情况下,我们需要更为系统的策略来指导我们以尽可能快的速度优化我们的模型,这就需要系统化的优化策略。

正交化 (Orthogonalization)

核心思想

正交化的核心思想在于将模型优化的不同方向分开独立处理,避免在执行一次优化时各个优化指标相互耦合,彼此制约,导致优化难以推进或者需要频繁做出权衡。

单一数字评估指标

当我们优化我们的模型时,相比采用多个参数来量化我们模型的性能,更直接的解决策略是设法设立一个单一的量化指标,能够给我们直接的优化思路与比较策略。
例如利用 $F_{1}$ 分数将 precision 与 recall 参数结合

$$ \begin{align} & precision = \frac{TP}{TP + NP}
& recall = \frac{TP}{TP + TN}
& F_{1} = \frac{2}{\frac{1}{P} + \frac{1}{R}} \end{align} $$

满足与优化指标

当我们在优化模型性能时,我们的优化指标常常根据我们的需求可分为两类,一方面时优化指标 (optimizing metrics),我们希望不断提升;另一方面是满足指标 (satisficing metrics),我们只需要满足其下限

训练/开发/测试集划分

  • 开发集与测试机来自于同一分布 -> 使得针对开发集的优化目标与测试机相吻合
  • 深度学习大模型中训练集的规模远大于测试集与开发集

优化方向

在机器学习领域,对于适用于能够以人的误差衡量的任务,我们常常将人的误差作为我们机器学习建立的模型的优化方向。

[!Important] 为什么需要优化方向
在机器学习领域中,我们常常有多种手段去调整我们的模型的最终表现,包括改变训练算法,调整网络架构,优化数据集以及调整超参数等一系列手段,而通过衡量当下模型性能与理论上能达到的最优值之间的差距能给我们关于具体采取策略的侧重点与指引,从而提高整体训练效率
但是人群内部不同群体能达到的表现性能方差也较大,所以能否选择合适的对人的表现的衡量会深刻地影响到我们对当下模型性能的感知,并决定后续的优化方向

误差分析

通过分析统计训练模型表现不良的样本,我们可以尝试找到当下模型在具体某个领域的不足,如是否对训练数据进行过拟合,是否错误理解了输入的某个特征,或者当前训练集或测试集存在标注错误等。
通过进行误差分析,我们也可以定位模型改进的大致方向

[!Important] 错误标注数据处理

  • 训练集错误

深度学习算法对训练集中的随机错误较为稳定,只要错误比例不高,在大规模数据的情况下,这些错误标注的数据视为噪声,不用手动修正

  • 开发集或测试集错误

评估因数据的错误标注导致的错误输出占比,并衡量其重要性。如果修改,注意保持开发集与测试集来自同一分布

环境与分布偏移

4.9. 环境和分布偏移 — 动手学深度学习