2024.3.10

label smoothing

Label Smoothing的思想是将这种绝对的独热标签变得稍微“柔和”一些。具体来说,对于一个K类分类问题,而不是使用[1, 0, 0, ..., 0]这样的独热标签,Label Smoothing会将标签变为形如[0.9, 0.05, 0.05, ..., 0]的形式,其中正确类别的标签值略低于1,其他错误类别的标签值则为一个小正数,这样的和仍然是1。通过这种方式,模型在训练时会被鼓励减少对任何单个类别过于自信的预测。

优势

  • 提高泛化能力:通过避免模型对训练样本的预测过于自信,Label Smoothing有助于提高模型在未见数据上的泛化能力。
  • 减轻过拟合:由于模型不再追求在训练数据上的完美分类,Label Smoothing可以一定程度上减轻过拟合现象。
  • 提升模型稳定性:Label Smoothing使模型更加关注于不那么确定的样本,从而可能在一些边界情况下提供更加稳健的预测。

warm-up schedule

在训练的最开始,模型的权重是随机初始化的,此时如果直接使用较大的学习率进行训练,可能会导致权重更新过大,使得损失函数快速震荡或发散,从而阻碍了模型的学习过程。为了缓解这个问题,warm-up schedule在训练的前几个epoch逐步将学习率从较小的值增加到预定的初始学习率。这样做可以帮助模型在早期阶段以较小的步长进行稳定的学习,逐渐适应数据的分布,从而为后续使用较大学习率的训练打下稳定的基础。

优势

  • 提高稳定性:通过减少训练初期的震荡,提高模型训练的稳定性。
  • 加快收敛:合理的warm-up策略可以帮助模型更快地收敛到较好的解。
  • 适应大批量训练:对于使用大批量数据进行训练的情况,warm-up可以帮助模型更好地适应数据,尤其是当使用批量归一化(Batch Normalization)等技术时。

关于P, AP, mAP的理解

  • P(Precision):假设你要找的目标是一个特定的行人。当你的模型给出一系列可能匹配的行人时,精确度就是模型正确识别出的行人数量除以模型给出的所有匹配行人的总数量。
  • AP(Average Precision):AP衡量的是模型在找到所有正确匹配的同时保持较少错误匹配的能力。
  • mAP(mean Average Precision):行人重识别任务通常涉及多个查询,每个查询都会有一个AP值。mAP是对所有查询的AP值取平均后得到的指标。它反映了模型在所有查询上整体上的性能,越高说明模型的性能越好。

关于mAP的例子:

假设我们有一个行人重识别系统,我们要评估它在一个小数据集上的性能。这个数据集包含三个行人的查询(query),我们称他们为A、B和C。

  • 步骤1: 计算每个查询的AP(Average Precision)
    查询A
    假设系统返回了4个结果,顺序是:A(正确)、X(错误)、A(正确)、A(正确)。在这种情况下,我们如何计算AP?

第1个正确匹配(A)的精确度是1/1=1.00(因为第一个返回就是A)。
第2个正确匹配(A)的精确度是2/3(前三个结果中有两个是正确的)。
第3个正确匹配(A)的精确度是3/4(前四个结果中有三个是正确的)。
将这三个精确度的平均值计算出来,假设为\(AP_A\)

查询B
假设系统为B返回了3个结果,顺序是:B(正确)、B(正确)、Y(错误)。类似地,我们计算\(AP_B\)

查询C
系统返回了2个结果:C(正确)、Z(错误)。同样,我们计算\(AP_C\)

步骤2: 计算mAP(mean Average Precision)
一旦我们有了每个查询的AP值,mAP就是这些AP值的平均值。假设\(AP_A\)\(AP_B\)\(AP_C\)分别为0.8、0.9和1.0,那么:
\(mAP = \frac{AP_A + AP_B + AP_C}{3} = \frac{0.8+0.9+1.0}{3}\)
​这就给出了整个系统的mAP值。

posted @ 2024-03-11 09:35  yiranxie233  阅读(37)  评论(0)    收藏  举报