第4名解决方案:Steven Signal
作者: Gleb (Grandmaster), KurzyukovAndrey, Mikhail Kulyabin
比赛: SETI Breakthrough Listen - E.T. Signal Search
排名: 第4名
简介
首先,我们要感谢主办方和Kaggle团队举办这次比赛。我们相信,总有一天AI将为探索宇宙开辟一条广阔的道路。
此外,我们要特别指出以下项目:
太长不看版 (TLDR)
结合了MSDA和Focal Loss的分类集成模型。使用了2种模型类型:nf-regnetb1 和 HRNet18。利用带有引导层(guide layer)的空间序列来保留ABACAD信息。
输入与预处理
我们的大部分实验都是在原始分辨率上进行的(出于图像/秒速度的考虑)。在最后几周,我们将图像尺寸扩大到了当前大小。
- 我们使用空间垂直堆叠,即像大多数人那样将6帧并排。样本在频率轴上使用三次插值放大3倍,在时间轴上缩小到6x160。最终的样本尺寸为960x768。
- 我们使用“引导层”作为第二输入层,这是一个960x768的-1/1结构掩码:'A'帧为1,'B'、'C'、'D'帧为-1。
- 神经网络输入是从960x768x2中随机裁剪约70%的区域。
数据增强(在批次上进行,手写代码结合部分kornia库):
交叉验证划分 15k / 45k,CV分数与LB相关。
MSDA (混合样本数据增强)
我们认为MSDA是该解决方案的关键部分之一。
- MixUp:用于所有批次,alpha=2。但是,混合包含异常的任何标签都会导致异常标签。标签和置换后的标签是相同的。这样做是为了不让神经网络受到混合异常带来的损失惩罚。所以可以说这根本不是MixUp。
- CutMix:用于所有批次,参数来自官方实现。但是,混合发生在两个独立的子批次中:第一个仅包含异常批次,第二个包含其余部分。这是由于无法区分帧内信号的位置。所以可以说这根本不是CutMix。
我们尝试了AugMix等其他技术,但随着图像尺寸的增大,很难扩大图像处理速度。因此,我们最终只使用了批次级别的增强。
训练
使用的模型:timm nf-regnetb1(我们的轻量级模型),timm HRNet18(较大的模型)。这种选择是随机的,但我们觉得RegNet的理念是正确的,而且HRNet看起来是这次比赛的一个好选择。
nf-regnetb1的训练时间约为7小时,HRNet约为24小时(4xV100)。
训练特性
- FocalLoss,gamma=2, alpha=.7
- DDP 多GPU训练
- AMP 减少训练模型的内存需求,从而可以使用更大的模型或更大的批次
- EMA (timm)
- 常规学习率策略,warmup,余弦衰减
- 比赛早期使用了SAM,但在AMP和DDP下需要非常仔细的调优,且会出现数值不稳定(以及2倍的训练时间)
- 所有数据在Tensor Dataset中,分片到GPU之间(这在精度方面不是个好主意,但速度快)
推理与后处理
TTA(测试时增强):翻转,乘数,有时添加高斯噪声(mean=0, std=[0,.