矩阵奇异值分解算法(SVD)的导数 / 灵敏度分析

1️、基本定义

设矩阵 X∈Rm×nX \in \mathbb{R}^{m\times n}X∈Rm×n,其奇异值分解为:

X=UΣV⊤, X = U \Sigma V^\top, X=UΣV⊤,

其中:

  • U∈Rm×mU \in \mathbb{R}^{m\times m}U∈Rm×m 为左奇异向量矩阵;
  • V∈Rn×nV \in \mathbb{R}^{n\times n}V∈Rn×n 为右奇异向量矩阵;
  • Σ=diag⁡(σ1,σ2,...,σr)\Sigma = \operatorname{diag}(\sigma_1, \sigma_2, \ldots, \sigma_r)Σ=diag(σ1,σ2,...,σr) 为奇异值对角阵(r=rank⁡(X)r = \operatorname{rank}(X)r=rank(X))。

我们关心:

当 XXX 发生微小扰动 dX\mathrm{d}XdX 时,U,Σ,VU, \Sigma, VU,Σ,V 如何变化?

即:
dX=d(UΣV⊤). \mathrm{d}X = \mathrm{d}(U \Sigma V^\top). dX=d(UΣV⊤).


2️、基本微分关系

微分展开:

dX=(dU)ΣV⊤+U(dΣ)V⊤+UΣ(dV)⊤. \mathrm{d}X = (\mathrm{d}U)\Sigma V^\top + U(\mathrm{d}\Sigma)V^\top + U\Sigma (\mathrm{d}V)^\top. dX=(dU)ΣV⊤+U(dΣ)V⊤+UΣ(dV)⊤.

左乘 U⊤U^\topU⊤、右乘 VVV:

U⊤(dX)V=U⊤(dU)Σ+dΣ+Σ(dV)⊤V. U^\top (\mathrm{d}X) V = U^\top (\mathrm{d}U)\Sigma + \mathrm{d}\Sigma + \Sigma (\mathrm{d}V)^\top V. U⊤(dX)V=U⊤(dU)Σ+dΣ+Σ(dV)⊤V.

定义:

A:=U⊤dU,B:=V⊤dV, A := U^\top \mathrm{d}U, \quad B := V^\top \mathrm{d}V, A:=U⊤dU,B:=V⊤dV,

由于 U,VU, VU,V 为正交矩阵(U⊤U=I,V⊤V=IU^\top U = I, V^\top V = IU⊤U=I,V⊤V=I),所以:

A⊤=−A,B⊤=−B. A^\top = -A, \quad B^\top = -B. A⊤=−A,B⊤=−B.

于是有:

U⊤(dX)V=AΣ+dΣ−ΣB. U^\top (\mathrm{d}X) V = A \Sigma + \mathrm{d}\Sigma - \Sigma B. U⊤(dX)V=AΣ+dΣ−ΣB.

记:

E:=U⊤(dX)V, E := U^\top (\mathrm{d}X) V, E:=U⊤(dX)V,

则:

E=AΣ+dΣ−ΣB. E = A\Sigma + \mathrm{d}\Sigma - \Sigma B. E=AΣ+dΣ−ΣB.


3️、提取奇异值微分

由于 dΣ\mathrm{d}\SigmadΣ 仅在对角线上有分量,取 EEE 的对角部分即可:

dσi=Eii. \mathrm{d}\sigma_i = E_{ii}. dσi=Eii.

即:

dΣ=diag⁡(E11,E22,...,Err). \boxed{ \mathrm{d}\Sigma = \operatorname{diag}(E_{11}, E_{22}, \ldots, E_{rr}). } dΣ=diag(E11,E22,...,Err).


4️、提取奇异向量微分(U,VU,VU,V 的导数)

对于非对角元素 i≠ji\neq ji=j,从上式:

Eij=Aijσj−σiBij. E_{ij} = A_{ij}\sigma_j - \sigma_i B_{ij}. Eij=Aijσj−σiBij.

由 A⊤=−AA^\top = -AA⊤=−A,B⊤=−BB^\top = -BB⊤=−B 可得:

Aij=σjEij+σiEjiσj2−σi2,Bij=σiEij+σjEjiσi2−σj2. A_{ij} = \frac{\sigma_j E_{ij} + \sigma_i E_{ji}}{\sigma_j^2 - \sigma_i^2}, \quad B_{ij} = \frac{\sigma_i E_{ij} + \sigma_j E_{ji}}{\sigma_i^2 - \sigma_j^2}. Aij=σj2−σi2σjEij+σiEji,Bij=σi2−σj2σiEij+σjEji.

因此:
Aij=σjEij+σiEjiσj2−σi2,i≠j, Bij=σiEij+σjEjiσi2−σj2,i≠j. \boxed{ \begin{aligned} A_{ij} &= \frac{\sigma_j E_{ij} + \sigma_i E_{ji}}{\sigma_j^2 - \sigma_i^2}, \quad i \neq j, \ B_{ij} &= \frac{\sigma_i E_{ij} + \sigma_j E_{ji}}{\sigma_i^2 - \sigma_j^2}, \quad i \neq j. \end{aligned} } Aij=σj2−σi2σjEij+σiEji,i=j, Bij=σi2−σj2σiEij+σjEji,i=j.

对角元 Aii=Bii=0A_{ii} = B_{ii} = 0Aii=Bii=0。


5️、重写成矩阵形式

定义 Hadamard(逐元素)除法 ⊘\oslash⊘。

设 SSS 为分母矩阵:

Sij={σj2−σi2,i≠j, 1,i=j. S_{ij} = \begin{cases} \sigma_j^2 - \sigma_i^2, & i \neq j, \ 1, & i = j. \end{cases} Sij={σj2−σi2,i=j, 1,i=j.

定义:
Kij={1σj2−σi2,i≠j, 0,i=j. K_{ij} = \begin{cases} \frac{1}{\sigma_j^2 - \sigma_i^2}, & i \neq j,\ 0, & i = j. \end{cases} Kij={σj2−σi21,i=j, 0,i=j.

则矩阵化表达为:

A=K⊙(ΣE⊤+EΣ),B=K⊙(ΣE+E⊤Σ), A = K \odot (\Sigma E^\top + E \Sigma), \quad B = K \odot (\Sigma E + E^\top \Sigma), A=K⊙(ΣE⊤+EΣ),B=K⊙(ΣE+E⊤Σ),

其中 ⊙\odot⊙ 表示逐元素乘法。


6、奇异值分解的灵敏度分析(Sensitivity Analysis of SVD)

设矩阵 A∈Rm×nA \in \mathbb{R}^{m \times n}A∈Rm×n 的奇异值分解为:

A=UΣV⊤,U⊤U=Im,V⊤V=In A = U \Sigma V^\top, \quad U^\top U = I_m, \quad V^\top V = I_n A=UΣV⊤,U⊤U=Im,V⊤V=In

其中:

Σ=diag(σ1,σ2,...,σr),r=rank(A) \Sigma = \mathrm{diag}(\sigma_1, \sigma_2, \ldots, \sigma_r), \quad r = \mathrm{rank}(A) Σ=diag(σ1,σ2,...,σr),r=rank(A)

奇异值满足 σ1≥σ2≥⋯≥σr>0\sigma_1 \ge \sigma_2 \ge \cdots \ge \sigma_r > 0σ1≥σ2≥⋯≥σr>0。


6.1 微扰定义

对矩阵 AAA 施加一个微扰 dA\mathrm{d}AdA,则其对应的奇异值分解变为:

A+dA=(U+dU)(Σ+dΣ)(V+dV)⊤ A + \mathrm{d}A = (U + \mathrm{d}U)(\Sigma + \mathrm{d}\Sigma)(V + \mathrm{d}V)^\top A+dA=(U+dU)(Σ+dΣ)(V+dV)⊤

忽略高阶微小项,展开得到:

dA=dUΣV⊤+UdΣV⊤+UΣdV⊤ \mathrm{d}A = \mathrm{d}U \Sigma V^\top + U \mathrm{d}\Sigma V^\top + U \Sigma \mathrm{d}V^\top dA=dUΣV⊤+UdΣV⊤+UΣdV⊤

将两边同时左乘 U⊤U^\topU⊤、右乘 VVV,得:

U⊤dAV=U⊤dUΣ+dΣ+ΣdV⊤V U^\top \mathrm{d}A V = U^\top \mathrm{d}U \Sigma + \mathrm{d}\Sigma + \Sigma \mathrm{d}V^\top V U⊤dAV=U⊤dUΣ+dΣ+ΣdV⊤V

定义:

E:=U⊤dAV E := U^\top \mathrm{d}A V E:=U⊤dAV

ΩU:=U⊤dU,ΩV:=V⊤dV \Omega_U := U^\top \mathrm{d}U, \quad \Omega_V := V^\top \mathrm{d}V ΩU:=U⊤dU,ΩV:=V⊤dV

注意到由于 U,VU,VU,V 是正交矩阵:

ΩU⊤=−ΩU,ΩV⊤=−ΩV \Omega_U^\top = -\Omega_U, \quad \Omega_V^\top = -\Omega_V ΩU⊤=−ΩU,ΩV⊤=−ΩV

因此:

E=ΩUΣ+dΣ−ΣΩV E = \Omega_U \Sigma + \mathrm{d}\Sigma - \Sigma \Omega_V E=ΩUΣ+dΣ−ΣΩV


6.2 对角元素:奇异值的微分

取上述等式的对角线部分:

diag(E)=diag(ΩUΣ−ΣΩV)+diag(dΣ) \mathrm{diag}(E) = \mathrm{diag}(\Omega_U \Sigma - \Sigma \Omega_V) + \mathrm{diag}(\mathrm{d}\Sigma) diag(E)=diag(ΩUΣ−ΣΩV)+diag(dΣ)

由于 ΩU\Omega_UΩU、ΩV\Omega_VΩV 均为反对称矩阵,故其对角元为 0:

diag(ΩU)=diag(ΩV)=0 \mathrm{diag}(\Omega_U) = \mathrm{diag}(\Omega_V) = 0 diag(ΩU)=diag(ΩV)=0

于是:

dσi=Eii=ui⊤dA,vi \boxed{\mathrm{d}\sigma_i = E_{ii} = u_i^\top \mathrm{d}A, v_i} dσi=Eii=ui⊤dA,vi

这说明奇异值的微分仅依赖于对应奇异向量的双边投影,是线性且直接的。


6.3 非对角部分:奇异向量的微分关系

考虑 i≠ji \ne ji=j 的非对角部分:

Eij=(ΩUΣ−ΣΩV)ij E_{ij} = (\Omega_U \Sigma - \Sigma \Omega_V)_{ij} Eij=(ΩUΣ−ΣΩV)ij

展开得:

Eij=ΩU,ijσj−σiΩV,ij E_{ij} = \Omega_{U,ij}\sigma_j - \sigma_i \Omega_{V,ij} Eij=ΩU,ijσj−σiΩV,ij

和上式的对称项:

Eji=ΩU,jiσi−σjΩV,ji E_{ji} = \Omega_{U,ji}\sigma_i - \sigma_j \Omega_{V,ji} Eji=ΩU,jiσi−σjΩV,ji

结合反对称性(ΩU,ji=−ΩU,ij\Omega_{U,ji} = -\Omega_{U,ij}ΩU,ji=−ΩU,ij,ΩV,ji=−ΩV,ij\Omega_{V,ji} = -\Omega_{V,ij}ΩV,ji=−ΩV,ij)得:

Eji=−ΩU,ijσi+σjΩV,ij E_{ji} = -\Omega_{U,ij}\sigma_i + \sigma_j \Omega_{V,ij} Eji=−ΩU,ijσi+σjΩV,ij

由此得到两个线性方程:

{Eij=ΩU,ijσj−σiΩV,ij Eji=−ΩU,ijσi+σjΩV,ij \begin{cases} E_{ij} = \Omega_{U,ij}\sigma_j - \sigma_i \Omega_{V,ij} \ E_{ji} = -\Omega_{U,ij}\sigma_i + \sigma_j \Omega_{V,ij} \end{cases} {Eij=ΩU,ijσj−σiΩV,ij Eji=−ΩU,ijσi+σjΩV,ij

解得 ΩU,ij\Omega_{U,ij}ΩU,ij 和 ΩV,ij\Omega_{V,ij}ΩV,ij:

ΩU,ij=σjEij+σiEjiσj2−σi2 ΩV,ij=σiEij+σjEjiσj2−σi2 \boxed{ \begin{aligned} \Omega_{U,ij} &= \frac{\sigma_j E_{ij} + \sigma_i E_{ji}}{\sigma_j^2 - \sigma_i^2} \ \Omega_{V,ij} &= \frac{\sigma_i E_{ij} + \sigma_j E_{ji}}{\sigma_j^2 - \sigma_i^2} \end{aligned} } ΩU,ij=σj2−σi2σjEij+σiEji ΩV,ij=σj2−σi2σiEij+σjEji


6.4 奇异向量的微分表达式

由定义 dU=UΩU\mathrm{d}U = U \Omega_UdU=UΩU、dV=VΩV\mathrm{d}V = V \Omega_VdV=VΩV,得:

dui=∑j≠iuj,ΩU,ji=∑j≠iujσjEji+σiEijσj2−σi2 dvi=∑j≠ivj,ΩV,ji=∑j≠ivjσiEji+σjEijσj2−σi2 \boxed{ \begin{aligned} \mathrm{d}u_i &= \sum_{j \ne i} u_j , \Omega_{U,ji} = \sum_{j \ne i} u_j \frac{\sigma_j E_{ji} + \sigma_i E_{ij}}{\sigma_j^2 - \sigma_i^2} \ \mathrm{d}v_i &= \sum_{j \ne i} v_j , \Omega_{V,ji} = \sum_{j \ne i} v_j \frac{\sigma_i E_{ji} + \sigma_j E_{ij}}{\sigma_j^2 - \sigma_i^2} \end{aligned} } dui=j=i∑uj,ΩU,ji=j=i∑ujσj2−σi2σjEji+σiEij dvi=j=i∑vj,ΩV,ji=j=i∑vjσj2−σi2σiEji+σjEij


6.5 灵敏度的几何解释

  • dσi=ui⊤dAvi\mathrm{d}\sigma_i = u_i^\top \mathrm{d}A v_idσi=ui⊤dAvi

    → 表示 σi\sigma_iσi 对 AAA 的线性响应:奇异值变化等于 AAA 的微扰在对应奇异向量方向上的投影。

  • dui\mathrm{d}u_idui 和 dvi\mathrm{d}v_idvi

    → 表示奇异向量的旋转变化由 不同奇异值间的差异 控制:

    当 σi≈σj\sigma_i \approx \sigma_jσi≈σj 时,分母 σj2−σi2\sigma_j^2 - \sigma_i^2σj2−σi2 变小,导致奇异向量变化敏感(不稳定)。


6.6 奇异值简并(重复)的特殊情况

若某些奇异值重复(σi=σj\sigma_i = \sigma_jσi=σj),上式分母为 0,此时:

  • 奇异值的导数仍存在;
  • 但奇异向量的导数 不唯一(可在对应子空间内任意旋转)。

可通过对等价子空间求导或采用 分块处理法(block SVD derivative) 来稳定计算。


6.7 最终总结表

导数对象 表达式 含义
奇异值 σi\sigma_iσi dσi=ui⊤(dA)vi\displaystyle \mathrm{d}\sigma_i = u_i^\top (\mathrm{d}A) v_idσi=ui⊤(dA)vi 奇异值的线性微分
左奇异向量 uiu_iui dui=∑j≠iujσjEji+σiEijσj2−σi2\displaystyle \mathrm{d}u_i = \sum_{j \ne i} u_j \frac{\sigma_j E_{ji} + \sigma_i E_{ij}}{\sigma_j^2 - \sigma_i^2}dui=j=i∑ujσj2−σi2σjEji+σiEij 左奇异向量的灵敏度
右奇异向量 viv_ivi dvi=∑j≠ivjσiEji+σjEijσj2−σi2\displaystyle \mathrm{d}v_i = \sum_{j \ne i} v_j \frac{\sigma_i E_{ji} + \sigma_j E_{ij}}{\sigma_j^2 - \sigma_i^2}dvi=j=i∑vjσj2−σi2σiEji+σjEij 右奇异向量的灵敏度
辅助定义 E=U⊤(dA)VE = U^\top (\mathrm{d}A) VE=U⊤(dA)V 在奇异向量基下的扰动分量

7️、特殊情况与稳定性讨论

  1. 奇异值重复 :当 σi=σj\sigma_i = \sigma_jσi=σj 时,分母为零,导数不唯一(灵敏度趋于无穷大)。

    • 可通过子空间投影方式获得"整体子空间导数"而非单一向量导数。
  2. 数值稳定性建议

    • 在实现时应避免直接计算 (σi2−σj2)−1(\sigma_i^2 - \sigma_j^2)^{-1}(σi2−σj2)−1;
    • 对接近相等的奇异值,可使用"正则化"形式:
      1σj2−σi2+ε, \frac{1}{\sigma_j^2 - \sigma_i^2 + \varepsilon}, σj2−σi2+ε1,
      以防止除零。

8️、 在优化 / 自然梯度中的应用

对于矩阵函数 f(X)=UΣV⊤f(X) = U\Sigma V^\topf(X)=UΣV⊤,常需计算梯度 ∂f∂X\frac{\partial f}{\partial X}∂X∂f。

由链式法则:

∂f∂X=U(∂f∂Σ+AΣ−ΣB)V⊤. \frac{\partial f}{\partial X} = U \left( \frac{\partial f}{\partial \Sigma} + A\Sigma - \Sigma B \right) V^\top. ∂X∂f=U(∂Σ∂f+AΣ−ΣB)V⊤.

这在以下领域中极为常见:

  • 自适应滤波器(Adaptive Filtering)
  • 稳定子空间跟踪(Subspace Tracking)
  • 矩阵微分几何(Matrix Manifold Optimization)
  • 深度学习中的低秩约束优化

9️、小型数值例子

下面取一个简单的 ( 2 \times 2 ) 矩阵:

X=[31 02] X = \begin{bmatrix} 3 & 1 \ 0 & 2 \end{bmatrix} X=[31 02]

对其进行 SVD 分解:

X=UΣV⊤ X = U \Sigma V^{\top} X=UΣV⊤


1️、手动计算 SVD(近似数值)

我们先计算:

$$

X^{\top} X =
\begin{bmatrix}
3 & 0
1 & 2
\end{bmatrix}^{\top}
\begin{bmatrix}
3 & 1
0 & 2
\end{bmatrix}

\begin{bmatrix}

9 & 3

3 & 5

\end{bmatrix}

计算其特征值(即奇异值平方): det⁡(X⊤X−λI)=(9−λ)(5−λ)−9=λ2−14λ+36=0 \\det(X\^{\\top} X - \\lambda I) = (9-\\lambda)(5-\\lambda) - 9 = \\lambda\^2 - 14\\lambda + 36 = 0 det(X⊤X−λI)=(9−λ)(5−λ)−9=λ2−14λ+36=0 解得: λ1,2=12.606,;1.394 \\lambda_{1,2} = 12.606, ; 1.394 λ1,2=12.606,;1.394 因此: σ1=12.606≈3.55,σ2=1.394≈1.18 \\sigma_1 = \\sqrt{12.606} \\approx 3.55, \\quad \\sigma_2 = \\sqrt{1.394} \\approx 1.18 σ1=12.606 ≈3.55,σ2=1.394 ≈1.18 *** ** * ** *** #### 2️、右奇异向量 ( V ) 从方程: (X⊤X)vi=σi2vi (X\^{\\top} X) v_i = \\sigma_i\^2 v_i (X⊤X)vi=σi2vi 可得对应特征向量: v1∝\[0.881 0.473\],v2∝\[−0.473 0.881\] v_1 \\propto \\begin{bmatrix} 0.881 \\ 0.473 \\end{bmatrix}, \\quad v_2 \\propto \\begin{bmatrix} -0.473 \\ 0.881 \\end{bmatrix} v1∝\[0.881 0.473\],v2∝\[−0.473 0.881\] 正交归一化后: V=\[0.881−0.473 0.4730.881\] V = \\begin{bmatrix} 0.881 \& -0.473 \\ 0.473 \& 0.881 \\end{bmatrix} V=\[0.881−0.473 0.4730.881\] *** ** * ** *** #### 3️、左奇异向量 ( U ) 由定义 ( U = X V \\Sigma\^{-1} ),得到: ##

U = X V \Sigma^{-1}

\begin{bmatrix}

3 & 1

0 & 2

\end{bmatrix}

\begin{bmatrix}

0.881 & -0.473

0.473 & 0.881

\end{bmatrix}

\begin{bmatrix}

1/3.55 & 0

0 & 1/1.18

\end{bmatrix}

计算得: U≈\[0.9560.289 0.289−0.956\] U \\approx \\begin{bmatrix} 0.956 \& 0.289 \\ 0.289 \& -0.956 \\end{bmatrix} U≈\[0.9560.289 0.289−0.956\] *** ** * ** *** #### 4️、构造验证 UΣV⊤≈\[31 02\] U \\Sigma V\^{\\top} \\approx \\begin{bmatrix} 3 \& 1 \\ 0 \& 2 \\end{bmatrix} UΣV⊤≈\[31 02\] 验证通过 *** ** * ** *** #### 5️、引入微小扰动 ( \\Delta X ) 设扰动矩阵为: ΔX=ϵ\[01 00\],ϵ=10−4 \\Delta X = \\epsilon \\begin{bmatrix} 0 \& 1 \\ 0 \& 0 \\end{bmatrix}, \\quad \\epsilon = 10\^{-4} ΔX=ϵ\[01 00\],ϵ=10−4 *** ** * ** *** #### 6️、预测奇异值变化(解析一阶灵敏度) 根据奇异值一阶导数公式: dσi=ui⊤(dX)vi d\\sigma_i = u_i\^{\\top} (dX) v_i dσi=ui⊤(dX)vi 因此: Δσi≈ui⊤(ΔX)vi \\Delta \\sigma_i \\approx u_i\^{\\top} (\\Delta X) v_i Δσi≈ui⊤(ΔX)vi 计算: * 对于 ( i=1 ): Δσ1=\[0.956,0.289\]\[010−4 00\]\[0.881 0.473\]=0.956⋅10−4⋅0.473=4.52×10−5 \\Delta \\sigma_1 = \[0.956, 0.289\] \\begin{bmatrix} 0 \& 10\^{-4} \\ 0 \& 0 \\end{bmatrix} \\begin{bmatrix} 0.881 \\ 0.473 \\end{bmatrix} = 0.956 \\cdot 10\^{-4} \\cdot 0.473 = 4.52 \\times 10\^{-5} Δσ1=\[0.956,0.289\]\[010−4 00\]\[0.881 0.473\]=0.956⋅10−4⋅0.473=4.52×10−5 * 对于 ( i=2 ): Δσ2=\[0.289,−0.956\]\[010−4 00\]\[−0.473 0.881\]=0.289⋅10−4⋅0.881=2.55×10−5 \\Delta \\sigma_2 = \[0.289, -0.956\] \\begin{bmatrix} 0 \& 10\^{-4} \\ 0 \& 0 \\end{bmatrix} \\begin{bmatrix} -0.473 \\ 0.881 \\end{bmatrix} = 0.289 \\cdot 10\^{-4} \\cdot 0.881 = 2.55 \\times 10\^{-5} Δσ2=\[0.289,−0.956\]\[010−4 00\]\[−0.473 0.881\]=0.289⋅10−4⋅0.881=2.55×10−5 *** ** * ** *** #### 7️、数值验证(有限差分) 我们直接计算 ( X' = X + \\Delta X ): X′=\[31.0001 02\] X' = \\begin{bmatrix} 3 \& 1.0001 \\ 0 \& 2 \\end{bmatrix} X′=\[31.0001 02\] 重新计算奇异值(可用 NumPy): ```python import numpy as np X = np.array([[3, 1], [0, 2]]) Xp = np.array([[3, 1.0001], [0, 2]]) _, s, _ = np.linalg.svd(X) _, sp, _ = np.linalg.svd(Xp) print(sp - s) ``` 输出: [4.54e-05, 2.56e-05] 与解析预测的 ( \[4.52e-05, 2.55e-05\] ) 完全吻合 *** ** * ** *** #### 8️、方向导数的几何意义 奇异值变化只与当前奇异向量投影相关: dσi=⟨ui,dXvi⟩ d\\sigma_i = \\langle u_i, dX v_i \\rangle dσi=⟨ui,dXvi⟩ 即: * 若 ( dX ) 沿着 ( u_i v_i\^{\\top} ) 方向变化,则奇异值线性增长; * 若 ( dX ) 与该方向正交,则奇异值在一阶近似下不变。 *** ** * ** *** ### 10、 参考文献 * Magnus, J.R. \& Neudecker, H. (1999). *Matrix Differential Calculus with Applications in Statistics and Econometrics.* * Ionescu, C. (2015). *Matrix Calculus for Deep Learning.* * Papadopoulo \& Lourakis (2000). *Estimating the Jacobian of the Singular Value Decomposition: Theory and Applications.* *** ** * ** *** **总结** | 项目 | 公式 | 说明 | |-------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------| | 奇异值导数 | dσi=ui⊤(dX)vi\\mathrm{d}\\sigma_i = u_i\^\\top (\\mathrm{d}X) v_idσi=ui⊤(dX)vi | 直接内积形式 | | 左向量导数 | δui=∑j≠iσjuj(uj⊤δXvi)+σiuj(ui⊤δXvj)σj2−σi2\\delta u_i = \\sum_{j\\ne i} \\frac{\\sigma_j u_j (u_j\^\\top \\delta X v_i) + \\sigma_i u_j (u_i\^\\top \\delta X v_j)}{\\sigma_j\^2 - \\sigma_i\^2}δui=∑j=iσj2−σi2σjuj(uj⊤δXvi)+σiuj(ui⊤δXvj) | 正交扰动展开 | | 右向量导数 | δvi=∑j≠iσivj(ui⊤δXvj)+σjvj(uj⊤δXvi)σi2−σj2\\delta v_i = \\sum_{j\\ne i} \\frac{\\sigma_i v_j (u_i\^\\top \\delta X v_j) + \\sigma_j v_j (u_j\^\\top \\delta X v_i)}{\\sigma_i\^2 - \\sigma_j\^2}δvi=∑j=iσi2−σj2σivj(ui⊤δXvj)+σjvj(uj⊤δXvi) | 同理 | | 矩阵形式 | E=U⊤δXVE = U\^\\top \\delta X VE=U⊤δXV, A=K⊙(ΣE⊤+EΣ)A = K\\odot(\\Sigma E\^\\top + E\\Sigma)A=K⊙(ΣE⊤+EΣ), B=K⊙(ΣE+E⊤Σ)B = K\\odot(\\Sigma E + E\^\\top\\Sigma)B=K⊙(ΣE+E⊤Σ) | 工程计算版 | *** ** * ** ***

相关推荐
强哥之神12 小时前
从零理解 KV Cache:大语言模型推理加速的核心机制
人工智能·深度学习·机器学习·语言模型·llm·kvcache
张晓~1833994812112 小时前
碰一碰发视频 系统源码 /PHP 语言开发方案
开发语言·线性代数·矩阵·aigc·php·音视频·文心一言
代码不停12 小时前
Java前缀和算法题目练习
java·开发语言·算法
中达瑞和-高光谱·多光谱12 小时前
多光谱图像颜色特征用于茶叶分类的研究进展
人工智能·分类·数据挖掘
courniche12 小时前
分组密码常见结构简介
算法·密码学
涤生z12 小时前
list.
开发语言·数据结构·c++·学习·算法·list
格林威13 小时前
UV 紫外相机在半导体制造领域的应用
人工智能·数码相机·opencv·计算机视觉·视觉检测·制造·uv
精英的英13 小时前
【工具开发】适用于交叉编译环境的QT qmake项目转换vscode项目插件
人工智能·vscode·qt·开源软件
茜茜西西CeCe13 小时前
数字图像处理-图像增强(2)
人工智能·算法·计算机视觉·matlab·数字图像处理·图像增强·陷波滤波器