奇异值分解(SVD)关键概念以及物理意义

猫咪钓鱼 2024-10-15 11:01:04 阅读 83

本文主要用来讨论奇异值分解(SVD)的一些核心概念以及它的物理意义和实际意义,说到底就是:

这东西有什么用?是怎么起作用的?

我们按顺序一步步来拆解这些问题并且分析。


引言

之前也只是模棱两可地了解过SVD的功能,但一直没深入,这次恰好看到一篇论文用SVD作为主要创新点,机缘巧合之下就想完全弄明白,所以这就是这篇文章诞生的原因。

论文信息如下:

在这里插入图片描述

这篇paper所研究的问题

Transformer模型在自然语言处理和其他领域的应用已成为主流。然而,这些模型通常需要大量的计算资源进行训练和推理。本研究发现,通过选择性地移除Transformer模型中某些层的高阶权重成分,可以显著提升模型的性能。这一方法被称为LAyer-SElective Rank reduction (LASER),可以在模型训练完成后进行,无需额外的参数或数据。

这篇文章的作者如何得到这个idea的?

由实验驱动的,而不是从理论开始。

本文中提出的LASER方法主要是基于实验发现,即通过对大型语言模型(LLMs)的特定层进行低秩近似可以改善模型性能。文章中并没有详细描述理论推导来证明为何这种低秩近似会有效,而是通过广泛的实验来展示这种方法在多种情况下的有效性。

实验结果表明,在某些情况下,低秩近似可以提高模型在特定任务上的表现,尤其是在处理训练数据中不常见的信息时。文章中对这种现象进行了一些初步的分析和假设,比如提出高阶分量可能捕获了模型训练过程中的噪声,而去除这些噪声成分可以通过“去噪”来提高模型的准确性。

然而,对于为何特定层的低秩近似能够导致性能提升,以及为何这种现象在后层更为常见等问题,文章承认需要进一步的研究来深入理解背后的机制。因此,可以认为文章的发现主要是实验驱动的,而不是由理论推导所引导。

那么,什么是“低秩近似”?为何需要它?

Q: 为什么需要低秩近似

A:为了减少计算消耗,提高效率。

Q:什么是“低秩近似”?

A:低秩近似(low-rank approximation)是一种通过保留矩阵中最重要的特征分量,来减少矩阵维度和复杂度的方法。

为什么要保留矩阵中最重要的特征分量?

其实很简单,直观来说,我们舍弃了一些不重要的特征分量,那么就会减少模型中的一些数据(在这里,这些特征分量其实就是模型参数),所以保留最重要的那些,就会把模型的大部分能力保留下来,尽管舍弃了一些特征分量,对模型能力的影响也不会很大,因为最重要的数据(最重要的特征分量即最重要的参数)是被保留了的。

接下来,如何计算出特征分量?如何挑选最重要的特征分量?

这时候我们就要用到我们的主角:奇异值分解(SVD)

详细谈谈SVD

在奇异值分解(Singular Value Decomposition, SVD)中,我们将一个矩阵

W

W

W 分解为三个矩阵的乘积:

W

=

U

Σ

V

T

W = U \Sigma V^T

W=UΣVT

其中,

U

U

U 和

V

V

V 是正交矩阵,

Σ

\Sigma

Σ 是对角矩阵,包含了

W

W

W 的奇异值,且这些奇异值按从大到小的顺序排列。具体来说,

Σ

\Sigma

Σ 的对角线元素

σ

i

\sigma_i

σi​ 满足:

σ

1

σ

2

σ

r

0

\sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r \geq 0

σ1​≥σ2​≥⋯≥σr​≥0

这里,

r

r

r 是矩阵

W

W

W 的秩。

高阶和低阶分量的判定

“高阶”和“低阶”分量的判定是基于奇异值的大小。通常,较大的奇异值对应的奇异向量组合起来的分量被称为“低阶”分量,而较小的奇异值对应的分量则被称为“高阶”分量。这样的命名是基于以下原因:

信息贡献:较大的奇异值

σ

i

\sigma_i

σi​ 对应的奇异向量组合(即

u

i

v

i

T

u_i v_i^T

ui​viT​)通常包含了更多的原始矩阵

W

W

W 的信息。这些成分在重构矩阵时起到了主要作用。

噪声贡献:较小的奇异值

σ

i

\sigma_i

σi​ 对应的奇异向量组合包含的信息较少,往往更多地体现为噪声和细节,而不是主要信息。因此,在很多应用中,这些较小的奇异值和对应的分量可以被忽略,从而得到一个低秩的近似。

高阶和低阶分量的命名原因

频率域解释:

在傅里叶变换中,一个信号可以分解为不同频率的正弦波和余弦波的叠加。低频分量(低阶分量)通常包含信号的主要结构和重要信息,而高频分量(高阶分量)通常包含细节和噪声。

类比到奇异值分解,较大的奇异值对应的分量被认为是低频分量,包含了数据的主要信息和结构,而较小的奇异值对应的分量则包含了高频噪声和细节。

具体描述

假设

W

W

W 是一个

m

×

n

m \times n

m×n 的矩阵,通过 SVD 分解后,我们有:

W

=

i

=

1

r

σ

i

u

i

v

i

T

W = \sum_{i=1}^{r} \sigma_i u_i v_i^T

W=∑i=1r​σi​ui​viT​

其中,

σ

i

\sigma_i

σi​ 是奇异值,

u

i

u_i

ui​ 和

v

i

v_i

vi​ 分别是

U

U

U 和

V

V

V 矩阵的列向量。对于一个秩为

k

k

k 的近似矩阵

W

k

W_k

Wk​,我们只保留前

k

k

k 个最大的奇异值及其对应的奇异向量:

W

k

=

i

=

1

k

σ

i

u

i

v

i

T

W_k = \sum_{i=1}^{k} \sigma_i u_i v_i^T

Wk​=∑i=1k​σi​ui​viT​

这里,保留的

σ

i

\sigma_i

σi​ 较大,贡献了主要的信息量。这些成分被认为是“低阶”成分。

而被舍弃的部分:

W

r

k

=

i

=

k

+

1

r

σ

i

u

i

v

i

T

W_{r-k} = \sum_{i=k+1}^{r} \sigma_i u_i v_i^T

Wr−k​=∑i=k+1r​σi​ui​viT​

这些成分对应于较小的奇异值,往往包含了较多的噪声信息,被称为“高阶”成分。

例子

假设矩阵 ( W ) 的奇异值分解结果为:

W

=

U

(

σ

1

0

0

0

σ

2

0

0

0

σ

n

)

V

T

W = U \begin{pmatrix} \sigma_1 & 0 & \ldots & 0 \\ 0 & \sigma_2 & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & \sigma_n \end{pmatrix} V^T

W=U

​σ1​0⋮0​0σ2​⋮0​……⋱…​00⋮σn​​

​VT

其中

σ

1

σ

2

σ

n

\sigma_1 \geq \sigma_2 \geq \ldots \geq \sigma_n

σ1​≥σ2​≥…≥σn​ 为奇异值。

σ

1

\sigma_1

σ1​ 对应的分量

u

1

v

1

T

u_1 v_1^T

u1​v1T​ 是最主要的特征。

σ

n

\sigma_n

σn​ 对应的分量

u

n

v

n

T

u_n v_n^T

un​vnT​ 是最不重要的特征。

通过移除

σ

n

\sigma_n

σn​ 对应的分量,保留

σ

1

\sigma_1

σ1​ 到

σ

k

\sigma_{k}

σk​ 对应的分量,可以实现低秩近似,即:

W

U

k

Σ

k

V

k

T

W \approx U_k \Sigma_k V_k^T

W≈Uk​Σk​VkT​

其中

Σ

k

\Sigma_k

Σk​仅包含前

k

k

k 个较大的奇异值。

回到文章:采用SVD来保证不严重影响模型能力的前提下而减少模型的参数量

在文章中,作者利用SVD来识别和去除Transformer模型中权重矩阵的高阶分量,这些高阶分量对应于较小的奇异值。通过这种方式,作者们实现了对模型的低秩近似,即LASER(Layer-Selective Rank Reduction)。具体来说,他们保留了权重矩阵中与较大奇异值对应的主要奇异向量,而忽略了那些与较小奇异值相关的高阶分量。这种选择性地去除权重矩阵中的成分,被认为可以减少模型中的噪声,从而提高模型在某些任务上的性能。

在奇异值分解(SVD)中,给定一个矩阵

W

W

W,可以将其分解为

W

=

U

Σ

V

T

W = U \Sigma V^T

W=UΣVT,其中

U

U

U 和

V

V

V 是正交矩阵,

Σ

\Sigma

Σ 是对角矩阵,其对角线元素为奇异值,且按降序排列。

在这种分解中:

奇异值的大小表示对应奇异向量在原矩阵中的重要性。较大的奇异值对应的奇异向量对矩阵的主要特征贡献较大。较小的奇异值对应的奇异向量对矩阵的特征贡献较小。

因此,“高阶”分量是指那些对应较小奇异值的奇异向量,因为这些分量对矩阵整体特征的贡献较小。相对地,“低阶”分量是指那些对应较大奇异值的奇异向量,因为这些分量对矩阵整体特征的贡献较大。

在这篇文章中,所指的高阶分量是指奇异值分解(SVD)中的奇异值按大小降序排列后,排在后面的那些分量。具体来说:

LASER操作:文章中的LASER操作正是通过这种选择性地忽略较小奇异值来实现的。例如,如果设置

ρ

\rho

ρ 为某个小于1的值,那么只有排名前

ρ

\rho

ρ 倍最大秩的奇异值会被保留,其余的则被视为高阶分量并被去除。

通过这种方式,LASER方法可以减少模型的复杂性,有时还能提高模型在特定任务上的性能,尤其是在处理训练数据中不常见的信息时。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。