0


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

本文主要用来讨论

奇异值分解(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 的秩。
高阶和低阶分量的判定

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

  1. 信息贡献:较大的奇异值 σ i \sigma_i σi​ 对应的奇异向量组合(即 u i v i T u_i v_i^T ui​viT​)通常包含了更多的原始矩阵 W W W 的信息。这些成分在重构矩阵时起到了主要作用。
  2. 噪声贡献:较小的奇异值 σ 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方法可以减少模型的复杂性,有时还能提高模型在特定任务上的性能,尤其是在处理训练数据中不常见的信息时。


本文转载自: https://blog.csdn.net/weixin_43655282/article/details/140268095
版权归原作者 猫咪钓鱼 所有, 如有侵权,请联系我们删除。

“奇异值分解(SVD)关键概念以及物理意义”的评论:

还没有评论