返回列表

3rd place solution: How far can deep learning go?

524. G2Net Detecting Continuous Gravitational Waves | g2net-detecting-continuous-gravitational-waves

开始: 2022-10-04 结束: 2023-01-03 物理与天文 数据算法赛
第3名方案:深度学习能走多远?

第3名方案:深度学习能走多远?

作者: RabotniKuma (Grandmaster) 及其团队
比赛: G2Net Detecting Continuous Gravitational Waves
排名: 第3名

首先,我要向比赛组织者和Kaggle团队表达深深的感谢。这次比赛涵盖了广泛的知识领域,包括数据生成、深度学习和经典方法,这使其成为我个人Kaggle历史上最具挑战性和最有趣的比赛之一。如果没有我出色的队友,我不可能取得这样的排名,与他们合作确实是我的荣幸。
祝贺所有的获奖者(特别祝贺新晋Grandmaster和我出色的队友Gleb)!阅读其他团队使用的各种方法非常有趣。

我们的方法由各种深度学习模型的集成和“创造性去噪”组成,这是一种利用现实世界噪声频率重叠的去噪技术。

数据生成

固定数据集方法

我们使用pyfstat生成了4万张图像,包括平稳噪声、非平稳噪声和故障(水平仪器线)。

无限训练方法

在观察数据时,我们发现背景噪声服从卡方分布(实部和虚部服从独立的高斯分布)。因此,我们考虑了一种快速在线生成噪声的方法,其统计数据(均值、方差)与每个测试数据几乎相同(此Notebook展示了我们如何生成噪声)。
我们使用pyfstat生成了3.2万到12.8万个信号模板(sqrtSX=0),并将信号注入生成的噪声中。此外,由于信号具有频率依赖性(图1),在训练阶段我们:

  1. 采样一张测试图像
  2. 根据其统计数据生成噪声
  3. 从信号库中采样一个在同一频率生成的信号并注入

通过这种方式,我们能够使用几乎无限的背景噪声模式来训练模型。这防止了模型过拟合背景噪声,并显著提高了模型性能。

图1.

验证策略

我们使用上述无限训练方法生成了一个验证集,与测试集一一对应。正样本比例为0.66,注入的信号具有随机参数,信号深度范围从25到50。该验证集与Public LB(公开排行榜)有很好的相关性。

预处理

时间同步与调整大小

我们同步了来自两个探测器的频谱图,以便模型更容易捕捉信号,无需四处寻找。时间平均的bin(128 - 720个bin)被用作输入图像。

频谱图归一化

全局归一化

( @chris62 )
我们通过减去均值并除以标准差来对整个输入图像进行归一化。

按列平方根归一化

( @iafoss @analokamus )
由于背景噪声服从卡方分布,我们首先计算输入图像的平方根,使输出服从正态分布,然后在每一列中减去均值/除以标准差,以减轻非平稳噪声的影响。

架构与训练

频谱图图像分类器

我们使用了带有以下修改的CNN:

  • 开头带有大卷积核(3x31, 5x15, 5x31, 7x65)的去噪层
  • 基于AE去噪的大卷积核层预训练 ( @Iafoss )
  • 带有轻量级Segformer风格解码器和MSE损失的去噪
同比赛其他方案