545. IceCube - Neutrinos in Deep Ice | icecube-neutrinos-in-deep-ice
首先,我们要感谢 Kaggle 和 IceCube 合作组织提供了这场精彩的竞赛!
我们的解决方案基于一个具有 6 个 DynEdge 模型共享权重的 MLP 堆叠,并结合了按脉冲数分段内的 4 个 GNN 的混合模型。
我们以 GraphNeT 的 DynEdge 架构模型为基础,并进行了多种修改。主要变体及其昵称如下:
每个模型都使用 von Mises-Fisher 损失对最多 600 个脉冲的事件进行了从头开始的长期训练。随后,使用欧几里得距离损失并对最多 200 个脉冲的数据进行了几个额外周期的训练。正如 @rusg77 在下方所指出的,该损失在第二阶段的训练中比原始损失效果更好。关于优化器选择和第二阶段训练策略的详细信息,由 @churkinnikita 在评论区中提供。
最后,对每个模型的最佳检查点应用了 SWA(随机权重平均)以提高鲁棒性。最终,我们得到了性能 < 1.000 LB 的 v1、v2、v3 模型,以及性能 < 0.990 LB 的 v1、v2、v3 模型。这 6 个模型被混合并堆叠。在最终版本中,堆叠模型表现更好,约为 0.977 LB,@simakov 在下方补充了详细细节。
我们解决方案的另一部分包含针对不同中微子事件的多个 GNN 模型。数据集按十个脉冲数(代表中微子能级)的均匀分箱进行分段,并在各段的组合上训练了 4 个新模型。最终,模型按段逐一混合,@rusg77 在该帖子中补充了这一部分解决方案的详细信息。
最终模型是 6 个堆叠模型与 4 个分段 GNN 模型按 60/40 的比例混合而成,在公开榜上的得分为 0.975(私有榜为 0.976)。我们采用堆叠模型的混合方式,以提高整体集成稳定性并降低各模型的方差。同时,我们希望这种方法能增强模型对数据中潜在噪声的鲁棒性。
当然,基于 Transformer 的模型在该任务上表现出色,但经过适当调优的 GNN 多样化集成也可以在所考虑的重建问题上取得优异成绩。
