scFed:联邦学习用于scRNA-seq分类

2024-04-09 18:36

本文主要是介绍scFed:联邦学习用于scRNA-seq分类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

scRNA-seq的出现彻底改变了我们对生物组织中细胞异质性和复杂性的理解。然而,大型,稀疏的scRNA-seq数据集的隐私法规对细胞分类提出了挑战。联邦学习提供了一种解决方案,允许高效和私有的数据使用。scFed是一个统一的联邦学习框架,允许在不侵犯数据隐私的情况下对四种分类算法进行基准测试,包括单细胞特定分类器和通用分类器。作者使用8个公开的具有不同大小、物种和技术的scRNA-seq数据集来评估scFed,并通过数据集内和数据集间的实验设置来评估其性能。发现scFed在各种数据集上表现良好,具有与集中式模型竞争的精度。尽管基于transformer的模型在集中训练方面表现出色,但其性能略落后于scFed框架内的细胞特定模型。scFed突出了联邦学习在保护隐私、协作生物医学研究方面的潜力

来自:scFed: federated learning for cell type classification with scRNA-seq
工程地址:https://github.com/digi2002/federatedSinglecell

目录

  • 背景概述
  • 方法
    • 概述
    • 分类算法
      • ACTINN
      • SVM
      • XGBoost
      • Geneformer
  • 实验
    • 数据集
    • 实现
    • 统计分析
  • Reference

背景概述

scRNA-seq将基因表达数据与样本中的单个细胞联系起来。RNA转录物的细胞异质性是回答疾病发展和治疗问题的关键。因此,通过scRNA-seq进行细胞类型鉴定一直是生物信息学的热点问题。

与bulk RNA-seq不同,由于每个细胞的测序深度有限,来自scRNA-seq的基因表达高度稀疏,这增加了模型过拟合的机会,阻碍了下游分析。观察到的dropout既可以是真实的基因表达水平,也可以是测量噪声的结果。此外,通过转录组分析测量的基因表达数据是高维数据。处理数据稀疏性和高维数的最简单有效的方法是增加样本量[2],因此,这需要访问大量不同的数据集。

整合多个数据集可以增强细胞类型识别的敏感性和鲁棒性,然而,由于隐私法规的限制,数据集聚合的来源往往会受到阻碍。正如[4]所强调的那样,包括scRNA-seq数据在内的生物信息学领域充满了伦理和隐私问题。有可能通过遗传数据识别个人,共享和转让个人遗传数据可能导致敏感的健康信息暴露。因此,制定了严格的法规,例如《通用数据保护条例》(GDPR)和《健康保险流通与责任法案》(HIPAA),以规范访问和分析此类数据的过程。鉴于这些限制,联邦学习帮助研究人员在不共享每个机构原始数据的情况下汇总和探索单细胞基因表达数据集方面发挥着至关重要的作用。

为了协作学习共享的细胞类型识别模型,同时将所有训练数据保持在本地,越来越多的联邦学习方法正在scRNA-seq细胞类型识别上快速发展。PriCell被提出作为一种用于疾病相关细胞分类的联邦学习方法[5]。scPrivacy以数据隐私保护的方式,利用联邦度量学习算法在多个机构数据集上训练联邦细胞类型识别模型[6]。PPML-Omics[7]分析了三种测序技术的数据,其中涉及了隐私保护的联邦学习框架。

这些方法与日益强调确保生物信息学中的数据隐私相一致,正如该领域所面临的挑战和关注所强调的那样。与传统的scRNA-seq分类方法相比,基于联邦学习的scRNA-seq分类方法相对较新,它们有一个共同的目标,即在不泄露私有信息的情况下准确标注细胞。各种机器学习方法,如神经网络、支持向量机(SVM),已被用于识别细胞类型。此外,基于transformer的模型已经成为细胞类型识别的另一种选择,利用它们的自注意机制来捕获复杂的细胞模式[9,10]。

虽然UniFed证明了分类方法的选择是影响联邦学习框架中模型性能的主要因素[11],但由于缺乏对scRNA-seq联邦学习中分类方法的详细比较研究,使得用户在该框架中没有明确的指导方针来选择适合其特定挑战的方法。

在这里,作者提出scFed作为一个统一的联邦学习框架来对一系列分类方法进行基准测试,为研究人员在确保数据隐私的同时进行scRNA-seq分析提供系统指导。scFed使用通用和细胞特异性分类器进行scRNA-seq细胞类型鉴定。SVM和XGBoost是通用分类器,而ACTINN是为scRNA-seq数据量身定制的。SVM和XGBoost的选择是基于它们在一系列数据集上的通用表现,而ACTINN因其在scRNA-seq数据中的专业知识而被纳入。

采用8个公开的不同大小、种类和技术的scRNA-seq数据集进行性能比较。基于准确率和计算时间对基于联邦学习的分类方法的性能进行了评价。执行了几个实验,涵盖了联邦学习和分类任务的不同方面,比如数据集、客户端数量和算法比较。还将基于transformer的模型Geneformer整合到scFed框架中,以评估其在细胞类型鉴定方面的潜力。虽然它显示出很好的分类能力,但它也提出了大量的计算需求。实验揭示了不同分类算法在分类性能和计算时间上的巨大差异,评估证明了scFed在多客户端数据集的隐私保护集成方面的有效性、时间效率和鲁棒性。

方法

为了定量评价单细胞分类的联邦学习框架,作者提出了scFed,并将几种单细胞分类算法集成到联邦学习框架中。

概述

scFed系统的工作流程,如图1所示。它是一个联邦学习框架,允许使用分散在大量不同客户端的分散数据来训练全局模型,而无需将客户端数据上传到服务器。本质上,该框架假设存在 N N N个激活的客户端,每个客户端都拥有自己的数据集,用 D k D_k Dk表示。目标是开发一个包含 N N N个客户端数据集的细胞类型识别模型。
fig1

  • 图1:scFed的工作流程,客户端使用来自scRNA-seq的本地基因表达数据来训练本地模型,本地模型用于更新全局模型。聚合的全局模型被传递给本地模型进行进一步的训练。

分类算法

通过采用联邦学习框架优先考虑数据隐私,该工作流程支持四种关键分类算法:基于神经网络的ACTINN、基于树的XGB、支持向量机和基于Transformer的模型,这些也是单细胞分类的基本算法。

ACTINN

深度学习网络具有较强的从数据中学习高级特征的能力,不需要领域知识来选择特征,这有利于对大量细胞的分类。人们已经探索了各种深度学习模型来识别细胞类型。最近的一种细胞分类方法ACTINN采用全连接神经网络进行细胞类型分类。在本研究中,作者使用FedAvg算法的一种变体训练神经网络模型,将ACTINN整合到scFed中,如算法1所示。

alg1

FedAvg算法的变体,如算法1中所述,是一种联邦学习方法,用于在具有分散数据的深度学习网络中进行有效通信。该算法首先初始化全局模型权重 W g l o b a l 0 W_{global}^{0} Wglobal0,并通过 T T T轮通信进行迭代。在最初的FedAvg算法中,每个客户端在将更新后的模型发送给服务器之前,对其本地数据执行 E E E次本地随机梯度更新。通过将 E E E设置为1,每个客户端只对其数据执行一次传递,这与集中设置中的一个权重更新epoch相同,从而使其与scFed性能评估的集中训练过程更具可比性。在每一轮中,服务器选择所有客户端参与计算。然后,服务器将全局模型权重 W g l o b a l t W_{global}^{t} Wglobalt发送给客户端。每个客户端通过在其本地的 D k D_{k} Dk执行一个训练epoch来微调其本地模型,并得到更新的参数 W k t W_{k}^{t} Wkt。 完成后,客户端将更新后的权重发送回服务器。最后,服务器聚合来自所有客户端的更新权重,基于本地权重的加权和更新全局模型权重 W g l o b a l t + 1 W_{global}^{t+1} Wglobalt+1,考虑到每个客户端数据集的相对大小。这一过程在预定义的通信轮数中重复进行,最终收敛到从分散数据中学习的有效模型。

SVM

支持向量机已被广泛应用于对scRNA-seq数据测量的基因表达数据进行分类。在联邦学习的背景下,构建具有数学严谨性的支持向量机是保证有效协作和隐私保护的必要条件。为此,这里特别关注线性支持向量机,因为与非线性核相比,它提供了更直接和计算效率更高的方法,同时仍然提供令人满意的性能。线性支持向量机模型可以表示为与超平面正交向量的系数和该向量的截距,它们定义了分类的决策边界。

在联邦学习设置中,每个参与的客户端持有一个本地数据集并独立训练线性SVM模型,而不共享原始数据。由权向量和截距组成的局部训练模型可以被聚合并转换为全局模型。这是通过计算本地模型的加权平均值来实现的,其权重由每个客户端数据集的相对大小决定。生成的全局模型捕获来自所有参与客户端的集体知识,同时保护数据隐私。

XGBoost

单一决策树和集成决策树模型,如梯度增强决策树(GBDT)和随机森林,都可以通过联邦学习来学习。由于GBDT在分类应用方面的优异性能,它已被广泛用于单细胞分类。在这项工作中,作者通过联邦学习框架来训练XGBoost模型,以避免客户端数据隐私泄露。联邦XGBoost训练框架在每次通信中分为四个步骤实现。首先,服务器将初始参数或新树发送给客户机。其次,客户端分别更新梯度直方图;第三,客户端将梯度直方图发送给服务器。最后,服务器合并直方图并生成一棵新树。

Geneformer

基于transformer的模型能够分析单细胞转录组数据的大量数据集。它在数据点中捕获远程依赖关系的能力使其成为在计算环境中探索生物信息的有效工具。一种名为Geneformer的基于transformer的模型在大约3000万个单细胞转录组的大型数据库上进行预训练,以促进特定环境的预测。利用Geneformer进行分类任务,有必要使用特定的数据集对其进行微调。在scFed中,Geneformer的微调主要包括以下四个步骤。首先,每个客户端加载预训练的模型。其次,客户进行本地训练,微调参数。第三,每个客户端将此轮微调的模型参数发送给服务器。最后,服务器聚合模型参数并将其传播给所有客户机。

实验

作者从模型的准确性、客户端数量的可扩展性、分类算法的可行性和运行时分析等方面对提出的scFed进行了评估。通过数据集内部和数据集之间的分类测试了联邦学习工作流程的泛化性。考虑到Transformer架构的计算强度,作者对Geneformer进行了专门的评估。使用Zhengsorted数据集作为基准,作者评估了Geneformer的分类精度和运行时间指标。

数据集

共使用8个scRNA-seq数据集对所有分类方法的scFed进行评估和基准测试,其中所有数据集用于数据集内评估,5个数据集用于跨数据集评估。数据集因测序方案、物种和组织而异(表1)。使用不同测序方案测序的胰腺数据集:BaronHuman、Muraro、Segerstolpe和Xin数据集均来自人类胰腺,BaronMouse来自小鼠胰腺。Zhengsorted是从人外周血单核细胞中测序的。AMB数据集来自allen小鼠大脑。Tabula Muris ™数据集代表了相对较大的scRNA-seq数据集(> 50000个细胞)。

tab1

  • 表1:数据集统计。

在数据集内分类中,作者将整个数据集随机分成80%作为训练数据,20%作为测试数据,并将训练集均匀分布在 N N N个客户端上。作者对每组比较实验使用相同的训练和测试数据集。

在跨数据集分类研究中,首先,将四个人类胰腺数据集(Xin, BaronHuman, Muraro和Segerstolpe)组合在一起,然后使用其中三个作为训练数据集,剩下的一个作为测试数据集。在这种情况下,每个客户端都拥有一个训练数据集,并将它们集成到训练scFed中。对于数据预处理,过滤了所有细胞中计数为零的基因。为了消除批次效应的影响,同时保持真正的生物异质性,采用CPM归一化方法进行计数深度缩放。接下来,使用log2(count+1)对基因表达数据进行对数变换。

实现

FL框架是用python实现的,利用套接字编程在服务器和客户端之间建立连接,从而维护隐私和高效使用分布式数据。该系统由两个Intel® Xeon® Platinum 8358 cpu驱动,运行速度为2.60GHz, 64核128线程和512 GB RAM。在Geneformer设置下,实验配置了2个Hygon C86 cpu,频率为2.00 GHz, 64核128线程,128gb RAM和NVIDIA Tesla A40 GPU。

作者使用TensorFlow库来构建ACTINN的联邦版本。全局神经网络模型的结构由联邦服务器保存并跨客户端复制。随后,从本地模型中提取模型参数并将其发送到服务器进行聚合。对于基于神经网络的ACTINN算法,我们对每个客户端使用1e-4的初始学习率和Adam优化,并从数据集中采样大小为128的小批量。

作者选择scikit-learn库,它为SVM模型提供了全面的工具和功能,以访问SVM模型的权重并执行模型聚合,同时确保所有客户端的数据隐私保护。在scikit-learn中,SGDClassifier通过铰链损失函数配置线性支持向量机。

对于XGBoost模型,作者使用开源软件库XGBoost来实现联邦XGBoost。Federated XGBoost是用于联邦设置的梯度增强库,它使多方能够联合计算模型,同时将其数据保留在站点上,从而避免了对中央数据存储的需求。

为了在scFed中实现基于transformer的模型,作者使用Geneformer来实现federated Geneformer。利用Geneformer预训练的权重,通过添加特定于任务的Transformer层并使用Huggingface transformer库提供的训练器来执行微调。

统计分析

作者进行了Wilcoxon signed-rank检验,检验两种模型在准确率上是否存在显著差异。通过评估Wilcoxon统计检验的p值,能够确定是否可以拒绝零假设(即全局模型和集中式模型之间没有显著差异),而支持备选假设(两个模型之间存在显著差异)。p值大于0.05表明缺乏足够的证据来拒绝原假设。

Reference

[2]Thousands of samples are needed to generate a robust gene list for predicting outcome in cancer
[4]A privacy concern: Bioinformatics and storing biodata
[5]Privacy-preserving federated neural network learning for disease-associated cell classification
[6]Privacy-preserving integration of multiple institutional data for single-cell type identification with scprivacy
[7]Ppml-omics: a privacy-preserving federated machine learning method protects patients’ privacy in omic data
[9]Scgpt: towards building a foundation model for single-cell multi-omics using generative ai
[10]Transfer learning enables predictions in network biology
[11]Unifed: a benchmark for federated learning frameworks

这篇关于scFed:联邦学习用于scRNA-seq分类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888915

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识