跳转至

摘要: 空间转录组学数据分析面临的核心挑战之一是训练数据不足。为此,研究者已开发多种生成模型用于合成空间转录组样本,但这些模型在存在噪声(如异常值)的情况下往往表现欠佳。本文提出 RSTG(鲁棒空间转录组生成器),一种融合 β-ELBO 损失函数的自编码器框架,旨在生成高质量、真实可靠的空间转录组序列。该模型通过变分推断近似数据的潜在分布,从而揭示数据内在结构,实现更具可解释性和鲁棒性的密度估计。研究团队在多项任务上验证了 RSTG 的有效性,包括二维空间域与位置域中细胞位置的恢复。实验涵盖基于 MERFISH、MERSCOPE 和 Visium 技术生成的脑组织与肝脏样本数据集,结果在定性和定量指标上均优于现有方法。此外,研究通过向训练数据注入白噪声、批次效应及数据丢失等异常污染,并在真实退化样本上进行测试,系统评估了 RSTG 的抗干扰能力。结果表明,即使在训练数据受到污染的多种实验条件下,RSTG 仍能保持较高的生成质量与稳定性。


RSTG:基于Beta散度自编码器的高质量空间转录组数据鲁棒生成方法

概述

空间转录组学(Spatial Transcriptomics)是近年来单细胞领域的重要技术突破,它能够在保留细胞空间位置信息的同时测量基因表达谱。然而,该领域面临的一个核心挑战是:可用于模型训练的高质量数据量严重不足。为了扩充训练数据,研究者们开发了多种生成模型,用于在受控环境中合成空间转录组样本。

但现有生成模型存在明显短板——当训练数据中混入噪声(如异常值、批次效应、数据丢失等)时,这些模型的开箱即用生成能力往往大幅下降,生成样本质量不稳定。

为此,该研究提出了 RSTG(Robust Spatial Transcriptomic Generator,鲁棒空间转录组生成器),这是一种融合了 β-ELBO 损失函数的自编码器架构。RSTG 通过变分推断(Variational Inference)逼近数据的潜在分布,从而挖掘数据的内在结构,实现更具可解释性和鲁棒性的密度估计。该方法在脑部和肝脏样本数据集上(涵盖 MERFISH、MERSCOPE、Visium 多种技术平台)均展示了在质量和数量指标上优于现有方法的表现,即便训练数据被污染,依然能保持高质量和稳定性。


核心原理与功能

1. 问题背景:为何需要生成模型

空间转录组数据的获取成本高、样本量有限,这直接制约了下游深度学习模型的训练效果。生成模型可以在保持生物学合理性的前提下扩增数据量,但前提是生成模型本身必须足够鲁棒,能够抵抗真实数据中不可避免的噪声污染。

现有生成方法的问题主要集中在以下几点: - 对异常值(Outliers)敏感,生成质量随噪声比例下降明显 - 批次效应(Batch Effects)导致生成分布偏移 - 基因表达矩阵中的 Dropout(数据丢失)现象破坏潜空间学习

2. RSTG 的核心设计:β-ELBO 损失

RSTG 的关键创新在于将 β散度(Beta Divergence) 引入变分自编码器(Variational AutoEncoder, VAE)的损失函数框架,构成所谓的 β-ELBO(Evidence Lower Bound,证据下界) 损失。

标准 VAE 使用 KL 散度作为正则化项,对离群点较为敏感。Beta 散度是一类比 KL 散度更宽泛的统计距离度量族,通过调节参数 β 可以控制模型对异常值的敏感程度,从而在拟合数据分布时赋予异常点较低的权重,增强整体鲁棒性。

具体而言,β-ELBO 通过以下方式提升鲁棒性: - 近似潜在分布:利用变分推断(Variational Inference)对数据的底层概率分布进行近似,而非直接记忆训练样本 - 鲁棒密度估计:通过 β 参数的调节,降低离群点对潜空间(Latent Space)学习的干扰,实现更稳健的密度估计 - 可解释的潜空间:相比标准 VAE,β-ELBO 训练所得的潜空间表示更具可解释性,有助于理解细胞状态的内在结构

3. 模型架构:自编码器框架

RSTG 采用自编码器(AutoEncoder)架构,整体结构包括:

  • 编码器(Encoder):将高维空间转录组表达矩阵压缩为低维潜变量(Latent Variables),捕获细胞的内在生物学特征
  • 潜空间(Latent Space):由变分推断约束,服从结构化概率分布,支持从中采样以生成新样本
  • 解码器(Decoder):将潜变量重建为完整的空间转录组序列,包含基因表达信息和空间位置信息

该框架结合 β-ELBO 损失,使模型能够在含噪数据上学习到更稳定的数据生成分布。

4. 验证任务:细胞空间位置恢复

RSTG 的有效性通过多个任务进行验证,核心任务之一是细胞空间位置恢复,具体包括:

  • 2D 空间域(2D Spatial Domain)中的细胞位置恢复:验证生成的细胞样本是否能够维持原始组织切片中的空间分布模式
  • 位置域(Location Domain)中的细胞位置恢复:评估生成数据在更抽象的位置表示空间中的准确性

这两类任务共同检验了 RSTG 在保留空间结构信息方面的能力——这对空间转录组数据而言至关重要,因为细胞的空间上下文直接影响其生物学功能解读。

5. 鲁棒性验证:人工污染实验

为了系统评估 RSTG 对噪声的鲁棒性,研究者设计了主动污染实验,向训练数据中注入以下三类异常:

异常类型描述
白噪声(White Noise)向基因表达矩阵中随机添加高斯白噪声,模拟测序随机误差
批次效应(Batch Effects)引入系统性偏移,模拟不同实验批次或平台间的技术差异
Dropout(数据丢失)人为制造基因表达缺失,模拟单细胞测序中的特有零值膨胀问题

此外,研究者还在真实降质样本(Real-life Degraded Sample)上进行了验证,进一步证明了 RSTG 在实际应用场景中的实用价值。结果表明,即使在多种污染条件和不同实验配置下,RSTG 依然能够维持高质量且稳定的生成输出。

6. 支持的技术平台

RSTG 在以下主流空间转录组技术生成的数据集上进行了评估:

  • MERFISH(Multiplexed Error-Robust Fluorescence In Situ Hybridization,多重错误鲁棒荧光原位杂交):基于原位杂交的高通量空间转录组技术
  • MERSCOPE:基于 MERFISH 原理的商业化平台,支持大规模组织样本分析
  • Visium:10x Genomics 推出的空间转录组测序平台,广泛应用于组织切片的全转录组空间分析

测试组织涵盖脑部(Brain)肝脏(Liver)样本,体现了方法的跨组织泛化能力。


关键方法与步骤

由于原始论文为方法论研究论文,未提供可直接运行的代码库或命令行工具,以下整理了 RSTG 方法的核心实现逻辑与流程步骤,供研究者参考复现。

步骤一:数据准备与预处理

# 加载空间转录组数据(以 Visium 格式为例)
# 输入数据应包含:基因表达矩阵 + 细胞空间坐标
import scanpy as sc

# 读取空间转录组数据
adata = sc.read_visium(path="your_data_path/")

# 基础质控:过滤低质量细胞和基因
sc.pp.filter_cells(adata, min_genes=200)   # 过滤检测基因数过少的细胞
sc.pp.filter_genes(adata, min_cells=3)    # 过滤表达细胞数过少的基因

# 归一化处理
sc.pp.normalize_total(adata, target_sum=1e4)  # 文库大小归一化
sc.pp.log1p(adata)                            # 对数变换,稳定方差

步骤二:构建 β-ELBO 自编码器

# RSTG 核心:构建融合 beta 散度的变分自编码器
# beta 参数控制对离群点的鲁棒性:beta 值越大,对异常值越不敏感

import torch
import torch.nn as nn

class RSTG_Encoder(nn.Module):
    """编码器:将高维基因表达向量映射至潜空间"""
    def __init__(self, input_dim, latent_dim):
        super().__init__()
        self.fc_mu = nn.Linear(input_dim, latent_dim)      # 潜变量均值
        self.fc_logvar = nn.Linear(input_dim, latent_dim)  # 潜变量对数方差

    def forward(self, x):
        mu = self.fc_mu(x)
        logvar = self.fc_logvar(x)
        return mu, logvar  # 返回分布参数,用于变分推断

class RSTG_Decoder(nn.Module):
    """解码器:从潜空间重建空间转录组序列"""
    def __init__(self, latent_dim, output_dim):
        super().__init__()
        self.fc = nn.Linear(latent_dim, output_dim)  # 重建基因表达向量

    def forward(self, z):
        return self.fc(z)  # 输出重建的基因表达矩阵

步骤三:β-ELBO 损失函数计算

def beta_elbo_loss(recon_x, x, mu, logvar, beta=1.0):
    """
    计算 beta-ELBO 损失
    参数:
        recon_x : 重建的基因表达矩阵
        x       : 原始基因表达矩阵
        mu      : 潜变量均值
        logvar  : 潜变量对数方差
        beta    : 散度权重参数,控制鲁棒性(默认为 1.0,即标准 VAE)
    """
    # 重建损失:衡量生成质量
    recon_loss = nn.functional.mse_loss(recon_x, x, reduction='sum')

    # KL 散度:正则化潜空间,通过 beta 参数加权
    kl_divergence = -0.5 * torch.sum(1 + logvar - mu.pow(2) - logvar.exp())

    # beta-ELBO:重建损失 + beta 加权的 KL 散度
    return recon_loss + beta * kl_divergence

步骤四:模型训练

# 训练 RSTG 模型
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)  # Adam 优化器

for epoch in range(num_epochs):
    for batch in dataloader:
        x = batch['expression']    # 基因表达矩阵批次

        mu, logvar = encoder(x)    # 编码:获取潜变量分布参数

        # 重参数化采样(Reparameterization Trick)
        std = torch.exp(0.5 * logvar)
        eps = torch.randn_like(std)
        z = mu + eps * std         # 从潜分布中采样

        recon_x = decoder(z)       # 解码:重建基因表达

        # 计算 beta-ELBO 损失(beta 值为论文中的核心超参数)
        loss = beta_elbo_loss(recon_x, x, mu, logvar, beta=beta)

        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

步骤五:生成新的空间转录组样本

# 从训练好的 RSTG 模型生成合成样本
model.eval()
with torch.no_grad():
    # 从标准正态分布采样潜变量
    z_sample = torch.randn(num_samples, latent_dim)  # num_samples: 生成样本数量

    # 通过解码器生成空间转录组序列
    generated_expression = decoder(z_sample)  # 生成的基因表达矩阵

实战示例

场景一:含批次效应数据的鲁棒生成

针对论文中描述的批次效应污染实验,RSTG 的典型应用场景如下:

问题设定:同一组织的多个切片来自不同实验批次,存在系统性表达偏移,导致标准生成模型在合并训练时产生分布崩塌(Mode Collapse)。

RSTG 解决方案: 1. 将多批次数据混合后直接输入 RSTG,无需额外的批次校正预处理 2. β-ELBO 损失中的 β 参数降低批次效应异常点对潜空间的影响 3. 模型学习到跨批次的共享生物学信号,生成高质量的批次无偏样本

场景二:真实降质样本的质量恢复

问题设定:部分空间转录组样本因组织保存条件不佳(如 RNA 降解)导致数据质量偏低,表现为大量 Dropout 和低读数计数。

RSTG 处理流程

# 使用 RSTG 对降质样本进行质量恢复
# 1. 将降质样本送入训练好的 RSTG 编码器
mu_degraded, logvar_degraded = encoder(degraded_sample)

# 2. 从潜空间中采样(多次采样取均值以降低噪声)
recovered_samples = []
for _ in range(10):  # 采样 10 次取平均,降低随机性
    z = reparameterize(mu_degraded, logvar_degraded)
    recovered_samples.append(decoder(z))

# 3. 对多次采样结果取均值,得到恢复后的高质量样本
recovered_expression = torch.stack(recovered_samples).mean(dim=0)

场景三:跨技术平台的数据增强

应用背景:MERFISH、MERSCOPE 和 Visium 三种技术平台在基因覆盖范围、空间分辨率和噪声特征上各有不同。RSTG 的跨数据集验证表明,其生成能力不依赖于特定技术平台,可用于以下数据增强场景:

  • 为小样本的 MERFISH 数据集生成合成训练样本,以训练下游细胞类型分类模型
  • 在 Visium 全转录组数据上预训练 RSTG,再迁移至基因面板受限的 MERSCOPE 数据集
  • 通过生成多样化的脑部和肝脏空间转录组样本,增强下游空间域识别(Spatial Domain Identification)模型的泛化能力

常见问题

Q1:RSTG 中的 β 参数应该如何设置?

A:β 参数是 RSTG 鲁棒性的核心超参数,控制模型对离群点的容忍程度。β = 1 时等价于标准 VAE 的 KL 散度正则化;β > 1 时对潜空间施加更强约束,有助于提升鲁棒性但可能影响重建质量;β < 1 时重建精度更高但鲁棒性下降。实际使用中建议通过交叉验证在训练数据质量已知的小集合上调节 β 值。论文中的具体最优 β 设置需参考原文实验部分 [待验证]。

Q2:RSTG 与标准 VAE 生成模型相比,主要优势体现在哪里?

A:核心优势在于鲁棒性。标准 VAE 在训练数据干净时表现良好,但一旦数据中混入白噪声、批次效应或 Dropout,其生成质量会显著下降。RSTG 通过 β-ELBO 损失对这些异常点赋予较低权重,使潜空间学习更聚焦于数据的内在生物学信号,从而在含噪条件下保持稳定的生成质量。此外,RSTG 的潜空间表示也更具可解释性。

Q3:RSTG 是否适用于 MERFISH、MERSCOPE 之外的其他空间转录组平台?

A:从方法论层面,RSTG 的自编码器框架对输入数据格式(基因表达矩阵 + 空间坐标)没有平台特异性要求,理论上可以应用于其他技术平台(如 Slide-seq、HDST、10x Xenium 等)生成的空间转录组数据。论文中验证了 MERFISH、MERSCOPE 和 Visium 三个平台,对其他平台的适用性 [待验证],建议用户在实际应用前进行针对性评估。

Q4:RSTG 能否同时恢复基因表达信息和细胞空间位置信息?

A:是的,这是 RSTG 的重要功能之一。论文明确提到 RSTG 在细胞位置恢复任务上进行了验证,覆盖 2D 空间域和位置域两个层面。模型在生成合成样本时,能够同时输出基因表达谱和对应的空间位置预测,这对于需要联合分析表达模式与空间分布的下游任务(如空间域识别、细胞通讯分析)具有直接价值。

Q5:数据中异常值比例达到多高时,RSTG 仍能保持稳定性能?

A:论文通过系统性污染实验验证了 RSTG 在不同异常比例下的鲁棒性,结果表明即使在数据被部分污染(包括白噪声、批次效应和 Dropout)的情况下,RSTG 依然能保持高质量和稳定性。具体的污染比例阈值和对应的性能曲线需参考论文实验章节的详细数据 [待验证]。


总结

RSTG 是专为空间转录组数据生成任务设计的鲁棒生成模型,其核心贡献在于将 β散度(Beta Divergence) 引入变分自编码器框架,构建 β-ELBO 损失函数,从而有效解决了现有生成模型在噪声数据(白噪声、批次效应、Dropout)下生成质量不稳定的根本问题。

该方法通过变分推断逼近数据内在分布,在 2D 空间域和位置域的细胞位置恢复任务上均展示了优于现有方法的定性与定量性能。验证覆盖 MERFISH、MERSCOPE、Visium 三大主流平台,以及脑部和肝脏两类组织,兼顾跨平台和跨组织的泛化能力。对于面临训练数据不足或数据质量不佳问题的空间转录组研究者,RSTG 提供了一种切实可行的数据增强与质量鲁棒化解决方案。