391. ALASKA2 Image Steganalysis | alaska2-image-steganalysis
感谢主办方举办这场有趣的比赛,也感谢 @christofhenkel 组成了这么有趣的团队!
我们很高兴能在 Private LB(私有排行榜)上实现排名的跃升,这通常归功于强大的融合模型没有过拟合 Public LB(公有排行榜)。也就是说,我们最好的提交在 Public LB 和 Private LB 上都是表现最好的,我们做出了最佳的选择。
我们观察到训练集和测试集之间的图像通道分布存在细微差异,进行局部图像归一化使我们的 CV(交叉验证)和 LB(排行榜)分数更加接近,这就是为什么我们在最终的模型中坚持使用这种方法。这意味着我们对每张图像的每个通道进行局部标准化处理。
大多数模型只使用标准的翻转和转置。有些模型还添加了 cutout(剪切),有些添加了微小的随机噪声。对于 TTA(测试时增强),我们使用 TTA4 或 TTA8。
我们只使用了 EfficientNets。我们开始时只在 fold 0 上拟合模型,但后来转为在全量数据上“盲目”拟合,因为我们的 CV 收敛总是很稳定。如果我们不确定,会在新模型的 fold 上重新拟合,检查模型是否过拟合,然后信任全量拟合的结果。这也意味着我们必须稍微盲目地进行模型融合。
我们既拟合了原生的 EfficientNets,也在将第一层的步长改为 (1,1) 后在 CV 上获得了巨大的提升,正如其他参赛者所做的那样。这意味着模型在全分辨率下拟合的时间更长,这对检测操作非常有帮助,因为很多关于图像篡改的信息位于相邻像素之间。我们在 TTA 中随机打乱相邻像素时也观察到了这一特点,一旦打乱距离超过一个像素,分数就会急剧下降。
我们的最终提交由以下模型组成:
不幸的是,我们没有绘制完整的日志,因为有些模型是在最后一天完成的,但各模型的训练分数大致如下(2x 指的是步长 1 模型):

你可以看到 B3 步长 1 模型是最好的,在 CV 的单独拟合中也是如此。然而,原生 B6 模型在 Public LB 上是最好的,所以情况有点误导人。在 Private LB 上,实际上 B3 步长 1 单独是我们最好的模型(分数 925),其次是 B8(924)等等。所以实际上与上图中的排名是相符的。
所有模型都拟合了 40 个 epoch,使用余弦衰减、AdamW、混合精度以及不同的 batch size。我们没有看到 BS 和 LR 的变化有太大影响,这就是为什么我们在各模型中基本保持不变,因为我们也没有时间进一步调整它。
我们的最终融合由以下两部分各占 50% 组成:(1)原生 B6 和 B8 的融合(LB 分数 936);(2)B1、B2、B3 步长 1 模型的第 30、35、39 个 epoch 的融合(LB 分数 935)。该融合在 Public LB 上得分为 937,在 Private LB 上得分为 928。