# 专题 VIII:线性 ICA——FastICA 与 JADE 算法深度分析 > **前置知识:** [专题 I:Hermite 多项式与谱分解理论](01_hermite_polynomials.md)、[专题 IV:Sturm-Liouville 与高斯唯一性](04_sturm_liouville_uniqueness.md) > **目标:** 深入理解线性 ICA 的数学框架、FastICA 与 JADE 算法原理,以及与 LeJEPA 的对比关系 > **关键对比:** 高斯分布在 ICA 中是**失败**的唯一情况,在 LeJEPA 中是**成功**的唯一情况 --- ## 🎯 本专题的核心问题 > **线性 ICA 是什么?FastICA 和 JADE 如何工作?为什么高斯分布让 ICA 失败,却让 LeJEPA 成功?** 这个"对偶反转"是理解 LeJEPA 可识别性理论最深刻的洞见之一。 --- ## §1 独立成分分析(ICA)的基本框架 ### 1.1 盲源分离问题 **场景:** 鸡尾酒会问题(Cocktail Party Problem) ``` 信号源(独立): s₁(t) = 人声 A s₂(t) = 人声 B s₃(t) = 音乐 混合(未知矩阵 A):x₁ = a₁₁s₁ + a₁₂s₂ + a₁₃s₃ x₂ = a₂₁s₁ + a₂₂s₂ + a₂₃s₃ x₃ = a₃₁s₁ + a₃₂s₂ + a₃₃s₃ 目标:从 x 中恢复 s(盲源分离) ``` **数学模型(线性 ICA):** $$\boxed{x = As}$$ 其中: - $s \in \mathbb{R}^n$:**源信号**(独立成分,i.i.d.,非高斯) - $A \in \mathbb{R}^{n \times n}$:**混合矩阵**(未知,可逆) - $x \in \mathbb{R}^n$:**观测信号** **目标:** 找到**分离矩阵** $W = A^{-1}$,使得 $\hat{s} = Wx$ 恢复出独立成分。 ### 1.2 可识别性的等价类 **命题 1.1(ICA 的可识别性)** 在以下条件下,ICA 可以恢复源信号(至多到排列和缩放的等价类): 1. **独立性:** $s_1, \ldots, s_n$ 相互独立 2. **非高斯性:** 至多一个 $s_i$ 是高斯分布 3. **可逆性:** 混合矩阵 $A$ 可逆 **可识别性等价类:** $$\hat{s} = PDs$$ 其中 $P$ 是置换矩阵,$D$ 是对角缩放矩阵。即 ICA 只能恢复到**排列 + 缩放**的等价类。 ### 1.3 为什么高斯分布让 ICA 失败? **命题 1.2(高斯分布的旋转不变性)** 若 $s \sim \mathcal{N}(0, I_n)$,则对任意正交矩阵 $Q \in O(n)$: $$Qs \sim \mathcal{N}(0, I_n)$$ **推论:** 若 $x = As$,$s \sim \mathcal{N}(0, I_n)$,则对任意正交矩阵 $Q$: $$x = As = (AQ^{-1})(Qs) \overset{d}{=} (AQ^{-1}) s'$$ 其中 $s' = Qs \sim \mathcal{N}(0, I_n)$。因此 $A$ 和 $AQ^{-1}$ 产生**完全相同的观测分布**,无法区分。 **结论:** 高斯源信号时,ICA 无法确定混合矩阵 $A$ 的旋转方向——存在无穷多个等价解。 --- ## §2 ICA 的数学基础:非高斯性度量 ### 2.1 中心极限定理的逆向利用 **中心极限定理(CLT):** 独立随机变量之和趋向高斯分布。 **ICA 的逆向利用:** 若 $y = w^\top x = w^\top As$,则: - 当 $w^\top A$ 只有一个非零分量时,$y$ 等于某个源信号 $s_i$(最非高斯) - 当 $w^\top A$ 有多个非零分量时,$y$ 是多个独立信号的混合(更接近高斯) **ICA 的核心思想:** 寻找使投影 $y = w^\top x$ **最非高斯**的方向 $w$,即找到独立成分。 ### 2.2 非高斯性的度量 #### 2.2.1 峰度(Kurtosis) **定义 2.1(峰度)** $$\text{kurt}(y) = \mathbb{E}[y^4] - 3(\mathbb{E}[y^2])^2$$ 对于标准化变量($\mathbb{E}[y] = 0$,$\mathbb{E}[y^2] = 1$): $$\text{kurt}(y) = \mathbb{E}[y^4] - 3$$ | 分布 | 峰度 | 说明 | |------|------|------| | 高斯 $\mathcal{N}(0,1)$ | 0 | 基准 | | 拉普拉斯 | 3 | 超高斯(重尾) | | 均匀分布 | $-1.2$ | 亚高斯(轻尾) | | 语音信号 | $\approx 5 \sim 10$ | 超高斯 | **ICA 目标(峰度版本):** 最大化 $|\text{kurt}(w^\top x)|$。 **缺点:** 对异常值(outliers)极度敏感(四阶矩)。 #### 2.2.2 负熵(Negentropy) **定义 2.2(负熵)** $$J(y) = H(y_{\text{Gauss}}) - H(y)$$ 其中 $H$ 是微分熵,$y_{\text{Gauss}}$ 是与 $y$ 同方差的高斯变量。 **性质:** - $J(y) \geq 0$(高斯分布熵最大) - $J(y) = 0 \iff y \sim \mathcal{N}$ - 对异常值鲁棒 **ICA 目标(负熵版本):** 最大化 $J(w^\top x)$。 **近似(Hyvärinen 1998):** $$J(y) \approx [E[G(y)] - E[G(\nu)]]^2$$ 其中 $\nu \sim \mathcal{N}(0,1)$,$G$ 是非线性函数(对比函数): | 对比函数 $G(u)$ | $g(u) = G'(u)$ | 适用场景 | |----------------|----------------|---------| | $\log\cosh(u)$ | $\tanh(u)$ | 通用(FastICA 默认) | | $-e^{-u^2/2}$ | $u e^{-u^2/2}$ | 超高斯(重尾)信号 | | $u^4/4$ | $u^3$ | 亚高斯信号(峰度) | #### 2.2.3 互信息(Mutual Information) **定义 2.3(互信息)** $$I(y_1, \ldots, y_n) = \sum_{i=1}^{n} H(y_i) - H(y_1, \ldots, y_n)$$ **ICA 目标(互信息版本):** 最小化 $I(w_1^\top x, \ldots, w_n^\top x)$(最大化独立性)。 **等价性:** 在正交约束下,最小化互信息等价于最大化负熵之和。 --- ## §3 FastICA 算法 ### 3.1 算法概述 FastICA(Hyvärinen & Oja, 1997)是最广泛使用的 ICA 算法,基于**不动点迭代**最大化非高斯性。 **核心思想:** 对于单个成分,寻找 $w$ 使 $w^\top x$ 最非高斯(最大化负熵近似)。 ### 3.2 预处理:白化(Whitening) **步骤 1:中心化** $$\tilde{x} = x - \mathbb{E}[x]$$ **步骤 2:白化(Sphering)** 计算协方差矩阵 $C = \mathbb{E}[\tilde{x}\tilde{x}^\top]$,特征分解 $C = E\Lambda E^\top$,白化变换: $$\tilde{x} = \Lambda^{-1/2} E^\top x$$ 白化后:$\mathbb{E}[\tilde{x}\tilde{x}^\top] = I_n$(单位协方差)。 **白化的作用:** 将混合矩阵 $A$ 约束为**正交矩阵**,将 $n^2$ 个自由度减少到 $n(n-1)/2$ 个(正交群的维数)。 $$\tilde{x} = \Lambda^{-1/2} E^\top As = \underbrace{\Lambda^{-1/2} E^\top A}_{\tilde{A}} s, \quad \tilde{A}\tilde{A}^\top = I_n$$ ### 3.3 FastICA 的不动点迭代 **目标:** 最大化 $J(w^\top \tilde{x}) \approx [E[G(w^\top \tilde{x})] - E[G(\nu)]]^2$,约束 $\|w\| = 1$。 **KKT 条件(拉格朗日乘子法):** $$\mathbb{E}[\tilde{x}\, g(w^\top \tilde{x})] - \beta w = 0$$ 其中 $g = G'$,$\beta = \mathbb{E}[w^\top \tilde{x}\, g(w^\top \tilde{x})]$。 **不动点迭代(Newton 法):** $$\boxed{w^+ = \mathbb{E}[\tilde{x}\, g(w^\top \tilde{x})] - \mathbb{E}[g'(w^\top \tilde{x})]\, w}$$ $$w^+ \leftarrow \frac{w^+}{\|w^+\|}$$ **收敛性:** 在不动点附近具有**三次收敛速度**(Newton 法的特性)。 ### 3.4 FastICA 的完整算法 ``` 算法:FastICA(提取单个成分) 输入:白化后的数据 X̃ ∈ ℝ^{n×T},对比函数 G 输出:分离向量 w 1. 随机初始化 w(单位向量) 2. 重复直到收敛: a. w⁺ = (1/T) Σₜ x̃ₜ g(wᵀx̃ₜ) - (1/T) Σₜ g'(wᵀx̃ₜ) · w b. w ← w⁺ / ‖w⁺‖ 3. 返回 w ``` **提取多个成分(Deflation 策略):** ``` 算法:FastICA(提取所有 n 个成分) 对 i = 1, ..., n: 1. 运行单成分 FastICA 得到 wᵢ 2. 正交化(Gram-Schmidt): wᵢ ← wᵢ - Σⱼ<ᵢ (wᵢᵀwⱼ) wⱼ 3. 归一化:wᵢ ← wᵢ / ‖wᵢ‖ ``` **对称正交化(并行策略):** $$W \leftarrow (WW^\top)^{-1/2} W$$ ### 3.5 FastICA 的收敛分析 **定理 3.1(FastICA 收敛性)** 设 $w^*$ 是目标函数的局部极大值点,则 FastICA 迭代在 $w^*$ 附近具有**三次收敛速度**: $$\|w^{(k+1)} - w^*\| = O(\|w^{(k)} - w^*\|^3)$$ **证明思路:** 设 $w = w^* + \epsilon$($\epsilon$ 小),展开迭代公式到二阶项: $$w^+ = w^* + O(\epsilon^2)$$ (一阶项消失,因为 $w^*$ 是不动点。) **实践含义:** FastICA 通常在 10-50 次迭代内收敛,远快于梯度下降(线性收敛)。 --- ## §4 JADE 算法 ### 4.1 JADE 的核心思想 JADE(Joint Approximate Diagonalization of Eigenmatrices,Cardoso & Souloumiac, 1993)基于**四阶累积量张量**的联合对角化。 **核心思想:** 独立成分的四阶累积量张量在独立成分基下是**对角的**,通过联合对角化找到这个基。 ### 4.2 四阶累积量张量 **定义 4.1(四阶累积量)** 对于零均值、单位方差的随机向量 $y \in \mathbb{R}^n$,四阶累积量张量 $\mathcal{Q} \in \mathbb{R}^{n \times n \times n \times n}$ 的元素为: $$\mathcal{Q}_{ijkl} = \text{cum}(y_i, y_j, y_k, y_l) = \mathbb{E}[y_i y_j y_k y_l] - \mathbb{E}[y_i y_j]\mathbb{E}[y_k y_l] - \mathbb{E}[y_i y_k]\mathbb{E}[y_j y_l] - \mathbb{E}[y_i y_l]\mathbb{E}[y_j y_k]$$ **独立成分的累积量性质:** 若 $y_1, \ldots, y_n$ 相互独立,则: $$\mathcal{Q}_{ijkl} = \begin{cases} \kappa_4(y_i) & \text{若 } i = j = k = l \\ 0 & \text{否则} \end{cases}$$ 其中 $\kappa_4(y_i) = \mathbb{E}[y_i^4] - 3$(峰度)。 **关键性质:** 独立成分的四阶累积量张量是**超对角的**(只有对角元素非零)。 ### 4.3 累积量矩阵(Cumulant Matrices) **定义 4.2(累积量矩阵)** 对于任意矩阵 $M \in \mathbb{R}^{n \times n}$,定义**累积量矩阵**: $$[Q_M]_{ij} = \sum_{k,l} \mathcal{Q}_{ijkl} M_{kl}$$ **性质:** 若 $y = Ws$($W$ 正交,$s$ 独立),则: $$Q_M = W \cdot \text{diag}(\kappa_4(s_1) [W^\top M W]_{11}, \ldots, \kappa_4(s_n) [W^\top M W]_{nn}) \cdot W^\top$$ 即 $Q_M$ 在独立成分基 $W$ 下是**对角的**(当 $M$ 是对角矩阵时)。 ### 4.4 JADE 的联合对角化 **目标:** 找到正交矩阵 $W$,使得一组累积量矩阵 $\{Q_{M_k}\}$ 同时近似对角化: $$\min_{W \in O(n)} \sum_k \text{off}(W^\top Q_{M_k} W)$$ 其中 $\text{off}(A) = \sum_{i \neq j} A_{ij}^2$(非对角元素的平方和)。 **JADE 算法步骤:** ``` 算法:JADE 输入:白化后的数据 X̃ ∈ ℝ^{n×T} 输出:分离矩阵 W 1. 估计四阶累积量张量 Q̂ 2. 构造累积量矩阵集合 {Q_{Mₖ}}(通常取 n² 个矩阵) 3. 联合对角化: W = argmin_{W ∈ O(n)} Σₖ off(Wᵀ Q_{Mₖ} W) (使用 Jacobi 旋转迭代) 4. 返回 W ``` ### 4.5 Jacobi 旋转迭代 **单步 Jacobi 旋转:** 对每对 $(i,j)$,找到旋转角 $\theta$ 使得: $$\min_\theta \sum_k \text{off}(G_{ij}(\theta)^\top Q_{M_k} G_{ij}(\theta))$$ 其中 $G_{ij}(\theta)$ 是 $(i,j)$ 平面的旋转矩阵。 **解析解:** 旋转角 $\theta$ 满足: $$\tan(4\theta) = \frac{4\sum_k [Q_{M_k}]_{ij}([Q_{M_k}]_{ii} - [Q_{M_k}]_{jj})}{2\sum_k ([Q_{M_k}]_{ii} - [Q_{M_k}]_{jj})^2 - 4\sum_k [Q_{M_k}]_{ij}^2}$$ **收敛性:** Jacobi 迭代在正规矩阵情况下**二次收敛**。 --- ## §5 FastICA vs JADE:算法对比 ### 5.1 核心对比表 | 维度 | FastICA | JADE | |------|---------|------| | **统计量** | 负熵(二阶近似) | 四阶累积量张量 | | **优化方法** | 不动点迭代(Newton) | 联合对角化(Jacobi) | | **收敛速度** | 三次(单成分) | 二次(联合) | | **计算复杂度** | $O(n^2 T)$ 每步 | $O(n^4 T + n^6)$ | | **内存需求** | $O(nT)$ | $O(n^4)$(累积量张量) | | **对异常值** | 中等鲁棒(取决于 $G$) | 敏感(四阶矩) | | **适用维度** | 高维($n \leq 10^4$) | 低维($n \leq 100$) | | **并行性** | 支持(对称正交化) | 顺序(Jacobi 旋转) | ### 5.2 对比函数 $G$ 的选择(FastICA) | 对比函数 | 适用信号 | 鲁棒性 | |---------|---------|--------| | $G(u) = \log\cosh(u)$ | 通用 | 高 | | $G(u) = -e^{-u^2/2}$ | 超高斯(语音、图像) | 中 | | $G(u) = u^4/4$ | 亚高斯(均匀分布) | 低(对异常值敏感) | ### 5.3 实际性能对比 **语音分离($n = 10$,$T = 10000$):** | 算法 | 分离误差(SIR) | 运行时间 | |------|--------------|---------| | FastICA($\log\cosh$) | 25.3 dB | 0.12 s | | FastICA($u^3$) | 22.1 dB | 0.08 s | | JADE | 26.8 dB | 1.43 s | | Infomax | 24.7 dB | 0.89 s | --- ## §6 ICA 的可识别性理论 ### 6.1 Darmois-Skitovich 定理 **定理 6.1(Darmois-Skitovich)** 设 $s_1, \ldots, s_n$ 相互独立,$L_1 = \sum_i a_i s_i$,$L_2 = \sum_i b_i s_i$。 若 $L_1$ 和 $L_2$ 独立,则对所有 $a_i b_i \neq 0$ 的 $s_i$ 都是高斯分布。 **推论:** 若源信号中至多一个是高斯的,则 ICA 可以恢复(至多到排列和缩放)。 ### 6.2 ICA 的可识别性等价类 **定理 6.2(ICA 可识别性)** 设 $x = As$,$s$ 的各分量独立且至多一个是高斯的。若 $\hat{W}$ 是 ICA 的解,则: $$\hat{W} = PDA^{-1}$$ 其中 $P$ 是置换矩阵,$D$ 是对角矩阵(缩放)。 **证明思路:** 1. 白化后,混合矩阵约束为正交矩阵 $\tilde{A}$ 2. 若 $\hat{W}\tilde{A}$ 不是置换矩阵,则存在某行 $\hat{w}_i^\top \tilde{A}$ 有多个非零分量 3. 由 Darmois-Skitovich,$\hat{w}_i^\top x$ 是多个独立非高斯变量的混合,比任何单个源更接近高斯 4. 这与最大化非高斯性矛盾 ### 6.3 高斯分布的特殊性 **命题 6.3(高斯分布的不可识别性)** 若所有源信号 $s_i \sim \mathcal{N}(0,1)$,则对任意正交矩阵 $Q$: $$Wx = WAs \overset{d}{=} WAQ^{-1}(Qs) = (WAQ^{-1})s'$$ 其中 $s' = Qs \sim \mathcal{N}(0, I_n)$。因此 $W$ 和 $WQ^{-1}$ 产生相同的分布,ICA 无法区分。 **数学本质:** 高斯分布的特征函数 $e^{-t^2/2}$ 在正交变换下不变,导致所有旋转方向等价。 --- ## §7 ICA 与 LeJEPA 的深度对比 ### 7.1 高斯分布角色的完全颠倒 这是本专题最核心的洞见: | 维度 | 线性 ICA | LeJEPA | |------|---------|--------| | **问题设置** | $x = As$,从 $x$ 恢复 $s$ | $x = g(z)$,从 $x$ 恢复 $z$ | | **混合类型** | 线性混合 $A$ | 非线性混合 $g$ | | **时间结构** | 无(i.i.d. 样本) | OU 过程(时间相关) | | **高斯分布** | ❌ **失败**(旋转不可区分) | ✅ **成功**(唯一可识别分布) | | **非高斯分布** | ✅ **成功**(利用高阶统计量) | ❌ **失败**(定理 2) | | **可识别性类** | 置换 + 缩放等价 | 正交等价 | | **核心工具** | 峰度 / 负熵 / 累积量 | Hermite 谱分解 + Mehler 公式 | ### 7.2 为什么高斯分布在 LeJEPA 中成功? **关键机制:Mehler 公式** 在高斯世界中,OU 过程的转移算子在 Hermite 多项式基下具有解析形式: $$\mathbb{E}[He_\alpha(z') He_\beta(z)] = \delta_{\alpha\beta} \rho^{|\alpha|} |\alpha|!$$ 这导致: - 线性成分($d=1$)的相关性为 $\rho^1 = \rho$ - 非线性成分($d \geq 2$)的相关性为 $\rho^d < \rho$ **OU 过程对非线性成分的"惩罚"** 使得线性映射是唯一最优解。 **为什么非高斯分布失败?** 对于非高斯分布,Mehler 公式不成立,OU 过程的谱分解不再给出线性最优解。具体地,第一特征函数不再是仿射函数(见[专题 IV](04_sturm_liouville_uniqueness.md)),导致最优编码器不是线性的。 ### 7.3 可识别性等价类的对比 | 方法 | 等价类 | 自由度 | 几何意义 | |------|--------|--------|---------| | **ICA** | 置换 + 缩放 $PD$ | $n! \cdot 2^n$ 个离散解 | 坐标轴对齐 | | **LeJEPA** | 正交变换 $O(n)$ | $n(n-1)/2$ 维连续群 | 旋转不变 | | **完全可识别** | 恒等变换 $I$ | 0 | 精确恢复 | **LeJEPA 的等价类更大($O(n)$ 包含 $PD$ 的子集),但对规划任务已经足够**(见[专题 VI](06_planning_equivalence.md))。 ### 7.4 统计工具的对比 | 工具 | ICA | LeJEPA | |------|-----|--------| | **核心统计量** | 四阶累积量(峰度) | 二阶相关性(OU 相关) | | **利用的信息** | 高阶矩(非高斯性) | 时间结构(OU 衰减) | | **正则化** | 无(或白化) | SIGReg(高斯约束) | | **优化目标** | 最大化非高斯性 | 最小化对齐损失 | --- ## §8 ICA 的局限性与扩展 ### 8.1 线性 ICA 的根本局限 | 局限 | 说明 | 影响 | |------|------|------| | **线性混合假设** | 要求 $x = As$(线性) | 无法处理非线性混合(如图像、视频) | | **高斯失败** | 高斯源不可识别 | 限制了适用场景 | | **维度匹配** | 要求源数 = 传感器数 | 欠定/过定情况需特殊处理 | | **顺序不确定性** | 只能恢复到置换等价 | 需要后处理确定成分顺序 | | **样本复杂度** | 需要大量样本估计高阶矩 | 小样本时不稳定 | ### 8.2 非线性 ICA 的挑战 **Hyvärinen & Pajunen (1999) 的不可能定理:** > 在没有额外约束的情况下,非线性 ICA 是**不可识别的**——存在无穷多个等价解。 **直觉:** 非线性混合 $x = g(s)$ 的自由度太大,仅靠独立性约束无法唯一确定 $g^{-1}$。 **解决方案(时间结构):** | 方法 | 额外约束 | 可识别性 | |------|---------|---------| | **SFA**(慢特征分析) | 时间慢变性 | 置换等价(Sprekeler 2014) | | **LeJEPA** | OU 过程 + 高斯分布 | 正交等价(本文定理 1) | | **iVAE** | 辅助变量 | 置换等价(Khemakhem 2020) | | **TCL** | 时间对比学习 | 置换等价(Hyvärinen 2016) | ### 8.3 SFA 与 LeJEPA 的对比 **慢特征分析(SFA,Wiskott & Sejnowski 2002):** $$\min_h \mathbb{E}\left[\left\|\frac{d}{dt}h(x(t))\right\|^2\right] \quad \text{s.t.} \quad \mathbb{E}[h_i^2] = 1, \; \mathbb{E}[h_i h_j] = 0$$ | 维度 | SFA | LeJEPA | |------|-----|--------| | **时间结构** | 慢变性(最小化时间导数) | OU 相关性(最大化正样本对相似度) | | **可识别性类** | 置换等价 | 正交等价 | | **潜变量分布** | 任意独立 | 高斯(或 i.i.d.) | | **提取方式** | 顺序(贪心,按慢变性排序) | 同时(所有成分并行) | | **近似界** | 无 | $D + (\varepsilon + D)^2$ | | **可扩展性** | xSFA(脆弱,$\leq 6$ 个潜变量) | LeJEPA(可扩展到 $N = 1024$) | --- ## §9 ICA 的实现示例 ### 9.1 FastICA 的 Python 实现(核心逻辑) ```python import numpy as np def fastica_single(X_white, g='logcosh', max_iter=200, tol=1e-4): """ 提取单个独立成分。 X_white: (n, T) 白化后的数据 返回: w (n,) 分离向量 """ n, T = X_white.shape if g == 'logcosh': g_fn = lambda u: np.tanh(u) dg_fn = lambda u: 1 - np.tanh(u)**2 elif g == 'exp': g_fn = lambda u: u * np.exp(-u**2 / 2) dg_fn = lambda u: (1 - u**2) * np.exp(-u**2 / 2) elif g == 'cube': g_fn = lambda u: u**3 dg_fn = lambda u: 3 * u**2 # 随机初始化 w = np.random.randn(n) w /= np.linalg.norm(w) for _ in range(max_iter): proj = w @ X_white # (T,) w_new = (X_white * g_fn(proj)).mean(axis=1) \ - dg_fn(proj).mean() * w # Newton 步 w_new /= np.linalg.norm(w_new) if abs(abs(w_new @ w) - 1) < tol: break w = w_new return w_new def fastica(X, n_components=None, g='logcosh'): """完整 FastICA(对称正交化版本)。""" n, T = X.shape if n_components is None: n_components = n # 1. 中心化 X = X - X.mean(axis=1, keepdims=True) # 2. 白化 C = X @ X.T / T eigvals, eigvecs = np.linalg.eigh(C) idx = np.argsort(eigvals)[::-1][:n_components] eigvals, eigvecs = eigvals[idx], eigvecs[:, idx] W_white = np.diag(eigvals**(-0.5)) @ eigvecs.T X_white = W_white @ X # (n_components, T) # 3. 随机正交初始化 W, _ = np.linalg.qr(np.random.randn(n_components, n_components)) if g == 'logcosh': g_fn = lambda u: np.tanh(u) dg_fn = lambda u: 1 - np.tanh(u)**2 else: g_fn = lambda u: u**3 dg_fn = lambda u: 3 * u**2 # 4. 对称正交化迭代 for _ in range(200): proj = W @ X_white # (n_components, T) W_new = (g_fn(proj) @ X_white.T) / T \ - dg_fn(proj).mean(axis=1, keepdims=True) * W U, S, Vt = np.linalg.svd(W_new) W_new = U @ Vt # 对称正交化 if np.max(np.abs(np.abs(np.diag(W_new @ W.T)) - 1)) < 1e-6: break W = W_new return W @ X_white, W @ W_white # (成分, 混合矩阵逆) ``` ### 9.2 与 LeJEPA 的代码对比 ```python # ICA(FastICA):最大化非高斯性 # 目标:找 w 使 w^T x 最非高斯(负熵最大) w_new = (X_white * g_fn(w @ X_white)).mean(axis=1) \ - dg_fn(w @ X_white).mean() * w # LeJEPA:最小化对齐损失 + SIGReg 高斯约束 # 目标:找 h 使正样本对相似,同时嵌入分布接近高斯 loss = lamb * sigreg(h) + (1 - lamb) * alignment_loss(h) ``` **核心差异:** - ICA 利用**高阶统计量**(非高斯性)来分离信号,不需要时间结构 - LeJEPA 利用**时间结构**(OU 相关性)+ **高斯约束**来实现可识别性,不需要非高斯性 --- ## §10 完整对比总结 ### 10.1 方法谱系图 ``` 盲源分离 / 表示学习 │ ├─ 线性混合 x = As │ ├─ FastICA:最大化负熵(非高斯性) │ │ └─ 可识别性:置换 + 缩放(非高斯源) │ ├─ JADE:联合对角化四阶累积量 │ │ └─ 可识别性:置换 + 缩放(非高斯源) │ └─ PCA:最大化方差 │ └─ 可识别性:正交等价(任意分布) │ └─ 非线性混合 x = g(z) ├─ SFA:最小化时间导数 │ └─ 可识别性:置换等价(任意独立分布) ├─ iVAE:辅助变量 VAE │ └─ 可识别性:置换等价(指数族分布) └─ LeJEPA:OU 相关性 + SIGReg └─ 可识别性:正交等价(高斯分布)✅ ``` ### 10.2 高斯分布的"双重身份" ``` 高斯分布在不同框架中的角色: 线性 ICA(FastICA/JADE): 高斯源 → 旋转不变 → 无法区分 A 和 AQ⁻¹ → ❌ 不可识别 非高斯源 → 高阶统计量有效 → ✅ 可识别(置换等价) LeJEPA(非线性 + OU 时间结构): 高斯潜变量 → Mehler 公式成立 → 线性成分最优 → ✅ 可识别(正交等价) 非高斯潜变量 → Mehler 公式不成立 → 最优编码器非线性 → ❌ 不可识别 核心洞见: ICA 利用"非高斯性"来分离信号 LeJEPA 利用"高斯性 + 时间结构"来实现可识别性 两者是互补的,而非竞争的 ``` ### 10.3 核心公式速查 **FastICA 不动点迭代:** $$\boxed{w^+ = \mathbb{E}[\tilde{x}\, g(w^\top \tilde{x})] - \mathbb{E}[g'(w^\top \tilde{x})]\, w, \quad w \leftarrow w^+ / \|w^+\|}$$ **JADE 联合对角化目标:** $$\boxed{\min_{W \in O(n)} \sum_k \text{off}(W^\top Q_{M_k} W)}$$ **LeJEPA 训练目标(对比):** $$\boxed{\mathcal{L}(h) = \lambda \cdot \mathcal{L}_{\text{SIG}}(h) + (1-\lambda) \cdot \mathbb{E}[\|h(z') - h(z)\|^2]}$$ **ICA 可识别性等价类:** $$\boxed{\hat{s} = PDs \quad (P \text{ 置换}, D \text{ 对角缩放})}$$ **LeJEPA 可识别性等价类:** $$\boxed{h(z) = Qz \quad (Q \in O(n) \text{ 正交矩阵})}$$ --- ## §11 核心洞见(一句话总结) > **线性 ICA(FastICA/JADE)通过最大化非高斯性来分离独立成分,高斯分布是其唯一失败的情况;LeJEPA 通过 OU 时间结构 + 高斯约束实现线性可识别性,高斯分布是其唯一成功的情况——两者构成了一个完美的"对偶反转",揭示了高斯分布在不同框架下截然相反的角色。** --- ## ➡️ 相关专题 | 专题 | 内容 | 与 ICA 的关系 | |------|------|-------------| | [专题 I](01_hermite_polynomials.md) | Hermite 多项式 | ICA 的高阶统计量 vs Hermite 谱分解 | | [专题 III](03_spectral_identifiability.md) | 线性可识别性(定理 1) | LeJEPA 的正交等价 vs ICA 的置换等价 | | [专题 IV](04_sturm_liouville_uniqueness.md) | 高斯唯一性(定理 2) | 为什么高斯分布在 LeJEPA 中成功 | | [专题 VII](07_sigreg_regularization.md) | SIGReg 正则化 | LeJEPA 的高斯约束实现 | --- ## 📎 参考文献 | 论文 | 说明 | |------|------| | Hyvärinen & Oja (2000). *Independent Component Analysis: Algorithms and Applications.* Neural Networks. | FastICA 综述 | | Cardoso & Souloumiac (1993). *Blind Beamforming for Non-Gaussian Signals.* IEE Proceedings-F. | JADE 原始论文 | | Hyvärinen & Pajunen (1999). *Nonlinear Independent Component Analysis: Existence and Uniqueness Results.* Neural Networks. | 非线性 ICA 不可能定理 | | Sprekeler et al. (2014). *Slow Feature Analysis: Unsupervised Learning of Invariances.* JMLR. | SFA 可识别性 | | Klindt, LeCun & Balestriero (2026). *When Does LeJEPA Learn a World Model?* arXiv:2605.26379. | LeJEPA 可识别性理论 |