454. G2Net Gravitational Wave Detection | g2net-gravitational-wave-detection
感谢 Kaggle、组织者以及社区,感谢大家在最后阶段的激烈竞争和开始时的热烈讨论。
这不算是一篇正经的解决方案帖,更像是对 EfficientNets 的吐槽。解决方案本身非常简单直接,就是“2D CNN 跑起就完事了”。
因为我对比赛问题一无所知,也没有任何处理一维音频频谱图类任务的经验:我决定进入完全研究模式,专注于特定的神经网络架构。
免责声明:CNN 本不该是处理频谱图的最佳选择,但它们确实有效。我也尝试过 Transformers,它们肯定能跑通,但在分数上,我在 LB(排行榜)上勉强只能达到 88.+。不过我对 Transformers 还是很新手。
你可能会说,这真是个“原创”的选择。确实,很多人出于某种原因在使用 EN(EfficientNets),但我不怎么用。我不使用 EN 家族是因为它并不……高效。
这已经不是什么秘密了,有一些论文指出了这一点(例如 RegNet, GENet, EffnetV2 等)。但是,如果我之前一直都错了,而它的“图像/秒-准确率”比值其实要好得多呢?
答案是否定的。
我在经过大量调整和拟合后得到的 EN 最佳结果,在第一次尝试时就被 RegNet 甚至 ResNet 轻松击败了(虽然差距不大)。而且它们快了 4 倍。
当然,在某些数据集上 EN 会表现更好,但我还没找到过,除了 ImageNet1k 以外。
造成这种情况的原因可能有很多,我的想法是:这是因为 EN 对 ImageNet1k “过拟合”了(可能是由于 NAS 神经架构搜索或复合缩放 compound-scaling)。
我最好的 EN 集成分数是 LB 8830,在那之后我放弃了,并在比赛最后几天把 ResNets 加入了组合。
感谢阅读,如果你还没尝试过其他架构,请考虑一下。