Pdch's log

Back

LZN的无监督方法介绍Blur image

写在前面#

Latent Zoning Network: A Unified Principle for Generative Modeling, Representation Learning, and Classification 是一篇由 Microsoft 发表在 NeurIPS 2025 的论文,通过“共享高斯潜在空间 + 编码器/解码器对”将三类任务统一为同一框架下的不同“翻译”操作,从而简化流程、促进任务间协同。

国庆节前笔者当时正在苦想latent可以通过何种方法进行手动设计以及无监督领域可以如何应用flow matching,当晚就刷到了新鲜出炉的LZN,很合胃口,遂决定花时间深入研究一番,并撰写本文以分享理解与见解。

笔者假定读者了解无监督学习的基本概念,熟悉flow matching,以及在无监督学习/对比学习上对截至到BYOL/SimSiam等方法的主流思路有一定认识。

没有的话也没关系,本文会尽量做到通俗易懂。以及这篇文章比较好的列出了发展脉络,适合想要入门的读者阅读:万字长文谈图像中的无监督学习(Moco、Simclr、BYOL、SimSiam、SwAV、MAE、IPT)

本文主要关注LZN的无监督学习方法,即论文中的 “Case Study 2: Unsupervised Representation Learning” 部分,接下来我会对这部分进行详细介绍与分析。

LZN的无监督方法#

首先我们需要弄清楚LZN定义了两个重要步骤:潜在计算(Latent Computation)和潜在对齐(Latent Alignment)。

Latent Computation#

下面是潜在计算的步骤:

  1. 同一种数据类型的样本:X={x1,,xn}\mathcal{X}=\left\{x_{1}, \ldots, x_{n}\right\}
  2. z1,,zn=C(X)z_1,\ldots,z_n=C\left(\mathcal{X}\right):随机潜在计算函数 CC 将样本映射到潜在空间,得到潜在表示。其中 znz_n 遵循高斯分布 N(0,I)\mathcal{N}\left(0,\mathbf{I}\right),并且不同样本的潜在区域是互不重叠的,这点我们后面会看到。
  3. 我们使用一个确定的编码器 ExE_x 将样本 xix_i 映射到锚点anchor aia_i,即 ai=Ex(xi)a_i=E_x\left(x_i\right)
  4. 使用流匹配(FM)方法在分布间建立一对一映射关系,将锚点映射到潜在表示。特别的,我们定义一族分布πt\pi_t,端点(期望的先验潜在分布)是π0=N(0,I)\pi_0=\mathcal{N}\left(0,\mathbf{I}\right),以及π1(s)=1ni=1nδ(sai)\pi_{1}(s)=\frac{1}{n}\sum_{i=1}^{n}\delta(s-a_{i})(锚点的分布,δ\delta是Dirac delta函数)。中间的分布πt\pi_t通过线性插值定义:πt=(1t)π0+tπ1\pi_{t}=\left(1-t\right)\pi_0+t\pi_1。那么FM的速度场: V(s,t)Es0π0,s1π1(φ(s0,s1,t)tφ(s0,s1,t)=s)=i=1n(ais)exp((stai)22(1t)2)(1t)i=1nexp((stai)22(1t)2).V(s,t)\triangleq\mathbb{E}_{s_0\sim\pi_0,s_1\sim\pi_1}\left(\frac{\partial\varphi(s_0,s_1,t)}{\partial t}|\varphi(s_0,s_1,t)=s\right)=\frac{\sum_{i=1}^n(a_i-s)\exp\left(-\frac{(s-ta_i)^2}{2(1-t)^2}\right)}{(1-t)\sum_{i=1}^n\exp\left(-\frac{(s-ta_i)^2}{2(1-t)^2}\right)}.
  5. 我们可以通过沿FM轨迹积分得到:st=FMx(s0;t)s0+τ=0tV(sτ,τ)dτs_t = \text{FM}_x(s_0; t) \triangleq s_0 + \int_{\tau=0}^{t} V(s_\tau, \tau) \, \mathrm{d}\tau,其中s0π0s_0\sim\pi_0。可以确定地说,sts_t的分布就是πt\pi_t。同样,通过反向过程:st=IFMx(s1g;t)s1g+τ=1gtV(sτ,τ)dτ for s1gπ1g(1g)π1+gN(0,I)s_t = \text{IFM}_x(s_{1-g}; t) \triangleq s_{1-g} + \int_{\tau=1-g}^{t} V(s_\tau, \tau) \, \mathrm{d}\tau \text{ for } s_{1-g} \sim \pi_{1-g} \triangleq (1-g)\pi_1 + g\mathcal{N}(0, \mathbf{I})也可以得到πt\pi_t,其中g[0,1]g\in[0,1]是一个小的常数。
  6. 略微滥用一下符号,我们也用st=IFMx(ai,ϵi,t)s_t=\text{IFM}_x(a_i,\epsilon_i,t)来表示IFMx(s1g;t)\text{IFM}_x(s_{1-g}; t),其中s1g=(1g)ai+gϵis_{1-g}=(1-g)a_i+g\epsilon_i。基于上述设置我们可以定义潜在计算函数: zi=C(X)iIFMx(ai,ϵi;0),where ϵiN(0,I).z_i = C(\mathcal{X})_i \triangleq \text{IFM}_x\left(a_i, \epsilon_i; 0\right), \quad \text{where } \epsilon_i \sim \mathcal{N}(0, \mathbf{I}). 由于构造了FM,我们可以保证先验分布是高斯的,并且不同样本的潜在区域是互不重叠的。在点在论文的附录A.1中有更详细的解释。

在实现中计算CC涉及一个积分操作,使用数值方法进行近似,例如Euler或者DPM-Solver.

截止到这里我们已经知道如何进行计算,但是我们仍然不知道如何进行有效的训练,这正是接下来我们要介绍的部分。

Latent Alignment#

X={x1,,xn}\mathcal{X} = \{x_1, \ldots, x_n\}Y={y1,,ym}\mathcal{Y} = \{y_1, \ldots, y_m\} 是来自不同数据类型的两个数据集。配对由 kik_i 定义,其中 yiy_i(例如,一张猫的图片)与 xkix_{k_i}(例如,“猫”标签)配对。我们的目标是确保 Supp(C(X)ki)Supp(C(Y)i)\text{Supp}\left(C\left(\mathcal{X}\right)_{k_i}\right) \supseteq \text{Supp}\left(C\left(\mathcal{Y}\right)_i\right) 对于所有 i[m]i \in [m] 成立,这意味着 xkix_{k_i} 的潜在区域覆盖了 yiy_i 的区域。这种表述直接支持多对一的对齐。对于一对一的对齐,可以通过交换 xxyy 添加一个对称约束。

给定FM积分轨迹,对齐问题简化为确保当 yiy_i 通过轨迹映射时,其潜在点与 xkix_{k_i} 的锚点匹配:FMx(C(Y)i;1)=Ex(xki)\text{FM}_x\left(C\left(\mathcal{Y}\right)_i; 1\right) = E_x\left(x_{k_i}\right)

一个重大挑战是:离散分配不可微。在介绍我们的解决方案之前,我们通过检查简单的方法来说明为什么这个问题并不简单。一个自然的想法是直接最小化距离:d(FMx(C(Y)i;1),Ex(xki))d\left(\text{FM}_x\left(C\left(\mathcal{Y}\right)_i; 1\right), E_x\left(x_{k_i}\right)\right),其中 d(,)d(\cdot, \cdot) 是一个距离度量。这种方法失败了,因为FM确定性地将每个潜在点映射到恰好一个锚点 Ex(xj)E_x\left(x_j\right),因此上述目标实际上变成了最小化锚点之间的距离。然而,一个潜在区域受到所有锚点的影响,而不仅仅是它自己的。因此,减少一对锚点之间的距离并不一定改善区域级别的对齐。更根本的是,核心挑战在于FM引发了一个离散分配:每个潜在点确定性地映射到一个锚点。这种离散操作是不可微的,不能在训练期间直接优化。

解决方案:

对齐的软近似。#

为了解决这个问题,我们的关键思想是引入离散锚点分配过程的软近似。让我们定义 sti=FMx(C(Y)i;t)s_t^i = \text{FM}_x\left(C\left(\mathcal{Y}\right)_i; t\right)al=Ex(xl)a_l = E_x\left(x_l\right)。根据构造,分布 πt\pi_t 是高斯混合:πt=1nl=1nN(tal,(1t)2I)\pi_t = \frac{1}{n} \sum_{l=1}^{n} \mathcal{N}(t a_l, (1-t)^2 \mathbf{I}),其中第 ll 个分量对应于锚点 ala_l。我们定义 stis_t^i 被分配到 ala_l 的(软)概率为在第 ll 个高斯分量下 stis_t^i 的密度的比例:

P(alsti)=exp(stital22(1t)2)j=1nexp(stitaj22(1t)2).\mathbb{P}\left(a_l \vert s_t^i\right) = \frac{\exp\left(-\frac{\|s_t^i - t a_l\|^2}{2(1-t)^2}\right)}{\sum_{j=1}^{n} \exp\left(-\frac{\|s_t^i - t a_j\|^2}{2(1-t)^2}\right)}.

这种公式提供了一种平滑的、可微的近似方法,用于处理原本离散的分配问题。当 t=0t=0 时,近似完全平滑,对于所有的 i,li, l,有 P(als0i)=1/n\mathbb{P}\left(a_l \vert s_0^i\right) = 1/n,反映了一种均匀分配。随着 tt 增加到 1,分配变得更加明确。当 t1t \to 1 的极限时,它收敛到真正的离散分配,其中 stis_t^i 确定性地映射到其分配的锚点。 由此,一个简单的想法是最大化所有时间步上的分配概率,例如 t{t1,,tr}P(akisti)\sum_{t \in \{t_1, \ldots, t_r\}} \mathbb{P}\left(a_{k_i} \vert s_t^i\right)(回忆 tit_i 是求解器时间步;参见 § 2.2.1)。然而,我们的最终目标仅是在 t=1t=1 时确保正确的分配。即使实现了这一点,上述目标仍将继续推动中间状态 sts_takia_{k_i} 靠拢,这是不必要的,并且可能有害。

优化最大分配概率。#

为了避免这个问题,我们建议最大化 maxt{t1,,tr}P(akisti)\max_{t \in \{t_1, \ldots, t_r\}} \mathbb{P}\left(a_{k_i} \vert s_t^i\right)。这确保了一旦轨迹在 t=1t=1 附近达到正确的锚点,目标对象就被最大化(即等于1),并且不再应用进一步的梯度,正如所期望的那样。

早期步骤截断。#

然而,这种方法引入了一个新的问题:如果 sts_t 在早期就偏离了 akia_{k_i},那么最大概率将保持在常数 1/n1/n(在 t=t1=0t = t_1 = 0 时达到),从而不产生任何训练信号。为了缓解这个问题,我们截断用于最大化的时间步集合,将其限制在轨迹的后期阶段:{tu,,tr}\{t_u, \ldots, t_r\},其中 uu 是一个排除早期时间步的超参数。综合起来,我们提出的对齐目标是:

Align(X,Y)maximizei=1mmaxt{tu,,tr}P(akisti).\text{Align}(\mathcal{X}, \mathcal{Y}) \triangleq \text{maximize} \sum_{i=1}^{m} \max_{t \in \{t_u, \ldots, t_r\}} \mathbb{P}\left(a_{k_i} \vert s_t^i\right).

附录B给出了更详细的实现细节。

总结LZN的两个关键操作#

潜在计算(Latent Computation)通过流匹配将数据样本的锚点映射到高斯潜在空间,确保不同样本的潜在区域互不重叠。潜在对齐(Latent Alignment)通过引入软近似和优化最大分配概率,解决了离散分配不可微的问题,实现了不同数据类型之间的有效对齐。

使用口语化的说法,FM就像是一条“传送带”,它将数据点从一个空间平滑地移动到另一个空间。潜在计算操作则是计算每个样本的锚点被分配到每条传送带上的概率,而潜在对齐操作则确保这些传送带最终将样本正确地送达其目标位置。

一句话总结Case Study 2无监督表征学习#

潜在计算所需的数据集X\mathcal{X}Y\mathcal{Y}分别是无标签图像数据集和经过数据增强后的图像数据集,通过潜在对齐确保增强后的图像在潜在空间中的表示与原始图像的表示一致,从而实现无监督表征学习。

后记#

这篇文章出现之前我就一直在想如何对latent,representation或者说embedding进行手动设计,VAE通过将后验分布拟合为高斯分布,Kl散度正则化和重参数化技巧实现了可控生成与强泛化;

后面发展出来的VQ-VAE和RQ-VAE通过将连续隐空间离散化为有限的codebook和Straight-Through Estimator操作获得了离散空间的优越性,实现了更高质量的生成与更强的表达能力;

MVEB将最小充分表示的学习目标从 互信息优化 转化为 对齐性 + 均匀性 的显式组合,使用基于vMF核的分数熵估计器,在超球面上直接估计熵的梯度,无需引入VAE式的随机网络,之前的SimCLR/moco需要大量的负样本对比,而BYOL/SimSiam等方法则通过引入动量编码器和stop-gradient操作避免了模式崩溃,这些方法都在不同程度上对latent空间进行了设计与优化;

LZN则是利用构造出的FM轨迹天生不可能相交的性质,实现了不同样本潜在区域的互不重叠,在设计上就不会出现模式崩溃的问题,同时通过潜在对齐的设计实现了不同数据类型间的有效对齐;

LeJEPA(Latent-Euclidean Joint-Embedding Predictive Architecture)是Yann LeCun等人于2025年11月提出的最新自监督学习框架,作为JEPA系列的”收官之作”,其核心贡献在于用理论严谨性替代经验启发式,解决了表示坍缩这一根本问题,首次从理论上证明:各向同性高斯分布(isotropic Gaussian)是唯一最小化下游预测风险的嵌入分布,为实现该分布,LeJEPA提出速写各向同性高斯正则化(SIGReg),SIGReg的思路非常巧妙,它借鉴了Cramér-Wold定理的思想:如果两个高维分布在所有一维投影上的分布都相同,那么这两个高维分布本身就是相同的。SIGReg正是利用了这一点:

  1. 速写(Sketching):在每次训练迭代中,随机生成若干个(比如几百个)1D投影方向。
  2. 投影(Projection):将一批高维的嵌入向量,分别投影到这些1D方向上,得到若干组一维数据。
  3. 匹配(Matching):使用一个高效的统计检验方法(论文推荐了稳定且可微的Epps-Pulley检验),来计算这些一维数据与标准高斯分布之间的差异。
  4. 正则化(Regularization):将这个差异作为正则化项加入到总损失中,从而“督促”编码器生成的嵌入分布向各向同性高斯分布看齐。1

MVEB等最小充分表示学习方法是在超球面上约束latent为均匀分布,而LeJEPA则是通过SIGReg将latent约束为各向同性高斯分布,相较于超球面上的均匀分布来说,各向同性高斯分布在理论上有更好的性质,更适合用作下游任务的输入分布。

那么读者就要问了,笔者笔者,这么好的方法,你为什么不用呢?笔者只能看着paper附录写着的几百数千的A100 GPU卡时笑而不语了。

Footnotes#

  1. Yann LeCun团队新作LeJEPA:单超参、50行代码,实现可证明、可扩展的自监督学习

LZN的无监督方法介绍
https://pd-ch.github.io/blog/2025-10-17-latent-zoning-network-interpretation
Author Pdch
Published at October 17, 2024
Comment seems to stuck. Try to refresh?✨