返回列表

11th place solution: Transformer with MFE distance embeddings (with code)

587. Stanford Ribonanza RNA Folding | stanford-ribonanza-rna-folding

开始: 2023-09-07 结束: 2023-12-07 基因组学与生物信息 数据算法赛
第11名解决方案:使用MFE距离嵌入的Transformer(含代码)

第11名解决方案:使用MFE距离嵌入的Transformer(含代码)

作者:Maxim Tsygankov | 排名:第11名

我非常感谢主办方组织这次比赛所付出的努力。这是一个充满挑战和乐趣的陌生领域。我想知道主办方最终是否觉得这次比赛值得举办。希望Kagglers们分享的解决方案能对您和其他研究人员有所帮助。

以下是我的解决方案的简要总结:

特征工程

  • Eternafold MFE和BPPs:我尝试了其他软件包(RNAstructure、Vienna、CONTRAfold、rnasoft、ipknot)。发现只有Eternafold的特征对我的模型有显著贡献。
  • CapR结构:这显著加快了模型的收敛速度。
  • bpRNA结构:我不确定它对最终分数的具体贡献。

模型架构

我基于Huggingface的BERT进行了修改并实现了以下改进:

  • 注意力注入支持:我将BPPs与2D CNN结合,添加到16个注意力头中的8个。最有效的方案是为每个注意力头设置单独的CNN层。但这显著增加了训练时间而分数提升有限。为了加速实验过程,我牺牲了少量分数。最终集成的模型大多每个Transformer块只使用一个2D CNN层。
  • Transformer层间的1D CNN层:添加此层基于核苷酸位置相近会相互影响的原理,CNN能有效提取这些局部特征。
  • 相对位置嵌入:模型中仅使用相对嵌入。这既是因为训练/测试序列长度差异的安全考虑,更重要的是在RNA结构背景下相对嵌入比绝对嵌入更直观。我使用了两种距离类型:
    • 沿核糖-磷酸骨架链的最短距离
    • 沿MFE结构的最短距离
    • 下图示例来自此笔记本:标记的C和G位于RNA链两端,但实际上通过碱基配对连接,在折叠结构中的距离仅为1。
      RNA结构距离示意图

性能表现

单个模型在公开排行榜上的分数约为0.1432。通过集成多个微小变体的模型,最终得分降至0.14以下。

代码已发布于:https://github.com/chubasik/stanford-ribonanza-rna-folding

P.S: 我第二次发布此帖才成功标记为解决方案总结

同比赛其他方案