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

news2024/11/23 3:30:00

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

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

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

相关文章

用户态网络缓冲区的设计

一、网络缓冲区 在内核中也是有网络缓冲区的,比如使用 read 读取数据(read 是一种系统调用,第一个参数为 fd),当陷入到内核态的时候,会通过 fd 指定 socket,socket 会找到对应的接收缓冲区。在…

安装VMware ESXi虚拟机系统

简介:ESXi是VMware公司开发的一款服务器虚拟化操作系统。它能够在一台物理服务器上运行多个虚拟机,每个虚拟机都可以独立运行操作系统和应用程序,而且对硬件配置要求低,系统运行稳定。 准备工具: 1.8G或者8G以上容…

7-155 好玩的游戏:消消乐

消消乐是一个非常流行的手机游戏。现在游戏创意设计师Jerry突发奇想设计一个如下图所示的一维消消乐游戏,Jerry想知道游戏生成的小球布局在玩家玩的过程中最高总分能得多少,现在Jerry向资深的程序员你求助,希望你能帮助他算出每个游戏初局的最高得分。 游戏规则是这样的:…

SWM341系列应用(RTC、FreeRTOS\RTTHREAD应用和Chip ID)

SWM341系列RTC应用 22.1、RTC的时钟基准 --liuzc 2023-8-17 现象:客户休眠发现RTC走的不准,睡眠2小时才走了5分钟。 分析与解决:经过排查RTC的时钟源是XTAL_32K,由于睡眠时时设置XTAL->CR0;,会把XTAL_32K给关…

【DM8】外部表

外部表是指不存在于数据库中的表。 通过向达梦数据库定义描述外部表的元数据,可以把一个操作系统文件当成一个只读的数据库表,对外部表将像普通定义的表一样访问。 外部表的数据存储在操作系统文件中,建立外部表的时候,不会产生…

B02、分析GC日志-6.3

1、相关GC日志参数 -verbose:gc 输出gc日志信息,默认输出到标准输出-XX:PrintGC 输出GC日志。类似:-verbose:gc-XX:PrintGCDetails 在发生垃圾回收时打印内存回收详细的日志, 并在进程退出时输出当前内存各区域分配情况-XX:PrintGCTimeStamp…

深度学习-多尺度训练的介绍与应用

一、引言 在当今快速发展的人工智能领域,多尺度训练已经成为了一种至关重要的技术,特别是在处理具有复杂结构和不同尺度特征的数据时。这种技术在许多应用中发挥着关键作用,例如图像识别、自然语言处理和视频分析等。 多尺度训练的定义 多尺…

设计模式(22):解释器模式

解释器 是一种不常用的设计模式用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的解释器和解释器设计当我们需要开发一种新的语言时,可以考虑使用解释器模式尽量不要使用解释器模式,后期维护会有很大麻烦。在项目中&…

4月9日学习记录

[GXYCTF 2019]禁止套娃 涉及知识点&#xff1a;git泄露&#xff0c;无参数RCE 打开环境&#xff0c;源码什么的都没有&#xff0c;扫描后台看看 扫描发现存在git泄露 用githack下载查看得到一串源码 <?php include "flag.php"; echo "flag在哪里呢&#…

django之ajax

【一】前言 Ajax 异步提交局部刷新 发送请求的方式 浏览器地址栏直接输入url回车 GET请求a标签href属性 GET请求form表单 GET请求/POST请求ajax GET请求/POST请求 ​ AJAX 不是新的编程语言&#xff0c; 而是一种使用先有标准的新方法&#xff08;比如装饰器&#xff09; …

AtCoder ABC347 A-D题解

个人感觉这次D有点难。 比赛链接:ABC347 Problem A: 签到题。 #include <bits/stdc.h> using namespace std; int main(){int N,K;cin>>N>>K;for(int i1;i<N;i){int A;cin>>A;if(A%K0)cout<<A/K;}return 0; } Problem B: 主要考substr的…

unity按路径移动

using System; using System.Collections; using System.Collections.Generic; using UnityEngine;public class FollowPathMove : MonoBehaviour {public Transform[] wayPointArray;[SerializeField] private Transform PathA;//路径点的父物体[SerializeField]private Trans…

紫光展锐T610平台_4G安卓核心板方案定制开发

紫光展锐T610核心板配备Android 11操作系统&#xff0c;采用12nm制程工艺。该处理器CPU由2颗基于Cortex-A75架构的大核心和6颗基于Cortex-A55架构的小核心组成&#xff0c;最高主频为1.8GHz。GPU采用的是614.4MHz的Mali G52&#xff0c;可以流畅播放2400*1080分辨率视频&#x…

MacOS初识SIP——解决快捷指令sh脚本报错Operation not permitted

前言 因为一些原因&#xff0c;设计了一套快捷指令&#xff0c;中间涉及到一个sh脚本的运行&#xff0c;通过快捷指令运行时就会报错&#xff1a;operation not permitted 奇怪的是在快捷指令窗口下运行一切正常&#xff0c;但是从其他地方直接调用&#xff0c;例如通过Comma…

典型新能源汽车热管理系统方案分析

目前行业具有代表性的热管理系统有PTC电加热方案、热泵方案&#xff08;特斯拉八通阀热泵、吉利直接式热泵&#xff09;、威马的柴油加热方案以及以理想为代表的插电式混动车方案。 小鹏P7整车热管理方案分析&#xff08;PTC电加热方案&#xff09; 小鹏P7作为小鹏汽车的第2款…

免费Docker容器服务Koyeb和Zeabur介绍及推荐

想搭建个演示站点仅是演示用。在哪找免费的云服务&#xff1f;还是有很多的。前面介绍过replit&#xff0c;这里介绍下几个提供免费云服务的的PaaS平台Koyeb和Zeabur&#xff0c;Zeabur平台或许是最好的选择。比如把个人的博客免费部署上去&#xff0c;也是个不错的选择呢。 前…

JVM字节码与类的加载——类的加载过程详解

文章目录 1、概述2、加载(Loading)阶段2.1、加载完成的操作2.2、二进制流的获取方式2.3、类模型与Class实例的位置2.4、数组类的加载 3、链接(Linking)阶段3.1、链接阶段之验证(Verification)3.1.1、格式检查3.1.2、字节码的语义检查3.1.3、字节码验证3.1.4、符号引用验证 3.2、…

PVE下安装配置openwrt和ikuai

开端 openwrt 和 ikuai 是比较出名的软路由系统。我最早接触软路由还是因为我的一个学长要改自己家里的网络&#xff0c;使用软路由去控制网络。我听说后便来了兴致&#xff0c;也在我家搞了一套软路由系统。现在我已经做完了&#xff0c;就想着写个文章记录一下。 软路由简介…

GFS部署实验

目录 1、部署环境 ​编辑 2、更改节点名称 3、准备环境 4、磁盘分区&#xff0c;并挂载 5. 做主机映射--/etc/hosts/ 6. 复制脚本文件 7. 执行脚本完成分区 8. 安装客户端软件 1. 安装解压源包 2. 创建gfs 3. 安装 gfs 4. 开启服务 9、 添加节点到存储信任池中 1…

应急响应-拒绝服务钓鱼指南DDOS压力测试邮件反制分析应用日志

知识点 1、CC攻击分析 2、钓鱼邮件分析 3、内网渗透分析 一、演示案例-内网应急-日志分析-爆破 MSSQL-1433 SMB-445 二、演示案例-红队APT-钓鱼邮件-内容&发信人&附件 如何分析邮件安全性&#xff1a; 1、看发信人地址 2、看发信内容信息 3、看发信内容附件 看后…