评估LLM在细胞数据上的实用性(2)-细胞层面的评估

本文衔接上一篇:评估LLM在细胞数据上的实用性(1)-基本概述

目录

  • 定义
    • 参数和任务
    • 批次整合
    • 多模态整合
    • 细胞类型注释
  • 细胞层面的评估
    • 批次整合
    • 多模态整合
    • 细胞类型注释

定义

我们考虑一个预训练LLM表示为 M ( x , θ ) M(x,\theta) M(x,θ),其基于单细胞数据集 D D D。其中, θ \theta θ体现了模型参数(比如网络权重)和超参数(比如epoch和lr)的集合。不同的LLM使用了不同的预训练数据集。微调阶段的模型结构定义为 M ′ ( x , θ ′ ) M'(x,\theta') M(x,θ)。我们的目标是确定不同子任务的最优 θ ′ θ' θ集。形式上,我们表示不同task k k k的损失为 L k L_{k} Lk,使用evaluation数据集 D e v a l = { x i , y i } i = 1 n D_{eval}=\left\{x_{i},y_{i}\right\}_{i=1}^{n} Deval={xi,yi}i=1n去计算 L k L_{k} Lk,第一目标是: θ ∗ = a r g m i n θ ′ E x , y ∈ D [ L k ( M ′ ( x , θ ′ ) , y ) ] \theta^{*}=argmin_{\theta'}E_{x,y\in D}[L_{k}(M'(x,\theta'),y)] θ=argminθEx,yD[Lk(M(x,θ),y)]第二目标是评估不同scLLM的性能: M ∗ = a r g m i n M ′ E x , y ∈ D [ L k ( M ′ ( x , θ ∗ ) , y ) ] M^{*}=argmin_{M'}E_{x,y\in D}[L_{k}(M'(x,\theta^{*}),y)] M=argminMEx,yD[Lk(M(x,θ),y)]第三个目标是评估scLLM的其他能力,包括:零样本学习,跨物种数据分析,生物机制探索,稳定性。

参数和任务

大多数scLLM共享预训练过程。通过考虑各种scLLM之间的重叠,作者选择了scGPT、scBERT和Geneformer作为分析的代表性例子。scEval共关注八项微调任务:1.批次整合;2.多组学数据整合;3.细胞类型注释;4.基因功能预测;5.扰动预测;6.基因网络分析;7.插补;8.scRNA-seq模拟。为了分析不同超参数、初始设置和优化器的影响,scEval选择了四个具有代表性的数据集:Pancrm、HumanPBMC、Cell Lines和MCA,因为它们涵盖了各种数据类型。Pancrm来自胰腺组织,共有5个批次。HumanPBMC来源于PBMC,有九种细胞类型。Cell Lines有两种细胞类型,作为二进制标签数据集。MCA来自肌肉。

批次整合

批次整合是scRNA-seq数据预处理之后的一个重要步骤。批次效应主要表示源自同一组织的scRNA-seq数据集中的分布差异,这可归因于各种因素。批次整合不仅对研究人员辨别真实的生物信号至关重要,而且对促进不同研究的综合分析也至关重要。这项任务的挑战来自于需要平衡批次信号的去除和生物信号的保留。我们可以将此任务视为数据整合问题。

对于批次整合问题,考虑的指标类似scIB,包括生物保留评分的NMI、ARI和cell-type ASW,以及批次整合的batch ASW、主成分回归(PCR)和图连通性(GC)。scEval计算这些指标的加权平均值来表示最终的整合分数: S f i n a l = 0.6 S b i o + 0.4 S b a t c h S_{final}=0.6S_{bio}+0.4S_{batch} Sfinal=0.6Sbio+0.4Sbatch

多模态整合

多组学数据整合是多组学分析的关键。它类似于一种高级形式的批次整合。如果存在未配对的多组学数据,目标是将不同的数据集映射到一个共享空间中进行后续分析。如果存在配对的多组学数据,目标是评估多组学的使用是否有助于学习更全面的数据表示。这里的一个重大挑战是如何在特征级别对齐组学。例如,scRNA-seq数据的特征是基因,scATAC-seq数据的特征为峰,蛋白质数据的特征为蛋白质丰度。给定不同的模态,token步骤可能会变得复杂。scEval将此任务视为数据整合问题。使用与批次整合相同的指标评估多模态整合。

细胞类型注释

细胞类型注释是继单细胞数据预处理之后的另一个关键步骤。该步骤用reference中准确的细胞类型标签对query中的每个细胞进行注释,这可以通过先验知识(A comparison of marker gene selection methods for single-cell rna sequencing data)或计算方法(Supervised classification enables rapid annotation of cell atlases)来实现。这些注释的细胞类型标签可以为进一步的下游分析提供必要的生物学信息,例如细胞类型特定的网络分析。此外,药物反应预测或单细胞疾病分类也需要基于细胞类型注释。scLLM在处理细胞类型注释任务时采用的一种常见方法是使用有注释的单细胞数据集进行模型训练,并将未注释的数据集作为测试数据集。挑战在于预测或注释一组源自不同于训练数据集的分布外query。此外,具有novel类型细胞(不包括在训练数据集中)的存在使问题进一步复杂化。scEval将此任务视为一个多标签分类问题。

在细胞类型注释任务中,scEval在两种不同的情况下选择具有批次效应的数据集。数据集内情况(intra-dataset)允许批次交叉,这意味着训练和测试数据集可以包含来自同一批次的细胞。这里,总数据集被分为大约70%作为训练数据集,其余作为测试数据集。数据集间的情况(inter-dataset)是跨批次(跨数据)注释,这意味着训练和测试数据集来自不同的来源。在这种情况下,scEval考虑了来自同一组织的两个数据集。此处评估的主要得分是准确性,其定义为: S c e l l t y p e = c o r r e c t e d c e l l s T o t a l c e l l s S_{celltype}=\frac{corrected \thinspace\thinspace\thinspace cells}{Total\thinspace\thinspace\thinspace cells} Scelltype=TotalcellscorrectedcellsscEval还在消融实验分析中考虑了Precision、Recall和F1分数。

细胞层面的评估

细胞层面的评估包括:批次整合,多模态整合,细胞类型注释

批次整合

scEval考虑了scGPT、tGPT和ResPAN,还详细分析了各种超参数对scGPT在批次整合中性能的影响。如图3a所示,在九个数据集中的三个数据集中,scGPT的表现优于ResPAN,在所有数据集中的批次整合表现优于tGPT,而ResPAN的整合总体上最好。此外,scGPT在大规模数据集的批次整合方面表现较差,因为它们的生物保护得分低于原始数据集。在某些数据集上,仍然可以观察到scGPT输出批次效应。因此,scLLM在处理用于批次整合任务的图谱级数据集方面没有表现出优势。
fig3a

  • 图3a:基于不同方法对原始数据和批次整合后的数据进行的总体评估。与scGPT相比,scGPT full表示具有更大预训练数据集的scGPT模型。

基于图3b,scEval详细分析了各种超参数对scGPT在批次整合中性能的影响。较小的学习率往往会在所有数据集上获得更好的性能。训练epoch的最佳数量因数据集而异,更大数量的epoch对大多数数据集都是有益的。这一结果与主张single-epoch训练方法的研究相矛盾(To repeat or not to repeat: Insights from scaling llm under token-crisis)。bins数量的增加通常与最终得分的增加有关。这些观察结果可能会改进scGPT在单细胞数据分析中的批次整合应用,也可能为其他类似模型的微调提供信息。
fig3b

  • 图3b:包括Bins、学习率(LR)和Epoch在内的超参数对批次整合任务中scGPT训练的影响。

此外,还有以下发现:scGPT能够执行零样本学习任务。对于Cell Lines数据集,甚至获得了最高分数,这表明它可能是某些数据集的有效方法。此外,预训练对scGPT在批次整合任务中的性能有显著贡献。在没有预先训练的情况下,从头训练模型的性能不高。

多模态整合

对于这项任务,scEval试图将scRNA-seq数据集与scATAC-seq数据集进行整合实验。通过与批次整合相同的metrics来评估z整合质量。图3c中的结果总结了初始设置选择对scGPT多模态整合性能的影响。令人感兴趣的是,预训练并没有显著影响这项任务的表现。scLLM的编码器部分比解码器起着更重要的作用。事实证明,在训练过程中包括细胞类型标签是有益的,可以为模型提供更精确和有用的信息。零样本场景在这项任务中的表现不好。关于超参数,epoch较多,可以提高模型的性能,将学习率设置得过高会导致模型崩溃。
fig3c

  • 图3c:多组学数据整合任务的不同初始设置的结果。

细胞类型注释

scEval考虑了Geneformer、scGPT、scBERT、CellLM和TOSICA来完成这项任务。平均而言,有预训练的模型比没有预训练的要好。然而,CellLM并没有在所有数据集上都表现良好。此外,对于数据集内预测任务(批次交叉),所有scLLM都是可比较的,即使它们具有不同的预训练集。对于数据集间预测任务(跨批次),scGPT比Geneformer差,但比scBERT好。对于跨物种细胞类型注释,Geneformer、scGPT和scBERT的性能在MCA数据集中具有可比性,但scGPT在MHSP和MB spatial数据集中表现不佳。

scEval比较了不同超参数设置下模型的性能。较高的loss weight、学习率、掩码比和较小的epoch往往会导致cGPT的性能较差。bins的数量与scGPT的性能之间几乎没有相关性。对于Geneformerand和cBERT来说,较低的学习率和较高的epoch也往往会带来更好的表现。

scEval还考虑了模型训练的不同初始设置。第一个设置是冻结,在这里冻结了预训练层的所有权重。第二个设置是使用默认的微调设置。第三个设置是From scartch开始训练。对于初始设置这部分,scEval考虑了scGPT和scBERT,省略了Geneformer。结果是预训练能提高scGPT的结果,特别是在跨数据集条件下。然而,对cBERT进行预训练并没有什么好处。对于这两种情况,不建议冻结预训练层并让它们不参与微调过程。在某些情况下,这种冻结的微调性能比从头开始训练更差。

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

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

相关文章

SpringMVC数据传递及数据处理

ModelAndView传递 编写controller Controller RequestMapping("/account") public class AccountController {//也可以不创建ModelAndView,直接在参数中指定RequestMapping(value "/findAccount9")public ModelAndView findAccount9(ModelAndV…

npm 和yarn的安装和使用方法

npm 和yarn的安装和使用方法 一、npm安装 gnvm install 10.24.1 gnvm use 10.24.1 gnvm ls gnvm npm global#npm i 报错问题error Unexpected token ‘.’ #解决办法 node降级安装为node 14.21.3版本 npm 6.14.18版本 #gnvm search 14.. gnvm install 14.21.3 gnvm ls gnvm …

RAG 评估框架 -- RAGAS

原文 引入 RAG(Retrieval Augmented Generation)的原因 随着ChatGPT的推出,很多人都理所当然直接用LLM当作知识库回答问题。这种想法有两个明显的缺点: LLM无法得知在训练之后所发生的事情,因此无法回答相关的问题存…

从零开始学习Python基础语法:打开编程大门的钥匙

文章目录 一、引言1.1 Python作为一种流行的编程语言的介绍1.2 Python的应用领域和适用性 二、为什么选择Python2.1 Python的简洁性和易读性2.2 Python的跨平台特性 三、Python在数据科学和人工智能领域的应用3.1 第一个Python程序3.1.1 Hello, World!:编写并运行你…

学习python仅此一篇就够了(内置模块)

内置模块 导入模块 import 关键字导入 --------- import math import 模块名称 as alias(别名) import hashlib as h (给hashlib起别名) from 包 import 模块名称 random模块 该模块主要用来产生随机数(伪随机数,计算机产生不了真正的随机数,是依…

统信UOS_麒麟KYLINOS上使用Remmina远程Windows并传输文件

原文链接:统信UOS/麒麟KYLINOS上使用Remmina远程Windows并传输文件 hello,大家好啊!继之前我们讨论了在统信UOS/麒麟KYLINOS与Windows之间通过Open SSH实现文件传输之后,今天我要给大家带来的是如何使用Remmina软件在统信UOS/麒麟…

第二百六十五回

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了Flutter中如何使用三方包相关的内容,本章回中将介绍Widget的生命周期.闲话休提,让我们一起Talk Flutter吧。 概念介绍 本章回中介绍的生命周期是指Widget从创建到结果的整个过程,这…

12.2内核空间基于SPI总线的OLED驱动

在内核空间编写SPI设备驱动的要点 在SPI总线控制器的设备树节点下增加SPI设备的设备树节点,节点中必须包含 reg 属性、 compatible 属性、 spi-max-frequency 属性, reg 属性用于描述片选索引, compatible属性用于设备和驱动的匹配&#xff…

【数据结构】树和二叉树堆(基本概念介绍)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​ 目录 前言 树的概念 树的常见名词 树与…

linux TIME_WAIT时间变短

在Linux中,TIME_WAIT状态表示TCP连接已经关闭但还未完全清除的过程。默认情况下,TIME_WAIT状态会持续2分钟(120秒)以确保网络上没有重复的数据包被传输到错误的目标地址。 要将TIME_WAIT时间设置为更短的值,可以通过修…

2024.1.14每日一题

LeetCode 83.删除排序链表中的重复元素 83. 删除排序链表中的重复元素 - 力扣(LeetCode) 题目描述 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输…

手把手教你学会接口自动化系列十-将用例写在json中,持久化管理起来上

我们之前写的把url,登录都封装了,但是用例的数据怎么用其他文件管理起来,和代码分离呢?由次,我就行了json进行用例的管理。 从接口的角度我们分析,我们都知道接口请求有以下几方面: url method headers data 由次我将我的用例管理格式设置成下面的 {"url"…

关闭免费版pycharm社区版双击shift时出现的搜索框

Pycharm 在双击 shift 的时候总是弹出搜索框,但作为中国玩家,经常需要双击 shift 循环切换中英文。这就很困恼。 下面就解决这个问题。单独关闭双击shift的功能。 步骤 1.左上角 File -> Settings 2. 如图,输入‘advan’ 找到高级设置&…

基于AidLux的智慧教育版面分析应用

基于AidLux的智慧教育版面分析应用 1. Aidlux平台介绍 融合架构操作系统AidLux,可以为单一ARM设备同时提供Android和Linux运行环境,双系统既能独立使用又能相互通信。 非虚拟机方式实现双系统融合并行 同时拥有两个系统的完整用户体验无需重启即可在两个系统之间…

RibbonGroup 添加QRadioButton

RibbonGroup添加QRadioButton: QRadioButton * pRadio new QRadioButton(tr("Radio")); pRadio->setToolTip(tr("Radio")); groupClipboard->addWidget(pRadio); connect(pRadio, SIGNAL(clicked(…

扩展卡尔曼滤波(Extended Kalman Filter, EKF):理论和应用

扩展卡尔曼滤波(Extended Kalman Filter, EKF):理论、公式和应用 引言 卡尔曼滤波是一种广泛应用于估计动态系统状态的技术,但当系统的动态模型或测量模型是非线性的时候,传统的卡尔曼滤波方法就显得无能为力。扩展卡…

Ubuntu中用useradd创建用户后无法用su切换过去

原因: 没有设置密码,没有指定家目录和shell版本,就不能su切换到新用户 解决方法: su - root //切换到root权限 useradd -m -s /bin/bash node1 //-m自动创建home目录,-s指定shell版本 passwd node1 //设置密码 参考链…

springboot(ssm单位考勤系统 oa办公系统Java系统

springboot(ssm单位考勤系统 oa办公系统Java系统 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0) 数据库工…

【保姆级教程|YOLOv8添加注意力机制】【1】添加SEAttention注意力机制步骤详解、训练及推理使用

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

SpringBoot+thymeleaf实战遇到的问题

目录 一、控制台: 二、数据库查询异常: 三、前后端错误校验 四、在serviceImp中需要添加一个eq条件,表示和数据库中的哪个字段进行比较,否则会查出所有数据,导致500 五、使用流转换数据更简洁 六、重复报错&…