LangCell:用于细胞注释的语言-细胞预训练模型

细胞身份包括细胞的各种语义,包括细胞类型、pathway信息、疾病信息等。从转录组数据中了解细胞身份,例如注释细胞类型,是一项基础任务。由于语义是由人类赋予的,如果没有cell-label pair提供监督信号,AI模型很难有效地执行细胞身份识别。目前用于该任务的预训练语言模型(PLM)仅在单一模态–转录组学数据上进行训练。而且,它们必须针对标签不一致的数据集进行微调。

LangCell在预训练阶段构建单细胞数据和自然语言的统一表示,使模型能够直接纳入与细胞身份相关的见解。LangCell利用带有细胞身份信息的text来深入理解知识。

来自:LangCell: Language-Cell Pre-training for Cell Identity Understanding, ICML, 2024

目录

  • 背景概述
    • 相关工作
  • 方法
    • 数据预处理
    • 模型架构
    • 预训练
      • 掩蔽基因建模
      • 细胞-细胞对比学习
      • 细胞-文本对比学习
      • 细胞-文本matching
    • 下游任务
      • 零样本分类
      • 微调
  • 数据集构建与预训练
  • 比较LangCell和Cell2Sentence

背景概述

scRNA-seq数据分析中,从细胞类型、pathway信息和疾病信息等多个角度理解细胞身份至关重要。类型注释和批次整合等任务已成为该领域的基石。预训练语言模型(PLM)最近在NLP取得了成功。然而,最近的scLLM依然仅基于测序信息使用PLM分析单细胞数据。这些模型利用Transformer来学习数百万个scRNA-seq样本。尽管取得了成功,但当前的细胞表示模型面临以下挑战:

  • 目前的模型框架仅依赖于自监督学习方法,如mask建模–用于捕捉基因共表达关系。然而,由于缺乏对人类专家知识的有效利用,模型在学习细胞表征时不能专注于理解细胞身份。这限制了模型的表示能力。
  • 由于细胞类型其实是人类定义的,如果不对"单细胞-文本标签pair"进行微调,现有模型不可能有效地执行细胞身份识别。用于微调的数据量和质量都会显著影响模型在特定任务中的性能。存在一种困难:研究新疾病或细胞亚型通常获取标签是高成本的,因此需要小样本或零样本方法。

作者认为,高质量编码scRNA-seq数据并将其与多视角的文本描述对齐,可以显著增强文本和单细胞数据之间的有意义理解。这种整合使模型能够像人一样有语义地将知识从熟悉的类别扩展到未知的类别。LangCell是一个语言细胞预训练模型,可以将scRNA-seq数据的特征空间与文本信息无缝整合。

作者构建了一个细胞文本数据集scLibrary,包含2750万个scRNA-seq条目及其文本描述。具体而言,作者从CELLxGENE获得了原始scRNA-seq数据和相应的元数据。然后选择了细胞身份的八个关键方面,这些方面可能包含基本的见解,包括细胞类型、发育阶段和疾病信息,并从OBO Foundry获得尽可能全面的描述。

随后,作者从NLP和CV领域迁移了一些关键见解,并设计了一套在细胞文本数据上有效的多任务协同预训练方法。具体来说,作者在预训练阶段介绍了四项任务。掩蔽基因建模(MGM,mask gene model)和细胞-细胞对比学习(C-C,cell-cell contrastive learning)以增强细胞表示。此外,使用细胞-文本对比学习(C-T,cell-text contrastive learning)和细胞-文本匹配(CTM,cell-text matching)来训练模型,以识别细胞数据和文本数据之间的联系。

LangCell在零样本、少样本和全数据集场景中的一系列细胞身份理解任务上实现了SOTA性能。它解决了诸如细胞类型注释和批次整合之类的经典任务。作为第一个能够进行零样本注释的模型,LangCell在零样本场景中表现出出色的性能,在大多数情况下超过了少样本的基线方法(图1a)。

fig1

  • 图1:a.零样本和少样本细胞类型注释。b.PBMC10K 中的实体embeding UMAP,LangCell 对齐了单细胞和文本嵌入。

相关工作

scRNA-seq数据表示
PLM为更好的scRNA-seq数据表示提供了潜力。scBERT、Geneformer、scGPT和scFoundation是基于Transformer的模型,它们在从100多万到5000万个样本的广泛scRNA-seq数据集上进行预训练,并在细胞类型注释、跨生物任务的迁移学习、药物反应预测和其他任务中展示了先进的能力。BioTranslator弥合了自然语言和scRNA-seq数据之间的差距。然而,它对MLP编码scRNA-seq数据的依赖未能捕捉到转录组的复杂性。

科学数据中的多模态
科学数据,如分子、蛋白质和scRNA-seq数据,在视觉上不如图像直观,因此需要多模态整合或对齐方法统一表示。作者认为,在scRNA-seq数据和文本信息之间建立联系至关重要。

方法

数据预处理

首先提供原始scRNA-seq数据作为计数矩阵。假设有 m m m个细胞和 n n n个基因,则计数矩阵表示为 A ∈ N m × n A∈\N^{m×n} ANm×n。作者采用了rank-value编码方法,用于将计数矩阵转换为类似于自然语言的序列数据。首先,分别对每个细胞的基因表达进行归一化,以削弱测序深度的影响,得到 A ′ A' A。然后,找到 A ′ A' A每列的非零中值 β ∈ R n β∈\R^{n} βRn作为每个基因的中值表达,并用 β β β归一化 A ′ A' A每一列得到 A ′ ′ A'' A′′。即:
eq1

与常规预处理的不同之处:与 A ′ A' A相比, A ′ ′ A'' A′′消除了整体表达水平带来的差异,其值可以反映一个基因在一个细胞中表达以及在所有细胞中的相对水平。例如,一些housekeeping基因可能很容易具有更高的绝对表达,但这并不一定表明该基因在该细胞中具有特别值得注意的高表达。基于 A ′ ′ A'' A′′,根据每个细胞中表达的基因的相对表达对其进行排序,再获得该细胞的基因序列。值得注意的是,在对大规模预训练数据集进行统计时,可以获得更通用的 β β β,并在所有后续模型应用中使用该 β β β

模型架构

fig2

  • 图2:LangCell架构。对于每个包含scRNA-seq数据和元数据pair的输入:(1)在预处理过程中,将scRNA-seq数据转换为按相对表达水平降序排列的基因序列,并使用OBO Foundry从元数据中获得细胞的多视角文本描述。(2) 使用细胞编码器 f 和文本编码器的单模态 g1 来获得细胞和文本的嵌入,并且使用文本编码器的多模态 g2 来计算matching得分 p c , t p_{c,t} pc,t。(3)通过四个损失函数的联合优化进行预训练。其中,掩蔽基因建模(MGM)和细胞-细胞对比学习(C-C)旨在增强单细胞表征。相反,细胞-文本对比学习(C-T)和细胞-文本匹配(CTM)旨在训练模型理解单细胞和文本数据之间的联系。

LangCell包含细胞编码器和文本编码器:

  • 细胞编码器:使用预训练的Geneformer来初始化细胞编码器,该编码器将连续的细胞输入编码为embedding序列。值得注意的是,作者在序列的开头添加了一个[CLS] token,其嵌入通过线性投影为细胞嵌入。
  • 文本编码器:该编码器有两种编码模式,单模态和多模态。对于单模态文本编码,它相当于BERT。对于多模态编码,作者在注意力层中的每个自注意模块之后添加一个可插入的交叉注意模块,以通过线性层计算联合嵌入和细胞文本匹配概率。权重使用PubMedBERT进行初始化,这被证明是生物医学领域中最好的预训练BERT之一。

将细胞编码器定义为 f f f,用于从单细胞数据 c c c导出嵌入 z c z_c zc。将文本编码器的单模态定义为 g 1 g_1 g1,其负责从文本数据 t t t生成嵌入 z t z_t zt。将文本编码器的多模态定义为 g 2 g_2 g2,用于计算单细胞和文本数据之间的匹配概率 p c , t p_{c,t} pc,t。这三种编码方法阐述如下: z c = f ( c ) z t = g 1 ( t ) p c , t = g 2 ( z c , t ) = g 2 ( f ( c ) , t ) z_{c}=f(c)\\ z_{t}=g_{1}(t)\\ p_{c,t}=g_{2}(z_{c},t)=g_{2}(f(c),t) zc=f(c)zt=g1(t)pc,t=g2(zc,t)=g2(f(c),t)

预训练

LangCell旨在将scRNA-seq数据和文本映射到共享的潜在空间,并利用自然语言中包含的非结构化知识来优化细胞表征。为此,在预训练过程中,作者联合优化了四个目标损失函数,包括掩蔽基因建模、模态内和模态间对比学习以及细胞文本匹配。

掩蔽基因建模

作者随机mask细胞输入序列中的一些基因,并使用模型在这些位置的输出embedding来预测原始输入的重建。使用交叉熵损失函数作为损失函数: L M G M = 1 N ∑ i = 1 N H ( v i j , v ^ i j ) L_{MGM}=\frac{1}{N}\sum_{i=1}^{N}H(v_{ij},\widehat{v}_{ij}) LMGM=N1i=1NH(vij,v ij)其中, N N N是mask基因的数量, v i j v_{ij} vij v ^ i j \widehat{v}_{ij} v ij分别表示第 i i i个mask位置被识别为第 j j j个基因的label和预测概率。

细胞-细胞对比学习

作者引入了细胞-细胞对比学习。在scRNA-seq数据中,每个基因表达水平都具有独特的含义,而人工数据增强方法,如对输入数据的搅乱和干扰,可能会破坏基因表达语义。作者认为,特征水平的扰动更适合于scRNA-seq数据中的数据增强。因此,使用两个应用于同一单细胞的标准dropout实例来构建正样本,而同一批次中的其他单细胞作为负样本,这在自然语言研究中已被证明是有效的。损失函数的使用如下: L C − C = − 1 T ∑ i = 1 T l o g e s i m ( z c ( i ) , z c ( i ) + ) / τ ∑ j = 1 T e s i m ( z c ( i ) , z c ( j ) + ) / τ L_{C-C}=-\frac{1}{T}\sum_{i=1}^{T}log\frac{e^{sim(z_{c}^{(i)},z_{c}^{(i)+})/\tau}}{\sum_{j=1}^{T}e^{sim(z_{c}^{(i)},z_{c}^{(j)+})/\tau}} LCC=T1i=1Tlogj=1Tesim(zc(i),zc(j)+)/τesim(zc(i),zc(i)+)/τ其中 T T T是batch size,sim是余弦相似度, τ \tau τ是温度参数, z c ( i ) z_{c}^{(i)} zc(i)是细胞 i i i的embedding, z c ( j ) + z_{c}^{(j)+} zc(j)+为细胞 j j j的正样本。

细胞-文本对比学习

作者通过细胞-文本对比学习将细胞和文本投影到相同的嵌入空间中。文本编码器采用单模态编码。损失函数为:
eq2

细胞-文本matching

在计算这种损失时,文本编码器采用多模态编码模式,在每个自注意力层后进行细胞嵌入的交叉注意力计算,最终输出用于二进制分类,以预测细胞是否与文本匹配。该任务旨在探索分辨率更高的细胞和文本之间的匹配关系,选择与细胞-文本对的正样本尽可能相似的细胞-文本来形成负样本。损失函数是二进制交叉熵: L C T M = H ( y , p c , t ) L_{CTM}=H(y,p_{c,t}) LCTM=H(y,pc,t)其中 y y y表示指示细胞是否与文本匹配的标签

下游任务

零样本分类

基于细胞数据和文本的对齐表示空间,LangCell可用于零样本细胞注释(图3)。具体而言,对于给定的单细胞 c c c N N N个候选文本描述 { t ( i ) } i = 1 N \left\{t^{(i)}\right\}^N_{i=1} {t(i)}i=1N,我们通过比较它们在共享嵌入空间中的余弦距离来获得 l o g i t s 1 logits_1 logits1,并通过比较细胞文本匹配模块给出的分数来获得 l o g i t s 2 logits_2 logits2。在实际应用中,由于 l o g i t s 2 logits_2 logits2的计算速度较慢,我们只为 l o g i t s 1 logits_1 logits1得分较高的候选者计算 l o g i t s 2 logits_2 logits2。然后两者相加。

微调

还可以在细胞编码器后添加分类或者回归head,用于在下游任务微调,这样的模型统称为LangCell-CE。

fig3

  • 图3:LangCell在零样本细胞注释中的应用。LangCell利用细胞和文本数据的共享嵌入空间获得相似性得分,通过匹配模块获得细胞-文本匹配得分,并综合考虑这些得分,得到最终的分类logits。

数据集构建与预训练

作者建立了scLibrary,这是一个全面的数据集,包括大约2750万对scRNA-seq数据和相关的文本描述。该数据集来源于CELLxGENE数据库,作者在该数据库中获得了原始计数矩阵格式的scRNA-seq数据和相应的元数据。接下来,从元数据中选择了8个可能包含重要见解的信息,并使用这些条目生成OBO Foundry多视图文本描述。具体而言,所选条目包括化验、细胞类型、发育阶段、组织信息、器官信息、疾病信息以及捐赠者的性别和种族。

预训分为两个阶段。在第一阶段,使用Geneformer初始化细胞编码器参数,仅使用 L M G M L_{MGM} LMGM L C − C L_{C−C} LCC损失函数进行单模态训练。在第二阶段,使用PubMedBERT初始化文本编码器参数,并使用所有四个损失函数进行多模态训练。两个阶段分别训练三个epochs。

比较LangCell和Cell2Sentence

LangCell和Cell2Sentence各自具有功能上的特点。Cell2Sentence还不能支持零样本场景,虽然C2S是设计为元数据+细胞基因排序构成LLM微调模板,但其在实验中覆盖的数据集不是最广泛的,所以在面对新细胞类型时不能识别出来。当然,Cell2Sentence最大的特点是自然语言可交互,这是LLM+指令微调的必然结果。

LangCell不能做到自然语言交互,但是其架构类似CLIP,变成了一个基于深度学习的检索任务,来自AIR的另一个方法是DrugCLIP。从目前发展看来,包括过去的开放词汇表目标检测等任务均基于CLIP,这是实现零样本的一类方法。因此LangCell的最大特点是支持零样本分类。注意在不同的数据集上,为了零样本分类,我们依然需要提供当前数据集下每个细胞类型的文本以供检索。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小项目——MySQL集训(学生成绩录入)

ddl语句 -- 创建学生信息表 CREATE TABLE students (student_id INT AUTO_INCREMENT PRIMARY KEY COMMENT 学生ID,name VARCHAR(50) NOT NULL COMMENT 学生姓名,gender ENUM(男, 女) NOT NULL COMMENT 性别,class VARCHAR(50) NOT NULL COMMENT 班级,registration_date DATE CO…

Redis实战—基于setnx的分布式锁与Redisson

本博客为个人学习笔记,学习网站与详细见:黑马程序员Redis入门到实战 P56 - P63 目录 分布式锁介绍 基于SETNX的分布式锁 SETNX锁代码实现 修改业务代码 SETNX锁误删问题 SETNX锁原子性问题 Lua脚本 编写脚本 代码优化 总结 Redisson 前言…

基于STM32的温湿度检测TFT屏幕proteus恒温控制仿真系统

一、引言 本文介绍了一个基于STM32的恒温控制箱检测系统,该系统通过DHT11温湿度传感器采集环境中的温湿度数据,并利用TFT LCD屏幕进行实时显示。通过按键切换页面显示,通过按键切换实现恒温控制箱的恒温控制。为了验证系统的可靠性和稳定性&…

png格式快速压缩该怎么做?在电脑压缩png图片的方法

png格式的图片如何快速压缩变小呢?现在网络的不断发展,图片是日常用来分享展示内容的一种常用手段,其中使用最多的一种图片格式就是png,png格式具有无损压缩支持透明底的特性,在很多的场景下都会使用。 现在图片的清晰…

Arduino - 线性执行器(支撑或滑杆)

Arduino - 线性执行器(支撑或滑杆) Arduino - 执行器 In this tutorial, we are going to learn: 在本教程中,我们将学习: How linear actuator works 线性执行器的工作原理How to make linear actuator extend or retract. 如何使线性执行器伸展或缩…

百元蓝牙耳机哪款性价比高?盘点性价比高的百元蓝牙耳机品牌

在如今快节奏的生活中,蓝牙耳机已经成为人们日常生活中不可或缺的配件。然而,市面上百元左右性价比高的蓝牙耳机琳琅满目,消费者往往难以选择到一款质量好、耐用的产品。我们希望可以为广大消费者提供一些参考和建议,接下来&#…

基于51单片机电子称—串口显示

基于51单片机电子称设计 (仿真+程序) 功能介绍 具体功能: 1.矩阵键盘组成按键,输入价格结算、打印; 2.用滑动变阻器和ADC0832模拟称重; 3.LCD1602可以显示重量、单价和总价; 4.…

家用洗地机十大品牌什么牌子好用?2024十大爆款洗地机分享

在快节奏的生活中,清洁家居成为了一项繁琐却必不可少的任务。而洗地机的出现,无疑给忙碌的都市人带来了福音。选择一款优质的洗地机可以大大提升我们清洁的效率,改善我们的生活品质。那么,哪家洗地机清洁力最强,更适合…

ONLYOFFICE 桌面编辑器 8.1 版发布:全面提升文档处理效率的新体验

文章目录 什么是ONLYOFFICE ?ONLYOFFICE 桌面编辑器 8.1 发布:新功能和改进功能强大的 PDF 编辑器幻灯片版式功能从右至左语言支持多媒体功能增强无缝切换工作模式其他改进和优化总结 什么是ONLYOFFICE ? https://www.onlyoffice.com/zh/off…

JavaScript的学习之图片的切换

目录 一、寻找素材 二、编写简单的静态html页面 代码示例 效果展示 三、JS功能的实现 JS代码 完整代码 效果展示 一、寻找素材 随便去网上找几张图片素材 二、编写简单的静态html页面 代码示例 <!doctype html> <html><head><meta charset"…

svn明明都在环境变量中添加了,但还是无法在cmd中生效

svn明明都在环境变量中添加了&#xff0c;但还是无法在cmd中生效 cmd显示原因问题解决 cmd显示 svn不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件 原因 安装svn一直点下一步下一步…&#xff0c;没有勾选command line client。 问题解决 1.按下winx&…

如何加密电脑文件?电脑重要文件怎么加密?

在电脑中&#xff0c;我们会存储很多重要文件&#xff0c;包括个人隐私视频、照片&#xff0c;企业机密数据&#xff0c;工作数据等。为了避免重要文件泄露&#xff0c;我们需要加密保护电脑文件。下面我们就来了解一下电脑文件怎么加密&#xff1f; 超级加密3000 当需要加密电…

vue 实现 word/excel/ppt/pdf 等文件格式预览操作

效果图&#xff1a; 问题描述&#xff1a;一般情况下使用iframe标签就可以实现文件预览&#xff0c;但是这个标签只针对于ppt和pdf是有效的。对于doc文件就需要借助第三方插件&#xff08;vue-office/docx&#xff09;来实现预览了。下面介绍使用方法。 安装插件&#xff1a;n…

力扣爆刷第155天之TOP100五连刷41-45(下一个排列、正序数组中位数、归并排序链表)

力扣爆刷第155天之TOP100五连刷41-45&#xff08;下一个排列、正序数组中位数、归并排序链表&#xff09; 文章目录 力扣爆刷第155天之TOP100五连刷41-45&#xff08;下一个排列、正序数组中位数、归并排序链表&#xff09;一、31. 下一个排列二、4. 寻找两个正序数组的中位数三…

量化交易策略:定义及其重要性

量化交易是华尔街和硅谷的秘密结合点&#xff0c;在这里数学和算法与金钱和市场相遇。虽然它曾经是金融巨头的专属领域&#xff0c;但现在它比以往任何时候都更易于接触。 但不要被愚弄&#xff0c;量化交易仍然是一种高速、高压的游戏&#xff0c;在毫秒间可以赚到或失去财富…

STM32CubeIDE复制工程文档

目录 1. 粘贴复制2. 重命名 1. 粘贴复制 复制粘贴 重命名&#xff0c;别重名&#xff0c;点击- copy 结果 2. 重命名 重命名 ioc文件 编译 OK

IDEA 安装与激活详细教程最新(附最新激活码)2099年亲测有效!

我们先从 IDEA 官网下载 IDEA 2024.1 版本的安装包&#xff0c;下载链接如下&#xff1a; https://www.jetbrains.com/idea/download/ 点击下载(下载Ultimate版)&#xff0c;静心等待其下载完毕即可。 激活方式&#xff1a; 正版专属激活码领取

手机越用越慢?试试这4个秘籍,让手机流畅如新

智能手机作为日常生活的得力助手&#xff0c;最初总是以惊人的速度和流畅性给我们留下深刻印象。 但你有没有发现&#xff0c;随着时间的推移&#xff0c;手机似乎开始变得不那么敏捷&#xff0c;甚至出现了反应迟缓和卡顿的情况&#xff1f; 别让这个问题困扰你,下面是四个关…

Linux关闭swap分区操作[适用于CDH报警等]

1.查看swap分区挂载路径(没卵用) swapon -s 2.设置配置文件的swap配置 echo “vm.swappiness 0” > /etc/sysctl.conf 3.设置内存中的swap状态。有时候配置文件为0&#xff0c;但集群或服务仍然使用了swap分区&#xff0c;可能原因就是内存没有同步配置 echo “0” > …

step5:“串口设置”逻辑(下)

文章目录 文章介绍效果图SerialPort.qml代码v1代码v2代码v3 文章介绍 文章qml/c&#xff1a;基础界面的“串口设置”逻辑1实现了 1、串口连接&#xff0c;连接成功的弹窗提示 2、读取数据。 本篇文章需要实现的功能是 1&#xff09;接收数据后更新“已接收”的行数 效果图 Se…