524. G2Net Detecting Continuous Gravitational Waves | g2net-detecting-continuous-gravitational-waves
首先,我要向比赛组织者和Kaggle团队表达深深的感谢。这次比赛涵盖了广泛的知识领域,包括数据生成、深度学习和经典方法,这使其成为我个人Kaggle历史上最具挑战性和最有趣的比赛之一。如果没有我出色的队友,我不可能取得这样的排名,与他们合作确实是我的荣幸。
祝贺所有的获奖者(特别祝贺新晋Grandmaster和我出色的队友Gleb)!阅读其他团队使用的各种方法非常有趣。
我们的方法由各种深度学习模型的集成和“创造性去噪”组成,这是一种利用现实世界噪声频率重叠的去噪技术。
我们使用pyfstat生成了4万张图像,包括平稳噪声、非平稳噪声和故障(水平仪器线)。
在观察数据时,我们发现背景噪声服从卡方分布(实部和虚部服从独立的高斯分布)。因此,我们考虑了一种快速在线生成噪声的方法,其统计数据(均值、方差)与每个测试数据几乎相同(此Notebook展示了我们如何生成噪声)。
我们使用pyfstat生成了3.2万到12.8万个信号模板(sqrtSX=0),并将信号注入生成的噪声中。此外,由于信号具有频率依赖性(图1),在训练阶段我们:
通过这种方式,我们能够使用几乎无限的背景噪声模式来训练模型。这防止了模型过拟合背景噪声,并显著提高了模型性能。
图1.

我们使用上述无限训练方法生成了一个验证集,与测试集一一对应。正样本比例为0.66,注入的信号具有随机参数,信号深度范围从25到50。该验证集与Public LB(公开排行榜)有很好的相关性。
我们同步了来自两个探测器的频谱图,以便模型更容易捕捉信号,无需四处寻找。时间平均的bin(128 - 720个bin)被用作输入图像。
( @chris62 )
我们通过减去均值并除以标准差来对整个输入图像进行归一化。
( @iafoss @analokamus )
由于背景噪声服从卡方分布,我们首先计算输入图像的平方根,使输出服从正态分布,然后在每一列中减去均值/除以标准差,以减轻非平稳噪声的影响。
我们使用了带有以下修改的CNN: