知行编程网知行编程网  2022-05-10 12:00 知行编程网 隐藏边栏 |   抢沙发  6 
文章评分 0 次,平均分 0.0

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold

选自 | openreview.net   作者 | Xinshi Chen等
转自 | 机器之心
在新冠状肺炎的疫情防控之战中,人工智能技术正发挥着重要作用。本文将介绍一种用于预测 RNA 二级结构的端到端深度学习模型 E2Efold,在结构预测方面具有显著更优表现,同时大大缩短新冠病毒 RNA 二级结构预测时间,为病毒研究、药物筛选、疫苗研制等工作提供更多助力。这项成果来自蚂蚁金服的研究团队,目前这篇论文已被 ICLR 2020 接收为 Talk 论文。
理解 RNA 二级结构的相关研究具有重要意义。二级结构是指 RNA 序列各个位置有氢健互补配对的碱基。RNA 的三维结构往往是在先形成的二级结构的框架上折叠而成的,所以知道二级结构就能够用来表征 RNA 结构、推断功能机制、并设计新实验。

此次引发大规模疫情的新型冠状病毒即属于 RNA 病毒的一种。但以往关于 RNA 二级结构的计算预测模型存在着固有约束条件,此前处于主导地位的基于 DP 的算法将搜索空间限制为嵌套结构,如此一来,一些包含假结结构的 RNA 二级结构的具有重要生物学意义的有效信息可能会排除在外。

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


论文地址:https://openreview.net/forum?id=S1eALyrYDH

论文提出的端到端深度学习模型 E2Efold 可用于预测 RNA 二级结构,该模型能有效地考虑 RNA 二级结果计算预测问题中的固有约束条件。E2Efold 的核心思想是直接预测 RNA 碱基配对矩阵,并能使用一个展开式算法进行约束编程以作为深度架构强制执行约束的模板。

研究者在基准数据集进行了大量实验,E2Efold 取得了优越的表现:相比于之前的最佳算法,它能预测得到显著更优的结构(尤其是对于假结结构);同时在推理时间方面,E2Efold 能与之前最快的算法相媲美

这项成果可应用于新冠病毒的 RNA 二级结构预测等研究中,大大缩短新冠病毒的 RNA 二级结构的预测时间,显著提升病毒研究、药物筛选、疫苗研制等工作的效率,为面向新冠肺炎的抗疫战提供助力。

研究概况

几十年来,一直都有研究者在探索如何基于 RNA 的一级结构,通过计算方法来预测 RNA 的二级结构。大多数已有方法都假设二级结构是能量最小化的结果,即深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold这个能量函数要么是通过基于物理学的热力学实验估计的,要么就是通过数据学习到的。
 
这些方法都存在一个问题,即所有可行的二级结构的搜索空间的规模会随序列长度 L 的增长而指数级增长。为了能够轻松地实现最小化,研究者通常假设碱基配对具有某种嵌套结构(图 2 左)且能量函数会成对地分解为因子。
 
这篇论文采用了另一个视角,其假设这种二级结构是一个前向函数的输出,即深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold,然后可以用端到端的方式从数据中学习得到 θ。此外,还可以通过直接优化相关的损失来拟合这个前向模型。

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


这篇论文提出了一种端到端的深度学习解决方案方案分为两个阶段。该架构的第一部分是一个基于 Transformer 的深度模型:深度评分网络(Deep Score Network),其可以表征可用于结构预测的序列信息。第二部分是一个多层网络:后处理网络(Post-Processing Network),该网络能逐渐强制执行约束条件并限制输出空间。这个网络是基于一种用于求解约束优化问题的展开式算法而设计的。然后再将这两个网络耦合到一起,以一种端到端的方式联合进行学习。由此,研究者将这个模型称为 E2Efold。
 
在设计后处理网络时,研究者使用了一种展开式算法作为归纳偏差,这使得 E2Efold 的输出空间是受限的(见图 3),从而能在数据有限时能更容易地学习得到优良的模型,还能减少过拟合的问题。然而,E2Efold 中编码的约束是足够灵活的,使得假结结构也能被包含在输出空间中。总结来说,E2Efold 能在用于学习的模型偏置以及可行 RNA 结构的表达能力之间实现很好的平衡。

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


研究者在几个 RNA 基准数据集上执行了实验,对比了 E2Efold 和一些当前最佳的方法。结果表明 E2Efold 是更优的。
 
实验评估使用了两个基准数据集,参与比较的方法包括一些当前最佳方法和一些在 RNA 二级结构预测领域最常用的方法。实验结果表明,E2Efold 在 RNAstralign 数据集上将 F1 分数提升了 29.7%,并且其推理 RNA 二级结构的速度与之前最高效的算法(LinearFold)一样快。研究者也执行了控制变量研究,结果表明在后处理步骤中推动梯度是有必要的。

E2Efold:基于展开式算法的深度学习模型

(二级)深度评分网络

E2Efold 的第一个部分是一个深度评分网络 U_θ(x),其输出是一个 L×L 的对称矩阵。这个矩阵的每一项深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold都表示核苷酸 x_i 和 x_j 的配对分数。这个网络的输入 x 是 L × 4 维的 one-hot 嵌入。图 4 展示了 U_θ 的具体架构。

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


其主要包含一个位置嵌入矩阵、一组堆叠的 Transformer 编码器和一个 2D 卷积层,详情如下:

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


借助于神经网络的表征能力,研究者希望学习到有信息的 U_θ,使得 U_θ(x) 中分数更高的项能很好地对应于 RNA 结构中实际配对的碱基。一旦计算出分数矩阵 U_θ(x),一种使用它的简单方法是使用一个偏置项 s ∈ R(比如 s = 0),并令深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold时 A_ij = 1。但是,A_ij 的这种逐项独立预测可能得到一个有违可行 RNA 二级结构约束的矩阵 A。

因此,为了确保预测得到的 A 是有效的,还需要一个后处理步骤。这个步骤可以在学习完 U_θ 后再单独执行。但以这种方式解除碱基配对评分与约束后处理过程的耦合关系可能会导致结果是次优的,此时这两个阶段中的错误无法同时得到考虑和调整。针对这个问题,研究者引入了一种后处理网络,其可以与 U_θ 一起以端到端的方式训练,以强制实施约束限制。

 
后处理网络
 
E2Efold 的第二部分是一个后处理网络 PP_φ,这是一个用于求解约束优化问题的展开式和参数化的算法。研究者将这个后处理步骤描述成了一个约束优化问题,并给出了求解它的算法。然后,该算法被用作模板,用于设计深度架构 PP_φ。

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


端到端训练算法

给定一个包含输入-输出对样本的数据集,E2Efold 的训练过程类似于标准的基于梯度的监督学习。但是,RNA 二级结构预测问题常用的预测评估指标是 F1 分数、精度和召回率,而它们是不可微分的。

为此,研究者在这篇论文中定义了一种可微分的 F1 损失(Differentiable F1 Loss)。整体而言,该模型的优化目标是:

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


其中深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold,γ ≤ 1 是折现因子。

实验

数据集

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


实验使用了两个基准数据集:(1)ArchiveII (Sloma & Mathews, 2016) 包含来自 10 种 RNA 类型的 3975 个 RNA 结构,这是一个在经典 RNA 折叠方法中被广为使用的基准数据集。(2)RNAStralign (Tan et al., 2017) 包含来自 8 种 RNA 类型的 37149 个结构,这是目前市面上最全面的 RNA 结构集合。在移除了冗余的序列和结构之后,还剩下 30451 个结构。表 1 给出了这两个数据集的统计情况。
 
基于 RNAStralign 的实验结果

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


如表 2 所示,传统方法得到的 F1 分数范围在 0.433 到 0.624 之间,这与它们原论文所报告的结果是一致的。CONTRAfold 和 CDPfold 这两种基于学习的方法在一些指标上优于传统方法一些。而 E2Efold 的表现则显著更优,在所有指标上都至少超过其它方法 20%。

注意,对于几乎所有其它方法,召回率通常都高于精度,而对 E2Efold 而言,精度高于召回率。这种现象的原因可能是 E2Efold 在神经网络训练过程中对约束进行了整合。图 5 给出了每种方法的 F1 分数的分布。这个结果表明 E2Efold 能稳定地取得优良表现。

基于 ArchiveII 的无再训练的实验结果 

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


E2Efold 在 ArchiveII 上的表现虽然不及在 RNAStralign 上结果,但仍在不同指标上都优于其它所有方法。此外,由于原始的 ArchiveII  数据集包含领域序列(子序列),研究者也移除这些领域进行了实验,所得结果与表 3 类似。
 
假结结构预测

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


即使 E2Efold 并不排除假结结构,但仍不确定其是否真的能够生成假结结构。因此,研究者选取了所有包含假结结构的序列,并在这个集合上计算了平均 F1 分数。此外,研究者还统计了被预测为假结的假结序列的数量,并将这个数量作为了真正例数(TP)。类似的,研究者还报告了真负例(TN)、假正例(FP)和假负例(FN),见表 5。大多数工具都排除了假结,而用于比较的 RNAstructure 则是可以预测假结结构的最著名的工具。
 
可视化

深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


深度学习预测RNA二级结构,蚂蚁金服提出端到端模型E2Efold


这里给出了三个 RNA 序列的预测结构的可视化结果。在这些图片中,紫色的线表示假结结构的边。尽管 CDPfold 的 F1 分数比其它基准高,但其预测结果在视觉上离基本真值相差甚远。

所有基准中,RNAstructure 和 CONTRAfold 能得到相比而言更合理的可视化结果。但这两种方法只能得到结构的粗略草图,并不足够好。在大多数情况下,E2Efold 得到的结果都与基本真值最相近。此外,在一些很长且难以预测的 RNA 序列上,E2Efold 取得了出人意料的优良表现。

<section style="margin-right: 8px;margin-left: 8px;max-width: 100%;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong>完<strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;font-size: 16px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 0.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">—</span></strong></span></strong></span></strong></section><section style="max-width: 100%;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section><section style="margin-right: 8px;margin-bottom: 15px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 16px;font-family: 微软雅黑;caret-color: red;box-sizing: border-box !important;overflow-wrap: break-word !important;">为您推荐</span></strong></span></section><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;">一文通俗了解对抗生成网络(GAN)核心思想<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></p><section style="margin-bottom: 5px;">Deep Learning 调参经验<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></section><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图深度学习入门难?这篇教程帮你理清楚了脉络<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;">我为什么鼓励你读计算机领域的博士?<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"  /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 1.75em;letter-spacing: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">深度学习必懂的13种概率分布</span></p></section></section></section></section></section></section></section></section>

本篇文章来源于: 深度学习这件小事

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享