论文解读:《A transformer architecture based on BERT and 2D convolutional neural network to identify DNA enhancers from sequence information》

  • 1.文章概括
  • 2.介绍
  • 3.数据和方法
    • 3.1 数据
    • 3.2 DNA序列预处理
    • 3.3 BERT实施
    • 3.4 二维卷积神经网络
    • 3.5 模型设置
  • 4.结果和讨论
    • 4.1 超参数优化
    • 4.2 BERT和最新特性的比较
    • 4.3 不同算法间的比较
    • 4.4 与以往DNA增强子预测工作的比较
  • 5.总结
  • 6.关键点

文章地址:https://academic.oup.com/bib/advance-article-abstract/doi/10.1093/bib/bbab005/6128847
DOI:https://doi.org/10.1093/bib/bbab005
期刊:Briefings in Bioinformatics(2区)
影响因子:8.99
发布时间:2021年2月5日
代码:https://github.com/khanhlee/bert-enhancer

1.文章概括

近年来,语言表示模型以其显著的效果在自然语言处理领域引起了广泛的关注。其中,来自transformer的双向编码器表示(BERT)已被证明是一种简单但功能强大的语言模型,它实现了新颖的最先进的性能。BERT采用了语境化单词嵌入的概念来捕捉它们出现单词的语义和上下文。在这项研究中,作者提出了一种新的技术,将基于BERT的多语言模型融入到生物信息学中来表示DNA序列的信息,将DNA序列看作自然语句,然后使用BERT模型将其转换为定长的数值矩阵。作者将方法应用于DNA增强子的预测,这是该领域中一个众所周知且具有挑战性的问题。然后作者观察到,与目前生物信息学中最先进的特征相比,基于BERT的特征在灵敏度(SN)、特异性(SP)、准确性(ACC)和马修斯相关系数(MCC)方面提高了5-10%以上。实验表明,深度学习(以2D卷积神经网络为代表)在学习BERT特征方面具有比其他传统机器学习技术更好的潜力。综上所述,作者认为BERT和2D 卷积神经网络可以为利用序列信息进行生物建模开辟一条新的途径。

2.介绍

根据最近的研究,生物序列已经被广泛地应用于生物信息学的研究中,如DNA、RNA和蛋白质序列。面临的主要挑战之一是生物序列分析,是对序列数据库中所需序列的结构属性进行上下文分析。因此,需要一个有效的框架来自动表示序列信息。最近,先进的深度学习方法应用于生物信息学分析,在处理序列数据如蛋白质功能预测、电子传递蛋白鉴定和可变长度抗病毒肽鉴定方面显示出良好的效果和优势。越来越多的证据表明,它可以成功地应用于蛋白质预测和基因组分析。此外,生物序列(如DNA序列和蛋白质序列)可以被认为是文本信息,因此与人类语言有一些相似之处。因此,一些研究小组应用先进的自然语言处理(NLP)技术从文本形式的生物数据中学习有用的特征,并取得了可喜的成果。将嵌入技术集成到深度学习中,可以解决生物序列特征的表示和提取问题。
目前在自然语言处理中广泛使用的词嵌入技术可以用来转换氨基酸或核苷酸序列之间的上下文关系。例如,第一个重要的研究之一来自Asgari等人,他们提出了一种生物序列的表示和特征提取方法,即ProtVec(用于蛋白质序列)和GeneVec(用于基因序列)。随着fast Text NLP模型的发展,生物信息学研究人员也尝试用它来表示生物序列,如DNA增强子、启动子或S-磺化位点上的蛋白。此外,一种先进的语言模型ELMO已被应用于的工作中来表示蛋白质序列,它强烈地表明迁移学习可能有助于从蛋白质序列信息中提取信息。本文提出了一种将蛋白质序列表示为连续向量的新方法,作为一种新的生物语言模型,有效地跟踪了未标记大数据(UniRef50)中蛋白质序列的生物物理性质。为了结合深度学习,CNN-BiLSTM模型被用来识别和实现比氨基酸序列的潜在上下文关系的传统模型更多的功能。
基于上述研究,有理由认为基于嵌入技术的深度神经网络方法在解释DNA序列信息方面有很大的应用潜力。虽然有效,但我们注意到,这些作品只使用了静态的词嵌入,忽略了词出现的上下文。通过静态单词嵌入,可以从诸如fast Text 和word2vec这样的流行工具中学习,对于相同的单词,无论其上下文如何,都可以获得相同的向量。我们假设,如果语言模型能够从句子或段落上下文中捕捉到除了语义和句法信息之外的额外知识,那么学习的单词嵌入的质量就会更高。
作者从这个想法出发,采用了Transers(BERT)的双向编码器表示,这是一种新的语言表示模型,它配备了从左右上下文中学习的能力。通常,可以将来自大型文本语料库的先前可用的知识转移到同一或另一个领域中使用较少数据执行任务。因此,作者试图利用BERT的预先训练模型的优势:为BERT提供的大量训练信息,以及从自然语言到DNA语言的领域转移。具体地说,DNA片段被用作输入语言来预训练BERT模型,该模型输出的数字向量捕捉到与人类语言的上下文、意义和句法等效的期望信息。接下来,高维数据被送入卷积神经网络(CNN),这是一种在许多生物信息学问题中被证明有效的常见的深度神经网络,用于进一步的特征提取步骤。
据作者所知,这是第一部将最先进的深度学习模型(BERT和CNN)相结合的作品,试图捕捉尽可能有意义的特征。作为一个使用案例,作者将新框架应用于识别DNA增强子,这是生物信息学中最重要的问题。更详细地说,增强子是由特定转录因子结合的调节DNA序列,用于增强相关基因的转录过程。大量全基因组研究表明,增强子功能的变异与大多数人类疾病有关(即增强型疾病)。

3.数据和方法

作者基于BERT的CNN架构是从不同的子过程创建的,包括数据收集、DNA序列处理、BERT预训练和微调、CNN训练和超参数优化。每个阶段的详细信息如下所述。

3.1 数据

为了解决DNA增强子分类的问题,作者检索了iEnhizer-2L研究中引入的基准数据集。在这个数据集中,最初的作者收集了9个不同细胞系的增强子序列,并将它们分割成200bp的片段。此外,使用CDHIT去除了高相似度(>20%)的DNA序列。最终的基准数据集包括训练数据中的1484个增强因子和1484个非增强因子,独立数据中的200个增强因子和200个非增强因子。这个数据集在后来的工作中也被用来处理DNA增强子分类,例如iEnhener-EL和EnhancerPred。

3.2 DNA序列预处理

首先,对标准FASTA格式的正常DNA序列进行分裂,形成长度相等的DNA片段,并选取滑动窗口的取值。在作者的语言模型中,需要使用不同的n元语法级别将这些片段视为‘DNA语句’。在这项研究中,作者通过将一个核苷酸作为自然语言中的一个单词(单字)来进行NLP模型。因此,在第二步中,每个DNA片段在碱基之间插入空格以形成一系列核苷酸,每个核苷酸在人类语言中都被伪装成一个单词。通常,在训练BERT模型时,研究人员通常会添加一些特殊的标记,如CLS标记和SEP标记,作为句子的开头和结尾。作者假设这些符号不传达生物学意义,因此没有遵循这一惯例。

3.3 BERT实施

单词嵌入方法在预定义的固定大小的窗口中分析单词与其上下文之间的顺序关系。在单词嵌入生成器的底层有几种广泛使用的传统嵌入方法,如前馈神经网络、带有Skip-gram或连续词袋结构的神经网络(word2vec和fast Text)以及用于单词表示的全局向量(Glove)。除了上述传统的词嵌入生成方法外,NLP研究人员还尝试使用BERT来解决词表征模型的单向性问题,该模型限制准备培训期间使用的架构的多功能性。BERT被设计成在所有层中通过组合的反向和正向上下文,以双向方式使用未标记的文本进行预训练。因此,使用BERT生成的词嵌入是动态比较的,这意味着同一个词或句子中不同位置的核苷酸采用不同的连续实值向量。BERT的一些优点使其比word2vec或fast Text 更有效,比如嵌入时依赖于上下文(分离和捕获两种不同的语义),考虑到单词的位置和对词汇表外单词的支持。作者认为这项新技术可以更有效地捕捉DNA序列中隐藏的信息。
经过预先训练的BERT模型旨在为各种任务(包括回答问题和语言推理)创建最先进的应用程序,而无需对体系结构进行任何针对特定任务的重大更改。这种新的预训练语言表示方法在广泛的NLP任务上提供最先进的输出。为了解释DNA序列知识,作者还实现了BERT。正常情况下,BERT框架由两个步骤组成:

  1. 预训练BERT:使用未标记的数据在两个任务上训练模型,即掩码语言建模(MLM)和下一句预测。·
  2. 微调BERT:首先使用预先训练好的参数对模型进行初始化,然后针对期望的下游任务对参数进行微调。

在作者的研究中,预训练阶段使用MLM,用(掩码)符号替换15%的符号。然而,由于微调阶段不包含(掩码)符号,因此作者遵循以下规则以防止预训练和微调之间的不匹配:

  • 80%的情况下,符号被替换为(掩码)。
  • 10%的情况下,符号被随机令牌替换。
  • 10%的情况下,符号保持不变。

谷歌研究小组发布了各种预训的不同配置的BERT模型。例如,基于BERT的cased和uncased模型包含12层、768个隐含单元和12个头部,在训练过程中需要1.1亿个参数;而BERT大型cased和uncased模型都有24层、1024个隐藏单元和16个头部,需要3.4亿个参数。在本研究中,作者使用基于BERT的多语种cased预训练模型进行了实验。图1描述了使用DNA序列的one-hot编码作为输入的训练过程。在训练过程之后,将每个核苷酸转换成大小为768(默认大小)的上下文单词嵌入向量,从而将每个输入序列翻译成由相继添加的大小为768的n(n=窗口大小)向量组成的单个向量。BERT预训练模型中的每一层都是一个编码器,其中一个编码器的输出是下一个编码器的输入。为了考虑所有编码器的信息,作者将所有12层的特征向量(每个特征向量大小为n×768)相加,并将这些向量作为下面描述的CNN的输入。

3.4 二维卷积神经网络

为了学习BERT的特征,建立了一个基于CNN的模型,对这些特征进行分析,并将DNA序列分为增强子和非增强子。由于细胞神经网络在图像分类、目标检测和图像分割等大数据量计算机视觉问题中的各种应用,细胞神经网络也可以用于以往的生物信息学研究中来研究拓扑结构信息,二核苷one-hot编码器、PSSM配置文件(像素较少的类似图像的数据)或甚至单词嵌入。因此,通过CNN从上下文词嵌入向量中提取特征可以增强预测模型的能力。CNN通常由多层组成,每一层都执行将其输入数据转换成有用的表示的特定功能。由于基于BERT的模型的输出是一个大小为200×768的2维矩阵,因此由2维CNN学习从这样的矩阵中获取尽可能多的特征更为合理。作者的CNN模型的体系结构是由所有层按照预定义的顺序排列和设计而成的。在本研究中,从预先训练的BERT模型中学习的输入特征成为200×768维的向量,然后将其连接到2维CNN模型的隐层。目标是利用通过卷积运算学习空间信息的能力,通过将输入数据转换为矩阵来有效地预测特定DNA序列的结果。通常,CNN主要基于四种层-卷积层、RELU层、最大池化层和全连接层。在这项研究中,采用了不同层次的CNN模型,扩展了以前测序数据工作中成功使用的一维CNN。对于这种基于嵌入的矢量数据,该模型被认为是一种有效的模型。作者还介绍了基于CNN的各种模型变体,通过修改和调整超参数。

3.5 模型设置

基于BERT的多语言和CNN实现是使用Python3、Kera库和TensorFlow后端作为深度学习框架来实现的。使用配备图形处理单元和CUDA内核的计算机来加速培训过程。具体来说,培训过程已经在一台CPU为i7-9700 3.00 GHz、内存(RAM)为64 GB、GeForce RTX为2080Ti的个人计算机上实现。在测试和训练之间轮换样本的实验设计伴随着常用的统计交叉验证程序。在训练数据上使用了5次交叉验证技术,以减少高估或低估预测模型真实性能的可能性。此外,在采用这种交叉验证技术的超参数调整过程之后,对最优模型进行了独立测试,以评估在未见数据上的预测性能。

4.结果和讨论

4.1 超参数优化

大多数机器学习或深度学习任务都需要一个关键步骤,即超参数优化,以帮助模型达到最佳性能。通过结合BERT和2D CNN来实现模型,因此作者的目标是逐个查看每个模型的最优超参数。对这一超参数优化过程进行了五次交叉验证。首先,构建嵌入层(BERT层)作为模型的第一个隐含层,在该隐含层中嵌入与多个深度学习模型一起学习。BERT模型的调整超参数包括训练批次的大小、最大序列长度、学习速率和训练步数。作者尝试了这些超参数之间的几种组合,以获得最优的组合。对于每个DNA序列,生成ERT特征的时间是10s,因此在大约8h 20min完成了整个数据集的生成。
第二个优化步骤是为CNN模型配置最优超参数。作者全面评估了这些模型在不同测量上的性能,神经元数量在50-200个之间,批次大小在10-30批次之间,迭代次数25-100次之间。为了消除过拟合的影响,在每个模型中还使用了dropout。最终的最优结构和超参数如表1所示。在作者的CNN模型中有1317442个可训练参数。

4.2 BERT和最新特性的比较

在过去的十年中,一些最先进的特征可以帮助了解DNA序列,如kmer、伪二核苷酸组成(PseDNC)和伪k-Tupler核苷酸组成(PseKNC)。所有这些都是众所周知的描述符,它们已经在以前的生物信息学研究中使用过,甚至是增强子预测因子,如iEnhancer-2L和iEnhancerEL。他们在生物信息学和计算生物学社区的发展中发挥了重要作用。在这项研究中,作者重新生成了这些特征,并将它们与我们的BERT特征进行了比较,以了解性能上的差异。此外,作者还比较了BERT和其他NLP模型在学习我们的DNA序列方面的差异。实现了生物信息学领域中著名的NLP模型(包括word2vec和fast Text),并进行了比较。表2显示了这种比较性能,基于BERT的功能可以帮助在所有测量指标方面生成更好的结果。作者对每个测量指标进行配对t检验(t-tests),以查看与其他指标相比,BERT特征有何显著改善。如表所示,BERT特征在敏感性(SN)、准确性(ACC)和MCC方面均达到统计学意义(P-value<0.05)。这样的比较有助于在同一数据集上评估作者的模型和以前的模型。

4.3 不同算法间的比较

为了评估不同算法的性能,作者实现了多种形式的深度学习模型,主要是为了检查哪个2D CNN模型是学习BERT特征的最佳模型。这些模型将输入作为768个∗200维的向量,并对其进行二进制分类。在每个2D CNN中都进行了超参数优化处理,以确保公平和无偏见的比较。图2显示了不同形式的2D CNN之间的ROC曲线,其中两层的ROC曲线(图2B)优于其他形式的二维CNN。为了解释这一优于2D CNN的结果,原因是在输入层使用了2D矩阵,CNN可以通过将BERT特征作为图像来学习特征。通过这种方式,使用2D CNN从BERT模型中提取隐藏的特征,这与以前使用1D CNN学习特征相比有所不同。

机器学习中最重要的挑战之一是过度拟合;因此,在测试模型之前,无法知道我们的模型在新数据集上的表现如何。因此,在解释算法效率、5次交叉验证和独立测试之间的比较时,考虑交叉验证结果是至关重要的。结果,作者的独立测试性能达到了80%的灵敏度(SN)、72.9%的特异性(SP)、76.5%的准确率(ACC)和0.531的MCC。这一有价值的结果表明,该方法的性能是令人满意的,并与交叉验证结果一致。因此,这有力地表明作者的模型将是有用的,以高精度识别DNA增强子。

4.4 与以往DNA增强子预测工作的比较

如前所述,基于序列的增强子预测是计算生物学领域的一个基本问题。因此,要使人信服任何一种方法在这个问题上的有效性,就有必要将性能结果与以前发表的作品进行比较。为了确保公平和无偏见的比较,应该在相同的条件下(即相同的数据集和评估指标)进行比较。出于这个原因,作者和以前的增强子预测因子(EnhancerPred、iEnhizer-2L和iEnhancerEL)方法进行比较。与前人的工作相比,表3中的预测器达到了很好的性能。具体而言,可使灵敏度(SN)提高7%,准确度(ACC)提高1%以上,MCC提高5%。这有力地表明了作者提出的模型在学习这一增强子预测方面的重要意义。

==iEnhancer-2L和iEnhancer-EL结果应互换,应该是作者放错了位置 ==

5.总结

在这项研究中,作者提出了一种新的生物表示框架,用于解释DNA序列中隐藏的信息,通过BERT模型。使用BERT预先训练的模型,能够将语义和句法知识从庞大的人类语言文本语料库转移到生物数据中,因为它在各种自然语言处理任务中的表现都是最先进的,而且基因组语言和人类语言之间的相似之处也使我们能够将语义和句法知识从巨大的人类语言文本语料库转移到生物数据中。作者还发现,在学习BERT特征时,深度神经网络方法比浅层神经网络方法获得了更高的准确率和置信度。这是另一个令人信服的证据,证明深度神经网络可以有效地与生物序列数据一起处理生物信息学中的复杂问题。因此,这项研究表明,基于BERT的多语言嵌入和CNN提供了一种传递生物语言的机制。实验结果表明,我们的BERT-DNA对于解释DNA序列产生了显著的结果。此外,这项工作为检测新的DNA增强子提供了可能性。作者认为,这一应用可能会为利用序列信息进行生物建模开辟一条新的途径。此外,框架优化的扩展工作还有待于进一步的研究。

6.关键点

  • 一种新的高性能DNA增强子识别模型–BERT-Enhizer;
  • 一种新的基于预训练BERT模型的特征提取方法;
  • 2维卷积神经网络被实现并优化以学习特征;
  • 与以前的模型相比,作者提出的方法在5次交叉验证和独立测试中都有显著的改进;
  • 对于希望进行DNA增强剂研究的生物学家和科学家来说,这是一个有用的资源。

论文解读:《基于BERT和二维卷积神经网络的DNA增强子序列识别transformer结构》相关推荐

  1. 论文解读PCT: Point Cloud Transformer(用于点云处理的Transformer)

    最近几年transformer越来越火,在NLP.CV等领域都取得了很大的成功.这篇文章作者利用了transformer能够处理无序数据的特点,将transformer应用到点云的处理上.它的想法是基 ...

  2. CVM2021| PCT: Point cloud transformer(分类+分割任务SOTA)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨 泡泡机器人SLAM 标题:PCT: Point cloud tra ...

  3. PCT: Point Cloud Transformer

    PCT:点云Transformer Meng-Hao Guo Tsinghua University gmh20@mails.tsinghua.edu.cn Jun-Xiong Cai Tsinghu ...

  4. FastFormers 论文解读:可以使Transformer 在CPU上的推理速度提高233倍

    自Transformers诞生以来,紧随其后的是BERT,在几乎所有与语言相关的任务中,无论是问题回答,情感分析,文本分类还是文本生成,都占据着NLP的主导地位. 与RNN和LSTM消失的梯度问题(不 ...

  5. Point Cloud Transformer(PCT)代码实现

    Point Cloud Transformer(PCT)代码实现 目前最火热的Transformer在自然语言和图像识别中扮演了极其重要的角色,在点云数据集中也不例外,清华大学近期提出在点云中运用Tr ...

  6. Point Cloud Transformer(PCT)阅读翻译

    PCT: Point Cloud Transformer 1. Introduction transformer是一种 encoder-decoder结构,包含了三个模块:输入词嵌入,位置(顺序)编码 ...

  7. 论文阅读 PCT:Point Cloud Transformer

    论文阅读 PCT:Point Cloud Transformer PCT 介绍 Input Embedding native 版本 enhanced 版本 Attention PCT 介绍 PCT是基 ...

  8. AI论文解读:基于Transformer的多目标跟踪方法TrackFormer

    摘要:多目标跟踪这个具有挑战性的任务需要同时完成跟踪目标的初始化.定位并构建时空上的跟踪轨迹.本文将这个任务构建为一个帧到帧的集合预测问题,并提出了一个基于transformer的端到端的多目标跟踪方 ...

  9. 论文解读:《功能基因组学transformer模型的可解释性》

    论文解读:<Explainability in transformer models for functional genomics> 1.文章概括 2.背景 3.相关工作 4.方法 4. ...

最新文章

  1. NeurIPS 2021论文放榜!清华投稿90篇排名第5,北大第9
  2. fastdfs详细安装教程
  3. python就业前景分析-Python就业前景如何?老男孩Python培训好吗?
  4. leetcode474. 一和零
  5. 代理缓存服务器squid
  6. centos8共享文件夹挂载_CentOS 8 安装并配置NFS服务
  7. 机器学习--Lasso回归(LassoRegression)
  8. mysql(mariadb)重装
  9. Standard C++ Episode 10
  10. python 返回列表中的偶数
  11. AntDesign 表格设置背景色
  12. “字号”和“磅”的对应关系
  13. 查看linux设备Ran的大小,linux – 来自/ dev / zero和/ dev / urandom的不同文件大小
  14. SWFObject 使用 范例版~~~
  15. 天主教七宗罪(你范了那些条)
  16. html网页表格怎么自动添加,Html表格自动生成工具
  17. CycleGAN中欺骗相反域的鉴别器是什么意思
  18. java毕业生设计校园失物招领系统计算机源码+系统+mysql+调试部署+lw
  19. 力扣编程能力入门练习
  20. 访问量分类统计(QQ,微信,微博,网页,网站APP,其他)

热门文章

  1. 仿途风网旅游网站/爱讯.NET程序敏捷开发框架
  2. React Native Text 组件显示不全解决方案
  3. python作用总结_python个人总结
  4. VS2005安装问题解决
  5. JAVA简易推箱子小游戏制作
  6. CIA进行“嫁祸式攻击”?专家称维基解密对CIA的指控有些“过分”
  7. python登陆百度网盘_百度网盘命令行版本bypy
  8. 评估假设函数是否过拟合的方法
  9. Tensorflow: ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directo
  10. NXP_RT1172 eFlexPWM 模块简介