DNASimCLR:一种基于对比学习的基因序列数据分类的深度学习方法

摘要

DNASimCLR利用卷积神经网络和基于对比学习的SimCLR框架,从不同的微生物基因序列中提取复杂的特征。在包含宏基因组和病毒基因序列的两个经典的大规模未标记数据集上进行了预训练。后续的分类任务通过使用先前获得的模型对预训练的模型进行微调来完成。我们的实验表明,DNASimCLR至少可以与目前最先进的基因序列分类技术相媲美。在基于卷积神经网络的方法中,DNASimCLR超越了最新的现有方法,明显地确立了其优于最先进的基于CNN的特征提取技术。此外,该模型在分析生物序列数据的不同任务中表现出优异的性能,显示了其强大的适应性。

背景

基因序列分类

传统上,微生物基因测序分类依赖于基于同源性的方法——在数据库中搜索相似的DNA/RNA序列。然而,由于大量的基因序列与数据库中的所有基因类型匹配性差,无法进行分类,因此存在很大的局限性。因此,基于同源性的方法在处理新物种时往往是无效的。此外,基于同源性的方法的数据处理速度较慢,严重限制了它们的实用性。

对比学习

图1对比学习的简明陈述。对同一输入数据进行两个独立的数据增强操作( t⋅T和t′⋅T),得到两个关联的数据表示。训练一个门控嵌入向量编码网络f ( · )和一个前馈神经网络g ( · ),使用一个对比损失来最大化一致性。在预训练完成后,抛弃前馈神经网络g ( · ),使用编码器网络f ( · )完成后续工作

目前,对比学习在机器学习领域,特别是在无监督特征提取领域,是一个非常有前景的研究方向。对比学习的基本概念是通过对比特征空间中相似和不相似的数据点来训练网络的特征提取能力。(图1)通过编码器得到的相似数据的向量表示尽可能的接近,而不相似数据的向量表示尽可能的不同。Sim CLR强调数据增强和对比损失,通过对比学习来学习更有用的特征表示。Mo Co利用动量对比从未标注的数据中学习,利用动量更新构建对比集。BYOL是一种自监督学习方法,鼓励网络预测其增强版本来学习视觉特征表示。这些方法从大量的无标签数据池中训练模型来区分不同的数据点,以导出最终的特征提取模型,显著地丰富了无监督学习的训练方法,并使各种复杂的神经网络模型能够应用于大规模的无标签数据。

总之,当前对比学习的研究表明了基于对比不同数据训练特征提取网络的有效性。许多对比学习模型在各自的领域都取得了优异的效果,证明了它们能够从无标签数据中高效地导出强大的特征提取模型。然而,尽管对比学习在机器学习的其他领域取得了成功,包括计算机视觉和自然语言处理等,但在微生物组生物信息学研究中尚未得到广泛应用。虽然它具有巨大的潜力,正如在不同的领域所证明的那样,但在微生物基因组学和宏基因组学分析的背景下,它的应用仍然相对有限。微生物组生物信息学的大部分研究主要集中在传统的有监督和无监督学习技术上,而通过对比学习来促进微生物组生物信息学研究的潜力尚未开发。

本文的研究贡献

针对上述挑战,本文引入了DNASimCLR框架,一种基于对比学习的深度学习方法,用于微生物序列数据的特征提取。与其他方法不同,我们利用未标记数据进行预训练来增强特征提取。我们的方法包括两个关键步骤:使用未标记的基因序列数据进行初始预训练,然后在训练阶段对生成的网络进行微调以进行分类。

在数据处理方面,我们采用one-hot编码来表示DNA序列。基于SimCLR框架,以卷积神经网络作为特征提取模块。为了评估我们的分类方法的性能,我们对来自不同来源的微生物基因数据库进行了测试。应用我们的方法,我们对不同长度的( 250 bp、500 bp、1000 bp、1300 bp、10000 bp)读段序列进行了分类学分类和短序列病毒宿主预测,取得了99 %的显著分类准确率。我们的贡献包括:

(1)开创性地将对比学习应用于微生物基因序列的特征提取,并发展了一种将对比学习扩展到基因数据的数据处理方法,克服了原有针对图像数据设计的Sim CLR方法的局限性。

(2)建立高性能的基因序列分类器,大幅提升现有深度学习方法的有效性。

(3)我们的方法分为预训练和分类两个阶段,便于适应其他基因组学问题,如基因功能和宏基因组聚类。这种适应性强调了所提出的DNASimCLR框架在推进基因组学研究方面的多功能性和广泛适用性。

方法

DNASimCLR的工作流程包括两个主要阶段:对比学习的预训练阶段和分类网络的微调阶段(图2 )。在预训练阶段,我们使用One-Hot编码方法将未标记的原始DNA基因序列数据转换为机器学习兼容的格式。One-Hot编码数据在预训练阶段进行随机掩码生成训练数据集。

图2 Dnasimclr框架概述。
( A )标记数据和预训练模型:DNA序列通过独热编码进行预处理,将序列转换为数字特征矩阵,然后使用随机掩码进行数据增强。随后,利用掩码数据对Sim CLR模型进行预训练,得到预训练模型。
( B )训练分类网络:利用前面步骤得到的特征提取模型进行分类训练。最终,这个过程产生了一个分类网络,能够确定DNA序列的类别分类。

One-Hot编码数据在预训练阶段进行随机掩码生成训练数据集。在这一阶段,我们使用SimCLR框架模型来获得无标签序列的向量表示。该过程通过对比学习将基因序列嵌入到固定维度的高维空间中。在微调阶段,利用预训练阶段得到的特征提取模型,采用One-Hot编码方式对标注数据进行编码,无需进行掩码操作。我们继续进行分类预测的训练,目的是得到一个具有分类功能的分类网络。

对比学习的预训练阶段

我们选择SimCLR作为本研究的对比学习方法,我们的方法包含了SimCLR模型的核心原理,同时对其实现和针对DNA数据的数据增强方法进行了调整。SimCLR (无监督视觉表示的对比学习)框架的基本思想是通过比较学习,使相似样本的特征向量尽可能接近,不相似样本的特征向量尽可能远离(图3)。这种方法有利于提取更有效的特征表示。SimCLR通过应用于无标签数据的对比学习,生成密集表示数据空间的高质量特征向量。这些向量对于各种视觉任务都是有价值的。

图3 SimCLR算法伪代码

在对每个DNA序列进行处理时,我们将其分割成固定长度,并进行one-hot编码。为了进一步增强Sim CLR模型训练后的数据,我们采用了掩盖编码增强的数据增强方法,以p的概率进行掩码。在每次批量读取时,对输入序列中的30%的碱基进行随机掩码,有效地将' 0,0,0,0 '代替原来的独热编码(图4)。本研究将原始序列i的掩膜编码序列j作为同一样本的相关表示,作为SimCLR的正样本对(图5),采用这种细致的数据处理策略,为预训练阶段做好充分的数据准备,符合DNA数据的独特特征。

图4数据处理流程。将原始基因序列数据进行one - hot编码,转换为可由卷积神经网络(用' 1,0,0,0 '表示基G , ' 0,1,0,0 '表示基A , ' 0,0,1,0 '表示基C , ' 0,0,0,1 '表示基T。)处理的图像形式。然后随机选取其中的30 %,用' 0,0,0,0 '进行掩码。
图5本研究中的对比学习框架。其核心思想是训练一个特征提取模型,通过对比学习模型从被掩盖的原始DNA序列中获得的特征向量应该是最大相似的;同时,不同DNA序列通过相同的对比学习模型得到的特征向量应该具有最大的区分度

在完成原始数据的独热编码和随机掩码后,神经网络编码器从增强的数据实例中生成表示向量。框架中的神经网络编码器是可替换的。一个较小的网络投影头将表示向量映射到对比学习的隐藏空间中。对比学习任务的损失函数直接影响对比学习模型的特征提取能力。假设在给定的集合中,视图xi和视图xj是一个正对,则对比预测任务就是在给定xi的情况下,找到xj。我们随机抽取N个样本,每个样本产生2个视图,得到2N个视图。我们没有显式地直接取负样本。当给定一个正对时,则可以用2 ( N-1 )个样本构成一个负对。然后定义正例对( i , j)的损失函数为

式中:P[ k≠ i]为指示函数,取值为1,若[ k ≠i],ff为温度参数。最终的损失是在一个小批量中计算所有的正对,包括( i , j)和( j , i)。

卷积神经网络( Convolutional Neural Networks,CNNs )的结构和池化操作在从输入数据中提取特征方面至关重要,在包括图像和视频处理在内的各种计算机视觉领域证明了其有效性。在我们的DNASimCLR框架中,我们采用了ResNet-50架构作为编码器。2016年微软研究院推出的ResNet -50代表了深度卷积神经网络结构的重大飞跃。作为ResNet ( Residual Network )家族的一部分,该模型解决了传统CNN训练中遇到的挑战,如梯度消失或爆炸。由于其在ImageNet数据集上的深度和大规模训练,ResNet-50在后续评估中表现出优异的性能,重塑了CNN网络的行业感知。ResNet-50的一个关键创新点在于它利用残差连接来缓解网络训练过程中的梯度消失问题。这种方法有利于信息在网络层间的传播,大大减轻了梯度消失的影响,能够有效地训练深度和复杂的神经网络。尽管其具有相当大的深度,但由于包含了残差连接,模型在训练过程中的稳定性得到了增强,从而在后续任务中获得了优越的性能。Res Net-50架构对深度学习在计算机视觉领域的发展产生了重大影响,在图像分类、物体识别、视频处理等领域得到了广泛的应用。它的成功强调了深思熟虑的建筑设计在应对培训挑战方面的重要性,为该领域的更广泛发展做出了贡献。

我们对我们的模型进行了预训练阶段,在所有批大小为64的未标记数据上跨越了100个历元。为了有效地管理GPU的运行内存,我们实现了累积梯度策略。具体来说,在经过一定数量的预训练步骤后,我们根据积累的梯度来计算和更新网络参数。随后,我们清除梯度,进行下一个循环(默认初始累积梯度步数设置为36)。为了优化,我们使用了具有动态学习率的Adam优化器,其学习率遵循梯形周期。初始学习率设定为5e-2。为了防止过拟合和在模型接近收敛时节省计算资源,我们实施了10 ~ 50个历元的提前停止策略。我们的模型是在配备单个NVIDIA 3070Ti GPU的机器上使用单精度浮点运算进行训练的。经过在大规模未标注语料上的预训练,我们成功获得了一个准备用于下游任务的基因序列特征提取模型。

分类网络的微调阶段

在模型的预训练阶段,使用屏蔽数据进行训练。然而,在随后的微调训练阶段,我们放弃使用数据掩码。相反,我们利用先前使用无标签数据训练的SimCLR模型,并集成一个简单的全连接分类神经网络来微调分类网络。分类网络的架构由多层深度神经网络( deep neural networks,DNNs )组成。每层包括全连接层、ReLU激活函数层、批量归一化层和dropout层。然后将数据集拆分为训练集和测试集。经过微调训练,得到最终的分类网络,为在下游任务中部署做好准备。

结论

本文针对微生物基因序列数据的表示学习问题,提出了一种基于对比学习的神经网络特征提取方法。该方法涉及两个关键步骤:首先,在未标记的基因序列数据上进行预训练,然后利用已标记的数据进行微调,得到用于下游任务的分类网络。为了处理数据,采用one - hot编码对DNA序列进行编码,利用SimCLR框架完成预训练模型,选取ResNet50网络作为特征提取模块。在性能评估方面,本研究对不同来源的基因组数据库进行了测试。对于宏基因组片段分类和病毒宿主预测,本文提出的方法在短序列数据上比基于NN的模型具有显著优势,取得了显著提高的准确率。本研究的贡献是多方面的。首先,首次将对比学习应用于微生物基因序列数据的表示学习。开发了一种新的基因数据处理方法,克服了SimCLR方法传统上只适用于图像数据的局限性。这种拓展拓宽了对比学习的应用领域。其次,本研究提出的微生物基因序列数据分类器在性能上表现出了实质性的提升,为卷积神经网络方法在处理生物数据方面的发展打开了新的机遇。此外,由于预训练阶段和分类阶段的分离,该方法可以很容易地应用于其他基因组学问题,例如蛋白质功能预测和新病毒检测。总之,DNASimCLR代表了一种利用自监督学习模型进行微生物基因序列特征提取的先进探索。这种方法具有在生物信息学领域引入创新概念的潜力,为通过卷积神经网络获取生物序列特征提供了途径。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/983932.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ae 效果详解:VR 旋转球面

Ae菜单:效果/沉浸式视频/VR 旋转球面 Immersive Video/VR Rotate Sphere VR 旋转球面 VR Rotate Sphere效果用于对 VR 视频进行三轴旋转,以调整视频的视角方向。可用于校正拍摄时的角度偏差,或者根据创意需求模拟摄像机旋转。 本效果适用于所…

南开提出1Prompt1Story,无需训练,可通过单个连接提示实现一致的文本到图像生成。

(1Prompt1Story)是一种无训练的文本到图像生成方法,通过整合多个提示为一个长句子,并结合奇异值重加权(SVR)和身份保持交叉注意力(IPCA)技术,解决了生成图像中身份不一致…

Python----数据可视化(Seaborn二:绘图一)

常见方法 barplot方法 单独绘制条形图 catplot方法 可以条形图、散点图、盒图、小提亲图、等 countplot方法 统计数量 一、柱状图 seaborn.barplot(dataNone, xNone, yNone, hueNone, colorNone, paletteNone) 函数描述data用于绘图的数据集。x用于绘制长格式数据的输入。…

只音 1.2.0 |纯净无广告,畅听全网音乐,支持无损下载和批量下载

只音是一款全网音乐一网打尽的听歌利器,无需登录即可搜索抖音、网易云、QQ音乐等平台资源,无损音质直连播放。内置智能推荐算法,每日更新热门榜单与个性化歌单,轻松发现小众优质音乐。支持批量下载功能,一次性打包30首…

Python从入门到精通1:FastAPI

引言 在现代 Web 开发中,API 是前后端分离架构的核心。FastAPI 凭借其高性能、简洁的语法和自动文档生成功能,成为 Python 开发者的首选框架。本文将从零开始,详细讲解 FastAPI 的核心概念、安装配置、路由设计、请求处理以及实际应用案例&a…

Service与Ingress:如何将你的应用暴露给世界

引言:从“内部通讯”到“对外开放” 想象Kubernetes集群是一座繁忙的办公楼,每个Pod(容器)是楼内的员工。 Service 就像前台的接待员,负责将外部电话(请求)转接到正确的员工(Pod&am…

【Linux学习篇】--开发工具第一期

目录 1. Linux编辑器的使用--vim使用 1.1 vim的基本概念 1.2 vim基本操作 1.3 vim正常模式(指令模式)命令集 1.4 vim末行模式命令集 1.5 vim配置 2. Linux编译器-gcc/g使用 2.1 背景知识 2.2 gcc如何完成 2.3 gcc选择项 1. Linux编…

Elastic:AI 会开始取代网络安全工作吗?

作者:来自 Elastic Joe DeFever 不会,但它正在从根本上改变这些工作。 生成式 AI (GenAI) 正迅速成为日常安全工作流程中的一个重要组成部分。那么,它是合作伙伴还是竞争对手? GenAI 技术在安全堆栈几乎每个方面的广泛应用&#…

Windows 11 IoT 企业版 LTSC 2025 特制适度 22635.5025

文件: Windows 11 IoT 企业版 LTSC 2025 特制适度 22635.5025 install.esd 大小: 2.57G(2768694310 字节) 修改时间: 2025年3月9日, 星期日, 11 : 40 : 15 MD5: BFCB23BC2F78CA9243FFA68D5DDDDFC1 SHA1: C4D8BBF8B8D8E0E8E49DE5E9CC8D7F77385A745A CRC32…

Lab18_ SQL injection with filter bypass via XML encoding

文章目录 前言:进入实验室构造 payload 前言: 实验室标题为: 通关 XML 编码绕过过滤器的 SQL 注入 简介: 此实验室的库存检查功能中存在 SQL 注入漏洞。查询结果在应用程序的响应中返回,因此您可以使用 UNION 攻击…

kali虚拟机登录页面发癫 大写锁定输入不了密码

不知道怎么了 总是发癫 重启切换太麻烦了 还有时候不成功 kali其实可以开启虚拟键盘 如下 就解决的 发癫kali 发癫 发癫

【汇编语言】单片机程序执行过程

一、任务需求 指示灯LED4闪烁,亮0.5秒,灭0.5秒,无限循环 二、针对硬件的编程 1、确定原理图2、确定硬件的物理关系 三、设计步骤 1.用自己的语言描述工作流程 1.1指示灯LED4亮1.2延时0.5秒1.3指示灯LED4灭1.4延时0.5秒1.5跳转到1.1步 …

【Linux篇】调试器-gdb/cgdb使用

📌 个人主页: 孙同学_ 🔧 文章专栏:Liunx 💡 关注我,分享经验,助你少走弯路! 文章目录 1. 前言2.关于gdb2.1 快速认识gdb2.2 安装cgdb2.3 gdb命令2.4 调试 & 断点 3.常见技巧3.…

ThinkPhp 5 安装阿里云内容安全(绿化)

composer require alibabacloud/green-20220302 首先要把php5(不支持php7)的执行文件设置到PATH环境变量 此外还要先执行composer update php5.5和php5.6的区别 5.5认为 <? 开头的也是php文件&#xff0c;包括 <?php 5.6认为 <? 开头的不是php文件&#xff0c;只…

Level DB --- 写流程计算

写流程架构Level DB --- 写流程架构-CSDN博客已经介绍&#xff0c;写流程计算包括写日志&#xff0c;和将kv插入到memtable中。 写日志和写memtable 用户端插入的kv数据&#xff0c;既要写日志同时也要写memtable。写日志是指kv记录要同步到日志文件中&#xff1b;写memtable…

JavaWeb-servlet6中过滤器和监听器

Servlet 过滤器 Servlet 过滤器&#xff08;Filter&#xff09;与 Servlet 十分相似&#xff0c;但 Filter 具有拦截客户端请求的功能&#xff0c; Filter 可以改变请求中的内容&#xff0c;以便满足实际开发中的需要。对于程序开发人员而言&#xff0c; Filter 实质上就是 We…

SQL PLUS与Oracle数据库的交互

一、SQL Plus与数据库的交互 可以 使用2种基本类型的命令与数据库进行交互&#xff1a; 服务器执行的命令&#xff1a;SQLQ命令&#xff08;以&#xff1b;结束&#xff09;和PL/SQL程序块&#xff08;以/结束&#xff09; 本地命令&#xff1a;SQL Plus命令 二、设置SQL Pl…

Git系列之git tag和ReleaseMilestone

以下是关于 Git Tag、Release 和 Milestone 的深度融合内容&#xff0c;并补充了关于 Git Tag 的所有命令、详细解释和指令实例&#xff0c;条理清晰&#xff0c;结合实际使用场景和案例。 1. Git Tag 1.1 定义 • Tag 是 Git 中用于标记特定提交&#xff08;commit&#xf…

WinForm模态与非模态窗体

1、模态窗体 1&#xff09;定义&#xff1a; 模态窗体是指当窗体显示时&#xff0c;用户必须先关闭该窗体&#xff0c;才能继续与应用程序的其他部分进行交互。 2&#xff09;特点&#xff1a; 窗体以模态方式显示时&#xff0c;会阻塞主窗体的操作。用户必须处理完模态窗体上…

关闭Windows安全中心,解析与实操指南

在这个数字化时代&#xff0c;Windows操作系统作为我们日常工作和娱乐的基石&#xff0c;其内置的Windows安全中心&#xff08;Windows Defender Security Center&#xff09;在保护系统安全方面扮演着重要角色。然而&#xff0c;对于某些高级用户或特定需求场景&#xff0c;关…