616. NeurIPS 2024 - Predict New Medicines with BELKA | leash-BELKA
https://github.com/hengck23/solution-leash-BELKA
我们仅使用字符分词。我们使用 CNN 嵌入(kernel size=3, stride=1)来学习字符的组合。我们尝试了其他分词器,如 BPE、sentence piece、基于原子/SMILES 的分词等。但所有表现都不如最简单的基于字符的分词。
最终方案是 3 种网络架构的集成:cnn1d、transformer、mamba (SSM)。我们将输入视为序列,任务视为 3 类('BRD4', 'HSA', 'sEH')多标签问题。我们使用大批次训练:cnn1d=5000, transformer=2500, mamba=2000。对于 cnn1d,性能对大批次下的 BN 非常敏感。我们认为这是因为:
对于 cnn1d 网络,我们使用较高的 eps=5e-3 和较低的 momentum=0.2。
拥有 9800 万训练分子,训练每个神经网络需要相当多的时间。我们没有足够的时间为每个折叠训练不同的网络。相反,我们为不同的网络使用不同的折叠以提高集成多样性。
这使得比较不同网络的性能变得困难。比赛结束后,我们进行了一些迟交提交。以下是结果。可以看出 transformer 是最稳健的网络。
接下来,我们比较一些由 gradCAM 生成的热力图:
正如预期(?),cnn1d 的激活相当局部。Transformer 具有更多的全局激活。
"我们要感谢 HP 提供 Z8 Fury-G5 数据科学工作站,这赋能了我们的深度学习实验。高计算能力和大 GPU 内存使我们能够迅速设计模型。"