587. Stanford Ribonanza RNA Folding | stanford-ribonanza-rna-folding
感谢主办方!这是一场非常有趣的比赛。
我在此分享我的解决方案。
重点是,我在训练过程中使用了测试数据,以增强对私有数据的鲁棒性。
基本架构
我首先使用了预训练的掩码语言模型(Masked RNA Model?)。
有时会删除部分 RNA 序列(比例为 0.3),然后预测被删除的序列。
我对 2/3 的特征使用独热编码,同时将概率表示为(eternafold: '(', contrafold_2: '(', vienna_2: ')')→('(':0.66,')':0.33)。
训练过程非常简单:
私有数据集比公开数据集更长。我决定从测试数据中获取鲁棒性。
但由于这是一个回归问题,我无法获得置信度。
因此,我先进行预训练,然后仅使用训练数据集进行训练。
我采用了迭代的伪标签方法。
几步之后,我会重新标记有噪声的训练数据(称为 filter0),并与伪标签数据一起训练这一过程。
Public 分数:0.141 → 0.139 → 0.1384 → 0.1383
使用加权平均。
我只查看了公开数据集的分数,因为在使用伪标签时我不相信交叉验证的分数。
我忘记交换旧数据集和新数据集了……这非常重要……(单个模型在私有数据集上达到了 0.143 的分数……)