442. Bristol-Myers Squibb – Molecular Translation | bms-molecular-translation
首先,我要感谢 Kaggle 和主办方举办这场激动人心的比赛。祝贺在这个艰难的比赛中获胜的选手们!
我在早期阶段尝试了对抗验证。结果如下。
![]()
这张图本身说明了测试集是如何构建的。测试集可以分为两个子集。我将它们称为……
当时,我很确定伪标签在测试集上会效果很好。我还认为有必要创建能够很好地拟合这两个子集的模型。如果剔除所有半数预测,就可以估计当前模型对每个样本的拟合程度。
我使用了3个模型:Deit tiny、small 和 base。
我的模型主要预测 SMILES 而不是 InChI。SMILES 比 InChI 更紧凑,有助于减少训练时间。SMILES 在提交前转换为 InChI。我还创建了一个预测 InChI 的模型,但这只是为了在 SMILES 无效时作为后备方案。总而言之,我通过3种方式预测 InChI。优先顺序如下。
训练步骤由3步组成。
在步骤1中,我训练 Transformer 从随机 SMILES 预测规范化的 InChI 和 SMILES。接下来,解码器上的自注意力和头部被迁移并与 Deit 结合。因此,解码器上的交叉注意力是从头开始训练的。由于我没有太多的 GPU,这一步使用了 224 尺寸的图像。
最后,我在步骤3中训练了6个模型。
在步骤3中,位置嵌入通过插值扩展到图像尺寸 384。
我使用了 TTA(rot90)和每个 token 的 logits 平均。
对于测试子集 A,我对模型 a1、a2、a3、b1、b