深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。卷积神经网络是目前应用最为广泛之一的深度学习技术,它是一种含特征提取器(由卷积层和混合池层组成)的深度神经网络,该网络流行于计算机视觉领域。计算机视觉非常直观且好理解,机器学习领域对其关注已久。人类自身具备优秀的视觉处理能力,所以当设计的学习算法不及预期的时候,我们经常提出新的研究手段。实际上,手写字符识别的数据库 MNIST已经成为了机器学习界的果蝇(一个在生物界用来作为参考的果蝇模式生物体),其原因在于MNIST经常用来测试新的学习算法。生物学与计算机视觉的一个根本区别在于人能够直接观察视觉世界。人类可以很形象地去探索灯光、遮挡以及投影等作用因素形成的图像,但是肉眼无法直接看到一个细胞里面的纳米世界。尽管已经花费了几十年的心血,我们对于细胞内部运行机制的认识还远远不够,甚至对于生物酵母这种单细胞也同样如此。基因型与表型之间的关系的复杂性显然要比ImageNet计算机视觉挑战赛中的像素-标签关系的复杂性要高出很多数量级。细胞里的很多相互作用、数量以及过程的细节对于我们来说都是不可见的,因为我们无法系统性的对其进行测量。换句话说,我们能够观察到的少数部分细胞变量本质上也是我们不能观察到的许多层细胞变量之间相互作用的结果。这就是为什么我们坚信先进的机器学习技术,特别是深度学习,将随着生物学走向高通量实验而逐步发挥重要作用。Deep Genomics的创始人弗雷(Frey)认为在基因组学领域运用当前最热门的深度学习技术,可以改变现在的医学。他说,人类擅长文本分析,擅长语音识别,但人类不了解基因文本。一个能够深度学习的系统可以处理大量基因数据,这样可以比人类更好地理解基因突变。

1 CNN预测DNA-蛋白结合位点
  为介绍卷积神经网络在生物基因组学领域的应用,本文试图采用机器学习或者基因组学研究者容易理解的方式来描述CNN预测DNA-蛋白结合位点的方法。 首先,我们将一个基因组序列窗口视为一张图片。不同于有三颜色通道(R, G, B)像素组成的二维图片,我们将基因组序列视为有四通道(A, C, G, T)组成的一个固定长度的一维序列窗口。因此,DNA蛋白结合位点预测的问题好比于图片的二分类问题。CNN用于基因组学研究的最大优势之一是,它可以探测某一motif(指蛋白质分子具有特定功能的或者作为一个独立结构域一部分相近的二级结构聚合体)是否在指定序列窗口内,这种探测能力非常有利于motif的鉴定,进而有助于结合位点的分类。

1.1 卷积神经网络架构

CNN架构如下图所示。输入层为4 x L矩阵,其中L为窗口序列的长度(我们测试的碱基长度为101 bp)。四对碱基对用四个one-hot矢量表示:[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]。

神经网络的第一层为卷积层,可以认为该层具有扫描motif的功能。例如,DeepBind(Alipanahi et al., 2015)使用了16个核(或称滤波器、特征映射)的卷积层,每个关联到1步长(1个跨距)和24大小的窗口进行扫描输入序列。第二层为全局最大混合池层,每一个池对应一个特征映射,最终只输出其对应卷积层输出的最大值,从而减少了在后置层的参数数目。第三层为32个神经元的全连接层,每个神经元都与最大混合池化层的所有神经元连接。我们接着在第三层的输出中使用dropout层,以一定概率随机舍弃部分权值参数,从而避免过拟合。最后一层网络有两个神经元组成,对应了两个类别,当然,这两个神经元与上一层的神经元进行了全连接。

我们通过改变三个重要参数中的一个来设计一系列的构架,这三个参数分别是卷积核的数量、网络的层数和顶层池化的方法。每个参数的改变都会在不同层面影响网络的表现。额外增加卷积核可加强motif多态性的探测;而额外的卷积层和最大池层会提高神经网络的深度,进而加强模型提取特征(诸如motif相互作用)的能力,当然层数的增加会使训练的计算成本提高。全局最大池可对motif在输入序列中存在与否的信息进行缩减(达到减少参数的效果),而局部最大池会保持motif的信息。

1.2 实验结果

1.2.1 实验设置

使用690个转录因子的ChIP-seq实验数据(由ENCODE提供),比较多种模型的表现。我们分别为motif discovery和motif occupancy项目建立阳性和阴性的数据集。在motif discovery项目中,我们参考了Alipanahi et al的方法对数据进行预处理,最终将发生ChIP-seq结合事件的序列定位在101 bp序列的中间位置;阴性数据集由保持二核苷酸频率的打乱阳性序列组成(The negative set consists of shuffled positive sequences with dinucleotide frequency maintained)。在项目中,我们随机选取80%的样本数据作为训练集,而剩下的20%样本数据作为测试集。

在不同配置的卷积神经网络中,我们都会训练所有690个实验数据集,并采用箱线图表示每次训练的预测精确度,然后比较不同CNN得到的预测精确度的中位值区域(AUG)。此外,我们使用DeepBind和gkm-SVM(Ghandiet al., 2014)的AUG作为对照。

1.2.2 一种用于motif discovery的简单模型

在motif discovery项目中,配置和DeepBind一样的基本结构(1层网络)所表现出的预测能力也和原始的DeepBind预测能力相似。我们的基本模型得到稍微第一点的中位值AUG,但接近0.5的AUG数少于DeepBind(如下图所示)。DeepBind的一些实例的AUG接近0.5的原因可能是由于错误的权重初始化所致。出乎意料的是,尽管局部最大池流行于深度学习在计算机视觉中的应用,但我们观察到的局部最大池(1layer_local_win3, 1layer_local_win9)表现出的预测水平却明显低于简单的全局最大池化策略。我们发现越是局部化的最大池窗,其表现能力越差。因此,对motif discovery项目来说,保留更多的motif存在与否的信息对预测带来的帮助还不足以抵消噪声所带来的负面影响。我们还发现,通过增加更多更低的网络层(2layer, 3layer)来执行特征转化也会降低预测能力。因此,挺让人意外地,我们得出的结论是,更深度的架构并不是motif discovery项目所必须的。

1.2.3 CNNs 擅长捕捉更高度有序的特征

motif occupancy项目的训练难度要大于motif discovery,因为我们需要严格找到motif重心在阳性和阴性数据集中的分布,进而消除motif重心对结合位点预测的影响。即使在这种情况下,CNNs仍然实现了预测能力AUG接近0.8的良好表现,远胜于gkmSVM。为进一步探索CNNs是怎么捕捉更高级别的特征,我们形成额外的阳性和阴性数据集,类似于motif occupancy项目的数据集,只是样本中的motif的位置不再收阳性样本的控制。在这种情况下,motif的位置成为一种需要学习的更高级的信息。我们发现基本的CNN具有良好的表现,特别是当我们使用局部混合池化的时候,网络表现出更强的特征位置记忆能力。

1.2.3 CNNs 擅长捕捉更高度有序的特征

我们发现,当训练数据(ChIP-seq实验数据)不足时,卷积神经网络的表现水平会随着网络复杂度的增加而降低。我们计算每个实验样本的八种模型的AUG,然后使用凝聚法层次聚类ward linkage法聚类每个实验的表现,观察四种变现的聚类。两种聚类(红色和紫色)在使用更复杂模型的时候表现的很糟糕,而一种聚类(蓝色)在整个模型中都有相似的AUGs;第四种聚类(绿色)处于两种极端情况之间。在比较了每个聚类的样本大小的分布之后,我们观察到实验可利用的训练数据集数量和复杂模型的变现具有很强的正相关性,暗示了充足的训练数据是复杂模型必不可少的。我们进一步考察不同架构对输入数据集大小的敏感性。我们使用112个ChIP-seq数据集,这些数据集包含了4万多个结合位点事件。我们还创造了三个新的实验集,每个集也拥有112个数据集,采用抽样方法从每个原始ChIP-seq数据集中抽取含4万、1万和0.25万结合位点事件。训练和评估相同架构在这三种实验集中的motif寻找能力。在4万训练样本下,所有的模型表现相似,超过一层的模型表现稍微好于基本结构的模型,但优势并不明显。对于更少样本数的数据集,构架更复杂的模型表现反而更差。

2 方法

2.1 ChIP-seq数据

同Alipanahi et al. (2015) and Zhou and Troyanskaya (2015),我们从ENCODE数据库(http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeAwgTfbsUniform/)中获取690个ChIP-seq实验数据。我们为motif discovery和motif occupancy构建单独的数据集。在motif discovery项目中,阳性集由每个ChIP-seq峰的中心101 bp区域组成;而阴性集由被打乱的阴性序列(with matching dinucleotide composition)组成。打乱由MEME的‘fasta-dinucleotide-shuffle’包实现。在motif occupancy项目中,我们将转录因子TF的ChIP-seq实验集数量限制在422个,每个motif都可以在JASPAR数据库中找到。进而,使用MEME套件的FIMO包鉴定全基因组的motif实例,就是motif中心101 bp区域否与ChIP-seq峰重叠而标注类别(0或1)。最后,我们再匹配上阳性和阴性集的尺寸、GC含量和motif重心(使用FIMO计算的P值),方法同Whitaker et al. (2015)。对于每个ChIP-seq实验数据集,我们随机打乱阳性集和阴性集的样本后将每个实验集的80%样本作为训练集,剩余20%样本作为测试集,然后综合评估预测能力。对于卷积神经网络,我们从训练集中再次随机抽取1/8的样本作为验证集,用于多参数搜索。

2.2 卷积神经网络的实施

使用深度学习框架Caffe来搭建参数化的卷积神经网络,使用Mri(https://github.com/Mri-monitoring/Mri-docs/blob/master/ mriapp.rst)搜索超参数。对于每个实验集,同DeepBind的使用数量,我们从所有可能组合中随机抽取30个超参数设置。具体的超参数空间如下表所示。

虽然DeepBind的模型结构和我们的基本模型的结果一样,但用于权重初始化和优化的代码库和深度学习平台是有区别的。此外,在DeepBind中,32个神经元的全连接层和输出层之前的dropout层的使用是两个超参数,而在我们的Caffe平台实施这个是件不容易的事情。因此,我们总是将这两层嵌套在我们所有的模型中。

在模型训练和模型评估中有三个阶段。在超惨搜寻阶段,我们使用了30个候选的超参数设置。对于每个潜在的超参设置,我们使用训练数据集训练模型,并且每训练100小批量数据进行一次验证。在训练阶段,在迭代的最后阶段验证精确度最好的超参数将用于模型的继续训练,然后每500个小批量训练进行一次验证。迭代中表现最好的参数将作为最好的模型参数。在测试阶段,我们使用测试数据集完成分类预测,这个过程在前面的两个阶段完成之后执行。

2.3 与gkm-SVM和DeepBind的比较

我们使用gkm-SVM R包默认的训练参数(https://cran.r-project.org/web/packages/gkmSVM)去训练我们所有的实验数据。我们从http://tools. genes.toronto.edu/deepbind/nbtcode/获取DeepBind的源代码。

3 总结

卷积神经网络具备学习复杂特征的能力。我们设计卷积神经网络的时候,需要参考网络参数的数量、可利用的数据量、特征相互作用的复杂度以及由没必要的复杂度引起的噪声。我们发现,CNN结构对预测能力的影响会因项目类型的不同而不同,但采用更多的卷积核带来的有利贡献似乎对哪种项目类型都有效。我们通过卷积神经网络架构的系统性探测,实现了一种比DeepBind表现更优的CNN网络,暗示了这种可配置的网络方法对基于序列的基因组研究是很重要的。我们为研究人员提供了一种灵活测试不同卷积神经网络构架的方法,期望这种基于测试的方法有利于卷积神经网络在基因组研究中的拓展应用。

参考文献:

Zeng H, Edwards MD, Liu G, Gifford DK. (2016) Convolutional neural network architectures for predicting DNA-protein binding.Bioinformatics, 32(12):i121-i127.

Alipanahi,B. et al. (2015) Predicting the sequence specificities of DNA- and RNA-binding proteins by deep learning. Nat. Biotechnol., 33, 831–838.

Zhou,J. and Troyanskaya,O.G. (2015) Predicting effects of noncoding variants with deep learning-based sequence model. Nat. Methods, 12, 931–934.

Whitaker,J.W. et al. (2015) Predicting the human epigenome from DNA motifs. Nat. Methods, 12, 265–272.
————————————————
版权声明:本文为CSDN博主「jasonaidm」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jasonaidm/article/details/78025837

应用卷积神经网络CNN预测DNA-蛋白结合位点Convolutional neural network architectures for predicting DNA–protein binding相关推荐

  1. 应用卷积神经网络CNN预测DNA-蛋白结合位点

    深度学习是机器学习研究中的一个新的领域,其动机在于建立.模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本.卷积神经网络是目前应用最为广泛之一的深度学习技术,它是一种含特 ...

  2. 【卷积神经网络的加速】Speeding up Convolutional Neural Networks with Low Rank Expansions

    主题:[深度卷积神经网络的加速] Speeding up Convolutional Neural Networks with Low Rank Expansions 附上论文链接:上一篇中提到的低秩 ...

  3. 深度学习 --- 卷积神经网络CNN(LeNet-5网络详解)

    卷积神经网络(Convolutional Neural Network,CNN)是一种前馈型的神经网络,其在大型图像处理方面有出色的表现,目前已经被大范围使用到图像分类.定位等领域中.相比于其他神经网 ...

  4. 分类预测 | MATLAB实现CNN卷积神经网络数据分类预测

    分类预测 | MATLAB实现CNN卷积神经网络数据分类预测 目录 分类预测 | MATLAB实现CNN卷积神经网络数据分类预测 基本介绍 模型设计 学习总结 参考资料 基本介绍 使用卷积网络的潜在好 ...

  5. 基于卷积神经网络CNN的水果分类预测,卷积神经网络水果等级识别

    目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 卷积神经网络CNN水果分类预测 基本结构 主要参 ...

  6. 基于卷积神经网络CNN的甘蔗芽体自动识别,卷积神经网络分类预测

    目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 卷积神经网络CNN甘蔗芽体自动识别 基本结构 主 ...

  7. 卷积神经网络(CNN)的简单实现(MNIST)

    卷积神经网络(CNN)的基础介绍见http://blog.csdn.net/fengbingchun/article/details/50529500,这里主要以代码实现为主. CNN是一个多层的神经 ...

  8. 深度学习~卷积神经网络(CNN)概述

    目录​​​​​​​ 1. 卷积神经网络的形成和演变 1.1 卷积神经网络结构 1.2 卷积神经网络的应用和影响 1.3 卷积神经网络的缺陷和视图 1.3.1 缺陷:可能错分 1.3.2 解决方法:视图 ...

  9. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR

    原地址可以查看更多信息 本文主要参考于:Classifying MNIST digits using Logistic Regression  python源代码(GitHub下载 CSDN免费下载) ...

最新文章

  1. 用kali的Meterpreter控制win10,可以偷看你的电脑的所有数据
  2. Android Git 常用命令和规范
  3. 随机生成元素升序向量_推荐系统中用户向量的表示学习
  4. apache+tomcat配置
  5. Go-json解码到接口及根据键获取值
  6. 一张图剖析企业大数据平台的核心架构
  7. hive load data外部表报错_从0开始学大数据-Hive基础篇
  8. linux rewind函数,C语言rewind()函数:将文件指针重新指向文件开头
  9. 机器人收集 + Keypose 算法:准确估计透明物体的 3D 姿态
  10. 评:网瘾不是问题 两代人文化冲突是根本
  11. 30本互联网相关的电子书
  12. vue3.0中使用echarts
  13. python机器学习——加州房价模型验证
  14. 游戏出海迎来新高,出海的路上如何防范DDoS风险?
  15. 一键安装微信已完成,编号10,欢迎品尝
  16. 计算机如何与机顶盒连接网络连接网络连接,如何将机顶盒连接到计算机
  17. Zynq笔记(一) —PL端(FPGA部分)的设计流程
  18. # Python3 面试试题--Python语言特性
  19. 模仿360安全卫士项目笔记9
  20. 【C++实验一】 实现CMatrix类

热门文章

  1. linux黑屏代码10,分享10你可能不曾用过的Linux命令
  2. 记录一次Powerjob踩的坑(Failed to deserialize message)
  3. vue返回上一页的方式
  4. safari无法打开网页是什么原因?mac上的Safari浏览器打不开网页怎么办?
  5. 抖音矩阵号系统搭建之视频评论管理接入方案
  6. 计算机运行慢 卡是什么原因是什么原因,电脑反应慢是什么原因(电脑卡顿是为什么怎么解决)...
  7. LINQ: Reconciling objects, relations and XML in the .NET framework
  8. (转)Excel VBA 操作 Word(入门篇)
  9. Thrift入门及 Java 实现简单demo
  10. 3dmax:3dmax室内建模设计室外建筑单体渲染图文教程之详细攻略