返回目录
Week 82026年10月19日—10月25日

第八周

阅读文献。

这周主要工作是阅读文献,部分笔记如下:

已读

路线A:潜在空间位移与条件因素分解

《scGen predicts single-cell perturbation responses》

z^i,A,p=1=zi,A,p=0+δ\hat{z}_{i,A,p=1} = z_{i,A,p=0} + \delta

《Predicting Cellular Responses to Novel Drug Perturbations at a Single-Cell Resolution》

本文仍在潜在空间中相加,但各项有明确分工:基础状态表示、细胞条件表示,以及由药物结构和剂量生成的扰动效应表示。解码器将三者相加后用于表达预测:

x^=D ⁣(zbasal+ecell(c)+fdrug(药物结构,剂量)).\hat{x}=D\!\left(z^{\rm basal}+e_{\rm cell}(c)+f_{\rm drug}(\text{药物结构},\text{剂量})\right).

输入实测表达 → 编码基础表示 → 两条支路分别计算重建损失、分类损失 → 交替更新参数 → 预测时替换条件。

《Modelling Cellular Perturbations with the Sparse Additive Mechanism Shift Variational Autoencoder》

上一篇文献最后解码器输出的是一个细胞基因表达向量的高斯分布的均值和方差。

而这一篇文献的解码器它输出的是一个细胞中每一个基因的表达权重负二项分布的均值和r。 其中,均值是通过权重和总计数计算出来的,权重又是通过维护一个softmax神经网络计算得到的;r,它是对每一个基因都维护了一个共享的 r 参数。

实测表达计数 xi→编码器(μib,σib 2)⟶q(zib∣xi)→采样zib扰动身份 p→读取可学习参数(ap,bp2)⟶q(ep)→采样ep扰动身份 p→读取开启概率{πpk}k⟶q(mp)→采样mp⇓结合实际扰动标签 dipzi=zib+∑pdip(mp⊙ep)↓解码网络将潜在状态 zi 映射为各基因的分数ai=hθ(zi)↓softmax:将分数归一化为表达比例ρig=exp⁡(aig)∑g′=1Gexp⁡(aig′)∑gρig=1↓乘以已知的细胞总计数 liμig=liρig↓结合每个基因共享的可学习离散参数 rgXig∼NB⁡(μig,rg)↓计算实测计数 xig 的负对数概率Lexpression(H)=−∑i,glog⁡PNB(Xig=xig∣μig(H),rg)↓对潜变量采样取平均,再加先验约束LSAMS=Eq[Lexpression(H)]+DKL(q(H)∥p(H))↓反向传播,更新参数\begin{gathered} \begin{aligned} \text{实测表达计数 }x_i &\xrightarrow{\text{编码器}} (\mu_i^b,\sigma_i^{b\,2}) \longrightarrow q(z_i^b\mid x_i) \xrightarrow{\text{采样}} z_i^b \\[10pt] \text{扰动身份 }p &\xrightarrow{\text{读取可学习参数}} (a_p,b_p^2) \longrightarrow q(e_p) \xrightarrow{\text{采样}} e_p \\[10pt] \text{扰动身份 }p &\xrightarrow{\text{读取开启概率}} \{\pi_{pk}\}_k \longrightarrow q(m_p) \xrightarrow{\text{采样}} m_p \end{aligned} \\[16pt] \Downarrow\quad \text{结合实际扰动标签 }d_{ip} \\[10pt] \boxed{z_i=z_i^b+\sum_p d_{ip}(m_p\odot e_p)} \\[12pt] \downarrow\quad \text{解码网络将潜在状态 }z_i\text{ 映射为各基因的分数} \\[10pt] a_i=h_\theta(z_i) \\[12pt] \downarrow\quad \text{softmax:将分数归一化为表达比例} \\[10pt] \boxed{\rho_{ig}=\frac{\exp(a_{ig})}{\sum_{g'=1}^{G}\exp(a_{ig'})}}\qquad \sum_g\rho_{ig}=1 \\[12pt] \downarrow\quad \text{乘以已知的细胞总计数 }l_i \\[10pt] \boxed{\mu_{ig}=l_i\rho_{ig}} \\[12pt] \downarrow\quad \text{结合每个基因共享的可学习离散参数 }r_g \\[10pt] X_{ig}\sim\operatorname{NB}(\mu_{ig},r_g) \\[12pt] \downarrow\quad \text{计算实测计数 }x_{ig}\text{ 的负对数概率} \\[10pt] \boxed{L_{\rm expression}(H)=-\sum_{i,g}\log P_{\rm NB}\left(X_{ig}=x_{ig}\mid\mu_{ig}(H),r_g\right)} \\[12pt] \downarrow\quad \text{对潜变量采样取平均,再加先验约束} \\[10pt] \boxed{L_{\rm SAMS}=\mathbb E_q[L_{\rm expression}(H)]+D_{\rm KL}(q(H)\|p(H))} \\[12pt] \downarrow \\[6pt] \text{反向传播,更新参数} \end{gathered}

路线B:学习对照分布到处理分布的映射

《Learning single-cell perturbation responses using neural optimal transport》

背景前提:我们可以测量单细胞扰动之后的响应,但是这类数据它通常缺少时间分辨率,也就是不能够区分不同时间发生的变化,也就是我们无法同时获取扰动前和扰动后的生物样本信息。所以我们一般用对照组与扰动组之间的差异来推断,单细胞的扰动响应情况。

本文则希望建立对照组与扰动组之间的映射关系,来推断单细胞的扰动响应。

希望建立扰动前的细胞状态分布 ρc\rho_c,与扰动后的细胞状态分布ρk\rho_k之间的映射T。

本文:基于已有的生物学知识,我们可以假设扰动不会剧烈或彻底地改变细胞内部的基本过程。据此,我们提出:扰动后单细胞概率分布的变化,可以用最优传输的数学理论来建模。

scGen CellOT
核心预测步骤 x→编码z→+δz′→解码x^x\xrightarrow{\text{编码}}z\xrightarrow{+\delta}z'\xrightarrow{\text{解码}}\hat{x} x→Tk=∇gkx^x\xrightarrow{T_k=\nabla g_k}\hat{x}
扰动效应怎样表示 在潜在空间中估计一个扰动位移向量 δ\delta 从对照与扰动后的两组分布中学习一个传输映射 TkT_k
关键假设 扰动效应在学到的潜在空间中,可以用向量平移来近似 两组分布之间的响应关系,可以用最优传输映射来建模

核心公式原理:

  • 最优传输
  • 凸梯度结构
  • 对偶优化

据此延伸的训练过程:

输入:对照组细胞状态xix_i和扰动组细胞状态yjy_j。

我们设计g函数,来对每一个输入的xi生成对应的预测状态。

由于我们分别在对照组和扰动组抽取样本,他们无法形成一一对应关系,所以在计算损失函数时不能采取真实配对的损失,如:∑i∥T(xi)−yi∥2\sum_i\lVert T(x_i)-y_i\rVert^2。故而我们设计f函数。我们将预测的和测量的都输入f函数,再进行相减等操作来计算损失。

max⁡ϕmin⁡θ[1n∑i=1nfϕ(∇xgθ(xi))−1n∑i=1n⟨xi,∇xgθ(xi)⟩−1m∑j=1mfϕ(yj)]⏟L(θ,ϕ).(批次形式)\max_{\phi}\min_{\theta}\underbrace{\left[\frac{1}{n}\sum_{i=1}^{n}f_\phi\bigl(\nabla_xg_\theta(x_i)\bigr)-\frac{1}{n}\sum_{i=1}^{n}\bigl\langle x_i,\nabla_xg_\theta(x_i)\bigr\rangle-\frac{1}{m}\sum_{j=1}^{m}f_\phi(y_j)\right]}_{L(\theta,\phi)}.\qquad(\text{批次形式})

其中,xix_i 是对照细胞,yjy_j 是实测处理细胞;两组分别抽取 nn 和 mm 枚,无需逐个配对。

先对每枚对照细胞生成预测状态:

zi=Tθ(xi)=∇xgθ(xi)∈Rd.z_i=T_\theta(x_i)=\nabla_xg_\theta(x_i)\in\mathbb{R}^d.

于是方括号内可简写为:

L(θ,ϕ)=1n∑ifϕ(zi)⏟① 预测细胞的 f 输出均值−1n∑i⟨xi,zi⟩⏟② 原状态与预测状态的内积均值−1m∑jfϕ(yj)⏟③ 实测处理细胞的 f 输出均值.L(\theta,\phi)=\underbrace{\frac{1}{n}\sum_i f_\phi(z_i)}_{\text{① 预测细胞的 }f\text{ 输出均值}}-\underbrace{\frac{1}{n}\sum_i\langle x_i,z_i\rangle}_{\text{② 原状态与预测状态的内积均值}}-\underbrace{\frac{1}{m}\sum_j f_\phi(y_j)}_{\text{③ 实测处理细胞的 }f\text{ 输出均值}}.
  • ① fϕ(zi)f_\phi(z_i):让 ff 给每枚预测细胞输出一个数,然后取平均。这个数不是概率。
  • ② ⟨xi,zi⟩\langle x_i,z_i\rangle:计算一枚对照细胞与由它预测出的细胞状态的内积,然后取平均。这项来自最优传输目标。
  • ③ fϕ(yj)f_\phi(y_j):让同一个 ff 给每枚实测处理细胞输出一个数,然后取平均。这里的 yjy_j 不需要与 xix_i 配对。

预测:

输入 x:

x^ik=Tk(xic)=∇gθk∗(xic).\hat{x}_i^k=T_k(x_i^c)=\nabla g_{\theta_k^*}(x_i^c).

得到预测值。

正在读

《Squidiff: predicting cellular development and responses to perturbations using a diffusion model》

扩散模型

感悟

  • 感觉读的越来越快了