DNNs的基本结构由一个输入层、多个隐含层和一个输出层组成(图4),一旦将输入数据给DNNs,则沿着网络的各个层依次计算输出值。在每一层,由下一层各单元的输出值组成的输入向量乘以当前层各单元的权向量,得到加权和。然后,将一个非线性函数,如sigmoid、双曲正切或整流线性单元(recfied linear unit, ReLU)[67]应用于加权和,计算该层的输出值。每一层中的计算将下面一层中的表示转换为稍微抽象的表示[8]。根据神经网络中使用的层类型和相应的学习方法,神经网络可以分为MLP、SAE或DBN。
MLP的结构与通常的神经网络相似,但包含更多的层叠层。它以一种纯粹监督的方式进行训练,只使用带标签的数据。由于训练方法是一个高维参数空间的优化过程,所以当有大量带标记的数据可用时,通常使用MLP。
SAE和DBN分别使用AEs和RBMs作为体系结构的构建块。它们与MLP的主要区别在于,培训分两个阶段执行:无监督预培训和监督微调。首先,在无监督的预训练中(图5),层按顺序堆叠,并使用未标记的数据以分层方式作为AE或RBM进行训练。然后,在监督微调过程中,对输出分类器层进行叠加,利用标记数据进行再训练,对整个神经网络进行优化。因为SAE和DBN利用未标记的数据,可以帮助避免过度拟合,即使标记数据不足(这在现实世界中很常见),研究人员也能够获得相当正则化的结果[68]。
DNNs以适合分析高维数据而闻名。由于生物信息学数据的复杂性和高维性,DNNs在生物信息学研究中具有广阔的应用前景。我们相信DNNs作为一种分层表示学习方法,能够发现以前未知的高度抽象的模式和关联,从而提供更好地理解数据本质的洞察力。然而,我们意识到,DNNs的能力尚未得到充分利用。虽然DNNs的关键特征是层次特征只从数据中学习,但是人类设计的特征常常作为输入而不是原始数据形式给出。我们希望DNNs在生物信息学领域的未来发展将来自于对原始数据编码方法的研究,并从中学习合适的特征。
CNNs被设计用来处理多种数据类型,特别是二维图像,并直接受到大脑视觉皮层的启发。在视觉皮层中,有两种基本细胞类型的层次结构:简单细胞和复杂细胞[69]。简单细胞对视觉刺激子区域的原始模式做出反应,而复杂细胞则通过合成简单细胞的信息来识别更复杂的形式。由于视觉皮层是一个强大而自然的视觉处理系统,因此CNNs被用来模拟三个关键的概念:局部连接、对位置的不变性和对局部过渡[8]的不变性。
神经网络的基本结构包括卷积层、非线性层和池化层(图6)。为了使用高度相关的数据子区域,通过计算局部块和称为滤波器的权重向量之间的卷积,在每个卷积层获得局部加权和的组,称为特征图feature maps。此外,由于无论数据中的位置如何,都可能出现相同的模式,因此过滤器在整个数据集中重复应用,这也通过减少要学习的参数数量提高了训练效率。然后非线性层增加了特征图的非线性性质。在每个池化层上,对特征图中不重叠区域进行最大或平均子采样。这种非重叠的子抽样使CNNs能够处理稍微不同但语义相似的特性,从而聚合本地特性来识别更复杂的特性。
由于CNNs具有出色的空间信息分析能力,是目前最成功的深度学习体系结构之一。由于他们在目标识别领域的发展,我们相信生物信息学的主要研究成果将来自生物医学影像领域。尽管普通成像和生物医学成像的数据特征不同,但与其他领域相比,CNN将提供直接的应用。事实上,CNNs在生物组学和生物医学信号处理方面也有很大的潜力。CNNs的三个关键思想不仅可以应用于一维网格中,发现具有小方差的有意义的重复模式,如基因组序列基序,还可以应用于二维网格中,如组学数据中的相互作用和生物医学信号的时频矩阵。因此,我们相信和承诺CNN在生物信息学应用中的普及将在未来几年继续。
设计用于利用时序信息的RNNs具有循环连接的基本结构(图7)。由于输入数据是按顺序处理的,所以在存在循环连接的隐藏单元中执行循环计算。因此,过去的信息隐式地存储在称为状态向量的隐藏单元中,并且考虑到使用这些状态向量[8]的所有以前的输入,计算当前输入的输出。由于在很多情况下,过去和未来的输入都会影响当前输入的输出(例如在语音识别中),因此双向递归神经网络(BRNNs)[70]也得到了广泛的设计和应用(图8)。
虽然从层数上看,RNNs似乎不像DNNs或CNNs那么深,但如果随着时间的推移,它们可以被认为是更深的结构(图7)。因此,长期以来,研究人员在训练RNNs的同时,一直在与逐渐消失的梯度问题作斗争,而学习数据之间的长期依赖性是比较困难的。幸运的是,用LSTM[36,37]或GRU[19]等更复杂的单元替换简单的感知器隐藏单元,这些单元的功能就像记忆细胞一样,这极大地帮助避免了这个问题。最近,RNNs在许多领域都得到了成功的应用,包括自然语言处理[16,17]和语言翻译[18,19]。
尽管相对于DNNs和CNNs, RNNs的研究较少,但它们仍然为序列信息提供了非常强大的分析方法。由于生物组学数据和生物医学信号通常是顺序的,通常被认为是自然语言,因此RNNs将可变长度的输入序列映射到另一个序列或固定大小的预测的能力在生物信息学研究中很有前景。在生物医学影像方面,RNNs目前并不是许多研究者的首选。然而,我们认为动态CT和MRI的传播[71,72]将导致RNNs和CNNs的结合,并在长期内提高其重要性。此外,我们希望他们在自然语言处理方面的成功将导致RNNs应用于生物医学文本分析[73],而使用注意机制[74-77]将提高性能并从生物信息学数据中提取更多相关信息。
新兴架构是指除DNN,CNN和RNN之外的深度学习架构。在本综述中,我们介绍了三种新兴架构(即DST-NN,MD-RNN和CAE)及其在生物信息学中的应用。
DST-NNs[38]是通过逐步细化来学习多维输出目标的。DST-NNs的基本结构由多维隐层构成(图9)。该结构的关键方面是渐进式细化,考虑了局部相关性,并通过每个层的输入特征组合(空间特征和时间特征)来实现。空间特征是指整个DST-NN的原始输入,在每一层都是相同的。然而,时间特征是逐渐改变,以进步到上层。除第一层外,为了计算当前层中的每一个隐藏单元,只使用与下一层坐标相同的相邻隐藏单元,使局部相关性逐步反映。
MD-RNNs[39]被设计用来将RNNs的功能应用于非顺序多维数据,将它们作为顺序数据组处理。例如,二维数据被视为水平和垂直序列数据的组。与一维数据中在两个方向使用上下文的BRNNs类似,MD-RNNs在多维数据中在所有可能的方向使用上下文(图10)。以二维数据集为例,隐层中每个位置的四个隐单元的计算反映了四个随数据处理顺序变化的上下文。隐藏单元连接到单个输出层,并考虑所有可能的上下文计算最终结果。
CAEs[40,41]利用AE和CNNs的优点,学习反映空间信息的数据的良好层次表示,并通过无监督训练得到良好的正则化(图11)。在AEs的训练中,采用编码器和解码器分别从输入数据中提取特征向量,再从特征向量中重建数据,使重构误差最小。在CNNs中,卷积和池化层可以看作是一种编码器。因此,将反卷积和反池层构成的CNN编解码器集成成CAE,并按照与AE相同的方式进行训练。
深度学习是一个快速发展的研究领域,大量新的深度学习体系结构正在被提出,但在生物信息学中有待广泛应用。新提出的体系结构具有不同于现有体系结构的优点,因此我们希望它们在各个研究领域都能取得有前景的成果。例如,DST-NNs的逐步细化符合蛋白质的动态折叠过程,可以有效地用于蛋白质结构预测[38]; MD-RNNs的能力适合于生物医学图像的分割,因为分割需要解释局部和全局上下文;CAEs中考虑空间信息的无监督表示学习在发现有限且不平衡的生物信息学数据中的重复模式方面具有很大的优势。
表4:深度学习应用生物信息学研究途径与输入数据
在组学研究中,基因组、转录组和蛋白质组数据等遗传信息被用来解决生物信息学中的问题。组学中一些最常见的输入数据是原始的生物序列(即随着下一代测序技术的发展,这些基因变得相对便宜,也更容易获得。此外,从序列中提取特征,如位置特定评分矩阵(PSSM)[78]、理化性质[79,80]、Atchley因子[81]、一维结构性质[82,83]常作为深度学习算法的输入,以缓解复杂生物数据的困难,提高结果。此外,还根据感兴趣的特性,使用蛋白质接触图(在三维结构中表示氨基酸对的距离)和微阵列基因表达数据。我们将组学中感兴趣的主题分为四组(表4)。蛋白质结构预测是目前研究最多的问题之一,其目的是预测蛋白质的二级结构或接触图[84-92]。基因表达调控[93-107],包括剪接连接或RNA结合蛋白,以及蛋白质分类[108-110],包括超家族或亚细胞定位,也得到了积极的研究。此外,异常分类[111]方法已被用于组学数据检测癌症。
DNNs在蛋白质结构预测中得到了广泛的应用[84-87]。由于三维空间的完全预测是复杂和具有挑战性的,一些研究使用了更简单的方法,如预测蛋白质的二级结构或扭转角。例如Heffernan等[85]将SAE应用于蛋白质氨基酸序列,解决了二级结构、扭转角和可达表面积的预测问题。在另一项研究中,Spencer等[86]将DBN与PSSM和Atchley因子一起应用于氨基酸序列预测蛋白质二级结构。DNNs在基因表达调控方面也表现出了巨大的能力[93-98]。例如,Lee等[94]将DBN应用于了解基因表达的主要研究途径splice junction prediction[112]中,提出了一种新的DBN训练方法,即对不平衡数据进行增强对比发散训练,对DNA序列稀疏性进行新的正则化处理; 他们的工作不仅显著提高了性能,而且能够检测细微的非正则剪接信号。此外,Chen等[96]将MLP应用于微阵列和RNA-seq表达数据中,从仅有的1000个标志性基因中推断出多达21000个目标基因的表达。在蛋白质的分类中,Asgari等[108]采用skip-gram模型中,一个众所周知的方法在自然语言处理中,可以认为是延时的变体,和表明,它可以有效地学习生物序列与通用的分布式表示使用很多组学的应用,包括蛋白质家族的分类。在异常分类方面,Fakoor等[111]利用主成分分析(PCA)[113]降低微阵列基因表达数据的维数,应用SAE对急性髓系白血病、乳腺癌、卵巢癌等多种癌症进行分类。
由于生物序列具有可变的长度和序列信息的重要性,因此RNNs被认为是一种合适的深度学习结构。已有多项研究将RNNs应用于蛋白质结构预测[88-90],基因表达调控[105-107],以及蛋白质分类[109,110]。在早期研究中,Baldi等人[88]在蛋白质二级结构预测中使用具有感知器隐藏单位的BRNN。 此后,LSTM隐藏单元的改进性能得到了广泛的认可,因此Sønderby等人 [110]应用具有LSTM隐藏单元的BRNN,并且一维卷积层允许来自氨基酸序列的表示并且对蛋白质的亚细胞位置进行分类。此外,Park等[105]和Lee等[107]利用LSTM隐藏单元的RNNs对microRNA进行识别和目标预测,相对于最先进的方法,获得了显著提高的准确性,证明了RNNs具有分析生物序列的高能力。
新兴架构已被用于蛋白质结构预测研究[91,92],特别是在接触图预测中。Di Lena等[91]利用蛋白质二级结构、定向概率、排列概率等空间特征应用DST-NNs。此外,Baldi等[92]将MD-RNNs应用于氨基酸序列、相关图谱和蛋白质二级结构。
考虑到神经网络中大量权重参数优化的必要性,大多数深度学习算法都假设有足够均衡的数据。然而,不幸的是,对于生物信息学中的问题,这通常是不正确的。复杂而昂贵的数据采集过程限制了生物信息学数据集的大小。此外,此类过程通常显示出明显不平等的类分布,其中一个类的实例显著高于其他类的实例[179]。例如,在临床或与疾病相关的病例中,来自治疗组的数据必然少于来自正常组(控制组)的数据。由于隐私限制和道德要求,前者也很少向公众披露,从而造成可用数据的进一步失衡[180]。
一些评估指标已经被用来清楚地观察有限和不平衡的数据如何可能损害深度学习的性能[181]。虽然准确度常常会给出误导人的结果,但F-measure(精度和回忆的调和平均值)提供了更具洞察力的性能评分。为了测量不同类别分布下的性能,通常使用接收机工作特性曲线(AUC)下的面积和精确回忆曲线(AUC-PR)下的面积。这两个度量是紧密相关的,因此当且仅当曲线在另一个度量中占主导地位时,曲线在其中一个度量中占主导地位。然而,与AUC-PR相比,AUC对性能的看法可能更为乐观,因为如果类呈负偏态,接收机工作特性曲线的假阳性率无法捕捉到假阳性率的较大变化[182]。
针对有限和不平衡数据的解决方案可以分为三大类[181,183]:数据预处理、对成本敏感的学习和算法修改。数据预处理通常通过采样或基本特征提取提供更好的数据集。采样方法平衡了不平衡数据的分布,提出了几种方法,包括知情欠采样[184]、综合少数过采样技术[185]和基于簇的采样[186]。例如,Li等[127]和Roth等[146]通过随机移位、旋转等空间形变对CT图像进行富集分析。虽然基本的特征提取方法偏离了深度学习的概念,但它们偶尔被用来减少从有限和不平衡的数据中学习的困难。利用人类设计的特征作为输入数据的生物信息学研究,如基因组序列的PSSM或脑电图信号的小波能量,可以在相同的上下文中理解[86,92,172,176]。
对成本敏感的学习方法定义了从单个类中对数据示例进行错误分类的不同成本,以解决有限且不平衡的数据问题。成本敏感性可以显式或隐式地应用于神经网络的目标损失函数[187]。例如,我们可以显式地替换客观损失函数来反映班级的不平衡,或者在训练过程中根据数据实例类隐式地修改学习率。
算法修改方法适应学习算法,以提高其对有限和不平衡数据的适用性。一种简单而有效的方法是采用培训前培训。无监督的预培训可以极大地帮助学习每个类的表示,并产生更加规范化的结果[68]。此外,迁移学习具有很大的优势,它包括使用来自相似但不同领域的足够数据进行预训练,并使用真实数据进行微调[24,188]。例如,Lee等[107]提出了一种基于RNN AE的无监督预训练的microRNA目标预测方法,与现有方法相比,该方法的F-measure提高了>25%。Bar等[132]使用ImageNet数据库中的自然图像作为训练前数据进行转移学习[189],并与胸部x线图像进行微调,以识别胸部病理,对健康和异常图像进行分类。除了预训练,还执行了复杂的训练方法。 Lee等[94]建议DBN提高分类RBM,Havaei等[139]建议CNN采用两阶段训练,结合欠采样和预训练的思路。
批评反对深度学习的一个主要原因是,它被用作一个黑匣子:尽管它能产生出色的结果,但我们对这种结果是如何在内部产生的知之甚少。在生物信息学,特别是生物医学领域,仅仅产生好的结果是不够的。由于许多研究都与患者的健康有关,因此将黑盒转换为白盒至关重要,就像临床医生为医疗提供逻辑推理一样。
从黑盒子到白盒子的深度学习的转换还处于早期阶段。最广泛使用的方法之一是通过可视化一个训练有素的深度学习模型来进行解释。在图像输入方面,针对特定的CNNs输入,提出了一种反卷积网络来重构和可视化层次表示[190]。
此外,为了使广义类代表图像可视化而不依赖于特定输入,通过反向传播到输入(参见反向传播到权重)的输入空间中的梯度上升优化提供了另一种有效的方法[191,192]。在基因组序列输入方面,已经提出了几种方法来从训练过的模型中推断PSSMs,并使用热图或序列标识来可视化相应的基序。例如,Lee等[94]通过在DBN的第一层中选择最具类辨别力的权向量来提取基序;DeepBind[100]和DeMo[101]分别通过计算每个特征图的高激活值的正输入子序列的核苷酸频率和反向传播到输入的核苷酸频率,从训练过的CNNs中提取基序。
针对转录因子结合位点预测,Alipanahi等[100]开发了一种可视化方法,即突变图,用于说明基因变异对CNNs预测的结合评分的影响。突变图由热图和输入序列徽标组成,热图显示每个突变对绑定得分的影响程度,输入序列徽标中每个碱基的高度按比例缩放为所有可能的突变中绑定得分的最大降幅。Kelley等[103]进一步用折线图补充了突变图,显示了预测得分的最大增加和最大减少。除了通过可视化进行解释外,还在研究旨在明确聚焦于要点的注意机制[74-77],以及深度学习背后的数学原理[193,194]。
传统深度学习体系结构的网络化是未来的发展趋势。例如,与注意模型集成的CNNs和RNNs联合网络被应用于图像字幕[75]、视频摘要[215]和图像问答[216]。还进行了一些关于增强RNN结构的研究。 神经图灵机[217]和存储器网络[218]在RNN中采用了可寻址的外部存储器,并且对于需要复杂推理的任务(例如算法学习和复杂的问答)显示了很好的结果。
最近,对抗性的例子越来越受到机器学习社区的关注,这些例子通过微小的人类察觉不到的干扰降低了性能[219,220]。由于神经网络的对抗性训练可以导致正则化以提供更高的性能,我们期望在这一领域进行更多的研究,包括对抗性生成网络[221]和多种正则化网络[222]。
在学习方法上,半监督学习和强化学习也受到重视。半监督学习利用未标记和标记数据,并提出了一些算法。例如,梯形网络[223]将跳过连接添加到MLP或CNNs中,同时最小化监督和非监督代价函数的和,从而在模型的每一层对表示进行降噪。强化学习利用行为而不是正确标记的数据所产生的奖励结果信号。由于强化学习最接近于人类实际的学习方式, 此这种方法对于人工一般智能有很大的应用前景[224]。目前,其应用主要集中在游戏[4]和机器人上[225]。
随着我们进入大数据时代,深度学习正成为国际学术和商业兴趣的中心。在生物信息学领域,传统的机器学习已经取得了很大的进步,深度学习有望产生有前途的结果。在这篇综述中,我们从输入数据、研究目标和已建立的深度学习体系结构的特点等方面,对应用深度学习的生物信息学研究进行了广泛的综述。我们进一步讨论了该方法的局限性和未来的研究方向。
虽然深度学习有希望,但它不是一颗银弹,不能在特定的生物信息学应用中提供巨大的结果。仍然存在许多潜在的挑战,包括有限或不平衡的数据、对深度学习结果的解释以及选择合适的体系结构和超参数。此外,为了充分发挥深度学习的能力,需要进一步研究深度学习的多模态性和加速性。因此,我们相信,对本文讨论的问题的审慎准备是未来生物信息学深度学习方法成功的关键。我们相信这篇综述将提供有价值的见解,并作为在未来研究中应用深度学习促进生物信息学的起点。