我正在训练一个 OCR 模型,其中 resnet 作为主干,vanilla Transformer 作为 Rimes 数据集的解码器。我尝试了以下实验并得到了这些结果:
没有增强:最佳验证损失==> 111,最佳训练损失==>2.77,测试CER==> 5.75
使用增强:最佳验证损失==> 71,最佳训练损失==>95,测试 CER==> 10.2
损失 = KL 散度损失,在这两种情况下都带有标签平滑。
增强功能:
albumentations.Compose([
albumentations.OneOf(
[
albumentations.MotionBlur(p=1, blur_limit=5),
albumentations.OpticalDistortion(p=1, distort_limit=0.05),
albumentations.GaussNoise(p=1, var_limit=(10.0, 100.0)),
albumentations.RandomBrightnessContrast(p=1, brightness_limit=0.2),
albumentations.Downscale(p=1, scale_min=0.3, scale_max=0.5),
],
p=.5,
),
albumentations.Normalize(),
albumentations.pytorch.ToTensorV2()
])
我很困惑为什么验证损失减少而 CER 增加。仅在 Rimes 数据集上发生这种情况,而在 IAM 和华盛顿等其他数据集上则没有这样的问题。