《武汉工程大学学报》  2026年01期 103-110   出版日期:2026-02-28   ISSN:1674-2869   CN:42-1779/TQ
基于自监督预训练的单细胞类型注释方法



单细胞RNA测序技术为研究人员提供了深入分析单个细胞的能力[1],该技术的核心目标是精确识别每个细胞的具体细胞类型。然而,细胞类型的标注过程不仅耗时,而且高度依赖专家的专业知识[2]。面对庞大的单细胞RNA测序数据集,传统的基于专家知识的人工注释方法面临着巨大挑战,并且注释结果往往带有一定的主观性[3]。
目前关于细胞类型注释的研究大致可以分为基于标记基因的方法、基于相关性的方法和基于深度学习的方法[4]。首先,基于标记基因的方法在单细胞RNA测序的初期阶段发挥了重要作用。然而,这种方法的有效性取决于标记基因数据库的准确性。尽管有如文献[5-6]等可公开访问的数据库,但一些标记基因仍依赖于现有的研究知识。其次,基于相关性的方法也被广泛采用,但其易受批次效应的影响,需要高质量的参考数据集以确保类型注释的准确性。最后,基于深度学习的方法对噪声和数据的可变性具有鲁棒性,不依赖于人工选择的标记基因[7],近年来得到了广泛应用。例如,自动编码器[8]、变分自编码器[9]和生成对抗网络[10]等技术,常被用于细胞聚类、细胞类型注释和推断基因调控网络等任务。此外,图模型也常常用于细胞类型注释[11],利用基因共表达关系或细胞相似性来提高细胞类型注释的准确性[12]。随着单细胞组学数据量的激增,开发自动化、快速且准确的细胞类型注释方法已成为该领域的研究热点。
在将Transformer架构应用于单细胞数据的细胞类型注释的研究中,Yang等[13]展现了在大规模无标记单细胞RNA测序数据上进行自监督学习的潜力,提供了稳健、准确的细胞类型注释。然而,当面对细胞类型分布不平衡的数据集时,其性能受到了影响,这可能是由于存在稀有细胞类型或偏采样造成的[14]。因此,本研究提出了基于迁移学习和Transformer的深度学习网络单细胞标签注释网络(single-cell label annotation network, ScLabel-Net),用于单细胞数据的细胞类型注释,该网络引入了位置嵌入和数据增强等技术。位置嵌入被整合到每个基因表达嵌入中,以建立基因与基因之间的空间相对位置关系[15]。随机上采样这一数据增强技术对小样本数据进行复制扩充,达到与最多数据的样本量一致的数据量。这两种技术分别解决了自注意力机制不考虑输入序列的顺序和小样本数据得不到充分训练的难题。通过上述改进,ScLabel-Net能够更有效地处理不平衡数据集,从而在单细胞数据的细胞类型注释任务中表现出更高的准确性和鲁棒性。
1 实验部分
整体的研究流程如图1所示,主要分为数据准备、数据预处理、ScLabel-Net的构建以及性能评估4个部分。
首先,将多个数据汇集并整合到一个文件中[16]。接着,模型接收基因表达矩阵作为输入,并使用Python工具包SCANPY[17]对数据进行预处理,包括去除低质量细胞、数据归一化、对数转换以及筛选高变基因。然后,ScLabel-Net在未标记的大规模单细胞数据集上进行预训练,旨在识别细胞类型的潜在特征,以减少不同数据集之间的批次效应[13],随后在特定的有标签的目标数据集上进行微调。最后,对模型性能进行全面评估,以验证模型的实用性和通用性。
1.1 数据获取
研究所涉及的数据涵盖了4个小鼠的不同器官,包括肺部、气管、肾脏和胰腺,共10个单细胞数据集,并且包含了5种不同的测序技术。如表1所示,这些数据集被分为3个类别:用于预训练的无标签数据集、用于微调训练和性能评估的有标签数据集以及用于模型性能评估的无标签数据集。
预训练阶段使用的若干个小鼠肺部数据集来源于PanglaoDB[5],一共包含了100 024个细胞,涵盖了25种不同的细胞类型。在数据预处理阶段,将这些小鼠肺部数据集合并成一个大的数据集(Panglao)用于预训练任务。微调训练涉及的小鼠肺部数据集包括来源于基因表达数据库的GSE267861[18]和GSE264032[19],以及4个来自动物细胞图谱(animal cell atlas,ACA)数据库中小鼠其他器官的数据集[20],分别是ALIGNED_Lung、ALIGNED_Trachea、ALIGNED_Kidney和ALIGNED_Pancreas数据集。为了进一步验证模型在真实场景中的泛化能力,研究中还特别选用了3个来自ACA数据库中的Quake、Plasschaert、Baron数据集[20],并且这3个数据集未在预训练和微调训练过程中使用。
表1 研究中所有的单细胞数据集详情
Table 1 Details of all single-cell datasets in the study
[类别 数据集 类型
数量 细胞
数量 基因
数量 预训练 Panglao 25 100 024 45 549 GSE267861 12 24 520 32 285 GSE264032 16 31 928 32 285 微调训练 ALIGNED_Lung 17 16 599 25 174 ALIGNED_Trachea 18 12 619 33 948 ALIGNED_Kidney 37 63 659 35 210 ALIGNED_Pancreas 22 3 450 25 410 Quake 13 5 449 23 341 性能评估 Plasschaert 8 6 977 28 205 Baron 13 1 886 14 877 ]
1.2 数据预处理
在单细胞RNA测序数据分析中,基因表达矩阵通常具有高稀疏性[21],因此对数据集进行预处理至关重要。首先,利用SCANPY将每个数据集的基因表达矩阵转换为有注释的数据对象,并进行质量控制,包括细胞过滤(移除基因数少于200且线粒体含量超过25%的细胞)和归一化。接着,对每个细胞的基因表达值进行对数转换,并筛选出变化较大的基因。
用于预训练和微调训练的数据集按8∶2的比例分为训练集和测试集,其中 80% 的数据通过五折交叉验证策略用于模型训练,其余20%用于性能评估。此外,在预训练和微调训练过程中未见的数据集没有被划分,而是直接用于评估模型在真实场景中的预测能力。
1.3 ScLabel-Net网络架构
ScLabel-Net是一种基于自监督预训练的深度学习网络,由位置嵌入、基因表达嵌入、Performer[22]编码器和分类层组成。
首先,ScLabel-Net 根据单细胞数据的属性引入分箱技术,用来表示不同的基因表达水平。基因表达嵌入通常以矩阵形式表示,而位置嵌入的运用有助于模型识别并利用基因的相对位置关系,从而更深入地理解数据的结构[23]。其次,在预训练阶段,嵌入结果被输入到编码器中。编码器首先对输入数据进行编码将原始数据转换为抽象表示,随后对编码后的数据进行表征学习,以生成预测结果,然后经过维度转换,重建原始数据,并利用原始标签计算交叉熵损失。如图2所示,ScLabel-Net在微调训练过程中,针对特定任务的数据输入到预训练好的编码器中,表征学习的结果经过一维卷积进行特征提取,然后将一维卷积结果送入到分类层进行分类,分类层输出每个类别的概率。最终通过归一化指数生成正确的细胞类型,从而完成分类任务。
1.3.1 基因表达嵌入 基因表达嵌入面临的主要挑战是不同测序技术之间存在的绝对表达水平变异性。由于测序深度的不同,不同批次的测序样本在数据量级上可能会表现出显著的差异[24]。为此,基于分箱的技术通过将所有表达值转换为相对值,从而在不同测序批次之间建立一个统一的比较基准。这种方法能够最大限度地减少不同测序方案的影响,降低数据噪声。具体来说,将基因表达矩阵[Y]中每个细胞的非零表达值划分为 [B]个连续区间[[bk,bk+1]],其中 [k∈1,2, …, B],[bk]表示某个细胞的区间边界表达值。每个细胞都计算了一套新的分箱边界,因此区间边界[bk]可能在不同细胞之间有所不同。每个区间包含一部分具有相似表达值的基因,[Yi,j]表示第[j]个基因在第[i]个细胞中的表达值,[yi,j]则表示第[i]个细胞的第[j]个基因的分箱表达值,如式(1) 所示。
[yi,j=k, Yi,j>0 且Yi,j∈bk,bk+10, Yi,j=0] (1)
分箱技术确保了[yi,j]的语义在不同的批次中保持一致。例如, [yi,j=B]的值始终表示基因的最高表达量。此外,在分箱步骤之前还进行了 log1p 转换,以尽量减少高基因表达值的影响,并使数据符合正态分布。每个基因表达值[Yi,j]的 log1p 变换可表示为:
[Y’i,j=ln1+Yi,j] (2)
因此,第[i]个细胞的分箱表达值的最终输入向量表示为:
[yi=yi,1,yi,2,?,yi,N] (3)
其中,[N]表示基因的数量。
综上所述,分箱技术将基因表达值这一连续变量离散化,并将分箱结果转换为一个200维的向量,该向量随后用作ScLabel-Net的基因表达嵌入。
1.3.2 损失函数 在预训练过程中,采用基于Transformer的双向编码器表示(bidirectional encoder representations from Transformers)[25]的掩码语言模型方法,随机屏蔽非零基因表达数据,然后使用剩余的表达值重建原始输入数据。因此,预训练阶段利用交叉熵损失作为重建损失,具体如下:
[LRec=-i=1Cj=1Gxi,jln (pi,j)] (4)
其中:[C]表示细胞数,[G]表示被掩盖的基因表达值的数量,[xi,j]和[pi,j]分别表示第[j]个基因在第[i]个细胞中的真实表达和预测表达。
此外,在微调训练阶段使用交叉熵损失量化真实细胞类型标签和预测细胞类型标签之间的差异,具体如下:
[LPred=-i=1Mziln (qi)] (5)
其中,[zi]和[qi]分别表示第[i]个细胞的真实标签和预测标签。
1.4 性能评估指标
由于需要解决数据分布不平衡的多分类问题,因此采用以下4个指标来评估模型性能,包括准确率(A)、宏观精确率(Pm)、宏观召回率(Rm)和宏观F1分数(F1)[26],计算公式如下:
[A=T+NT+N+F+M] (6)
[Pm=1nl=1nTlTl+Fl] (7)
[Rm=1nl=1nTlTl+Ml] (8)
[F1=2×P×RP+R] (9)
其中:[n]是细胞类型的数量,[l]表示每个细胞类型的索引,[T]和[N]分别表示正确分类的阳性数量和阴性数量,[F]和[M]分别表示被错误分类的阴性数量和阳性数量。
2 结果与讨论
2.1 实验设备
所有实验均在一台搭载Ubuntu 18.04 LTS操作系统的服务器上执行,该服务器配备了英特尔酷睿i9-10920X处理器、2块英伟达GeForce GTX 3090 GPU以及188 GB的运行内存。ScLabel-Net采用Python 3.8和PyTorch 1.8.1深度学习框架构建。同时还使用SCANPY、R语言等用于数据预处理、分析和可视化。
ScLabel-Net在Panglao小鼠肺部数据集上进行了20轮的预训练,每个批次大小设置为2,使用Adam优化器,初始学习率大小为10-4,并使用余弦退火热重启学习率调整策略。预训练结束后,模型在目标数据集上继续进行20轮的微调训练,采用五折交叉验证策略。微调训练得出的最优模型权重被保存起来,以便在测试集上进行性能评估。
2.2 ScLabel-Net在小鼠肺部细胞类型预测中的应用
ScLabel-Net在GSE267861、GSE264032和ALIGNED_Lung小鼠肺部数据集上完成了微调。如图3(a)所示,GSE267861和GSE264032的数据按照8∶2的比例划分为训练集和测试集。因此,ScLabel-Net在这两个数据集的测试集以及Quake数据集上进行了性能评估。如表2所示,ScLabel-Net与基于相关性的方法(Cell BLAST[20]、SingleR[27]、Scmap_cell[28]、Scmap_cluster[28]和CHETAH[29]),以及基于深度学习的方法(ACTINN[30]、TOSICA[31])进行了对比。结果表明,ScLabel-Net在A和F1方面表现出更优越的性能。特别是,在Quake数据集上进行评估时,ScLabel-Net的性能最为突出,A为0.986,F1为0.847。此外,如图3(b)所示,ScLabel-Net在GSE264032数据集上的表现略逊于其他两个数据集,这可能是由于该数据集的复杂度较高且规模较大(包含16种细胞类型,其中4种类型占总数据的比例不到1%),尽管如此,ScLabel-Net在GSE264032数据集上的A为0.922,F1为0.706,仍优于其他方法。
2.3 ScLabel-Net的跨器官类型注释
在实际应用中,可用的数据集往往来自不同器官,因此需要评估模型在跨器官数据集上的性能。如表3所示,ScLabel-Net在小鼠不同器官上表现出色,平均准确率达到97.4%,而两种基于深度学习的方法的平均准确率分别为93.7%和95.7%,基于相关性的方法的性能更是明显下降。其中,SingleR表现最差,在3个器官上的A分别为0、0.047和0.094,这可能是因为其附带的7个参考数据集(5个人类数据集和2个小鼠数据集,其中小鼠参考数据集为小鼠免疫遗传学数据库和小鼠RNA测序数据库)没有很好地覆盖所有细胞类型。与基于相关性的方法和基于深度学习的方法相比,ScLabel-Net在跨器官和跨平台场景中表现出更优越和稳定的性能。
2.4 随机上采样
组学分析中普遍存在数据分布不平衡的问题,通常由选择性采样和罕见数据的稀缺性引起。随机上采样技术可以有效缓解微调数据集中的不平衡分布。如图4所示,ScLabel-Net 在4个器官的6个数据集上都取得了显著的性能提升。在经过上采样处理的数据集上,ScLabel-Net的A分别提升了1.6%、2.2%、2.8%和8.3% Quake和ALIGNED_Kidney数据集的A分别提升了约10.9%和18.8%。在F1分数方面,ALIGNED_Kidney数据集的提升最为显著,达到 214.5%。这表明,在缺乏数据增强的情况下,某些类别的预测性能并不理想。这些发现表明,基于随机上采样的数据增强技术能显著提升ScLabel-Net在细胞类型标注任务中的性能。
<G:\武汉工程大学\2025\第6期\张晴-4.tif>[F1][1.2
1.0
0.8
0.6
0.4
0.2
0.0
][GSE267861
GSE264032
Quake
Plasschaert
ALIGNED_Kidney
Baron][数据增强 非数据增强]
图4 ScLabel-Net在数据增强后的性能表现
Fig. 4 Performance of ScLabel-Net with data enhancement
2.5 自监督预训练对ScLabel-Net性能和训练效率的影响
在单细胞数据集的细胞类型标注任务中,采用了在大型未标记数据集上进行自监督预训练的迁移学习策略,有效提升了本文模型在小鼠肺部及其他器官上的性能。如图5所示,经过预训练的ScLabel-Net 在GSE267861、GSE264032和Quake等3个数据集上取得了更好的性能且在肾脏等其他器官数据集上的性能也有所增强。以GSE267861的数据集为例,预训练后的A和F1分别达到了0.955和0.943,相较于未进行预训练的A和F1有了显著的提升。同时,经过预训练的ScLabel-Net 在目标数据集上进行微调后,收敛速度明显加快。
3 结 论
本研究通过ScLabel-Net框架,采用自监督预训练策略对单细胞数据中的细胞类型进行注释,涵盖10个数据集。结果表明,ScLabel-Net在小鼠肺部数据集上的平均准确率比现有最佳方法提升了约2%,且在处理复杂数据集时显著优于基于相关性和深度学习的方法。研究还发现,随机上采样的数据增强技术能有效缓解单细胞数据集中常见的类型分布不平衡问题。ScLabel-Net不仅减少了训练时间,还有效提升了小鼠细胞类型注释的准确性和效率,加速了生物学领域的研究进程,解决了大规模数据处理中的挑战,提升了细胞类型注释的可行性和有效性。