Q&A

  • ⋅ˉ\bar{\cdot}ˉ 符号代表什么?

    在数学和科学中,符号 ⋅ˉ\bar{\cdot}ˉ 通常表示某种特定的操作或属性,具体含义取决于上下文。在您的问题中,⋅ˉ\bar{\cdot}ˉ 是针对张量或矩阵的符号,其含义可以有以下几种常见解释:


    1. 频率域表示(t-SVD中的应用)

    在张量奇异值分解(t-SVD)中,Xˉ\bar{\mathcal{X}}Xˉ 通常表示通过傅里叶变换或其他类似变换后的结果,例如:

    Xˉ=L(X), \bar{\mathcal{X}} = \mathcal{L}(\mathcal{X}), Xˉ=L(X),

    其中 L\mathcal{L}L 是某种线性变换(如傅里叶变换)。

    具体来说:

    • X\mathcal{X}X 是时域中的张量,
    • Xˉ\bar{\mathcal{X}}Xˉ 是频域中的张量。

    这种记法在 t-SVD 中非常常见,因为频域中的操作(如逐面相乘)更简单。


    2. 块对角矩阵的切片

    在块对角矩阵或张量分解中,Xˉ\bar{\mathcal{X}}Xˉ 可能表示从张量构造的块对角矩阵的一个切片。例如:

    Xˉ(i) \bar{\mathcal{X}}^{(i)} Xˉ(i)

    表示张量 X\mathcal{X}X 的第 iii 个切片。

    这种记法在涉及块对角矩阵(block diagonal matrix)或块循环矩阵(block circulant matrix)的场景中出现。


    3. 均值或平均值

    在更广泛的数学上下文中,⋅ˉ\bar{\cdot}ˉ 有时用于表示均值。例如:

    xˉ=1n∑i=1nxi \bar{x} = \frac{1}{n} \sum_{i=1}^n x_i xˉ=n1i=1nxi

    表示一组数据的平均值。

    虽然这种解释更常见于统计学,但在张量领域的上下文中,它并不常用。


    4. 复共轭(在复数或变换中)

    如果张量或矩阵的元素是复数,Xˉ\bar{\mathcal{X}}Xˉ 可能表示其复共轭(complex conjugate):

    xˉ=conj(x), \bar{x} = \text{conj}(x), xˉ=conj(x),

    其中 conj(x)\text{conj}(x)conj(x) 表示复数 xxx 的共轭形式。

    在一些变换(如傅里叶变换)中,复共轭也会使用这个符号。


块对角矩阵:【block diagonal matrix】

对于 X∈Rn1×n2×n3\mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times n_3}XRn1×n2×n3,其块对角矩阵定义为:

Xˉ=bdiag(Xˉ)=[Xˉ(1)Xˉ(2)⋱Xˉ(n3)] \bar{\mathbf{X}} = bdiag(\bar{\mathcal{X}}) = \begin{bmatrix} \bar{\mathcal{X}}^{(1)} & & \\ & \bar{\mathcal{X}}^{(2)} & \\ & & \ddots & \\ & & & \bar{\mathcal{X}}^{(n_3)} \end{bmatrix} Xˉ=bdiag(Xˉ)= Xˉ(1)Xˉ(2)Xˉ(n3)


  1. 输入
    • 给定一个三阶张量 X∈Rn1×n2×n3\mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times n_3}XRn1×n2×n3,它可以看作是包含 n3n_3n3n1×n2n_1 \times n_2n1×n2 矩阵的集合。
    • 每个 Xˉ(i)\bar{\mathcal{X}}^{(i)}Xˉ(i)(即 Xˉ(1),Xˉ(2),…,Xˉ(n3)\bar{\mathcal{X}}^{(1)}, \bar{\mathcal{X}}^{(2)}, \dots, \bar{\mathcal{X}}^{(n_3)}Xˉ(1),Xˉ(2),,Xˉ(n3))是张量在第三维上的一个切片。
  2. 输出
    • 将这些切片 Xˉ(i)\bar{\mathcal{X}}^{(i)}Xˉ(i) 安排到一个块对角矩阵中。块对角矩阵是一种特殊的矩阵形式:
      • 每个块(子矩阵)位于矩阵的主对角线上。
      • 非对角线的部分全为零。
  3. 关键特性
    • 尺寸:如果每个切片 Xˉ(i)\bar{\mathcal{X}}^{(i)}Xˉ(i) 的大小是 n1×n2n_1 \times n_2n1×n2,那么块对角矩阵的总大小是 (n3⋅n1)×(n3⋅n2)(n_3 \cdot n_1) \times (n_3 \cdot n_2)(n3n1)×(n3n2)
    • 稀疏性:块对角矩阵是一种稀疏矩阵,因为非对角线部分是零。

应用场景:

  • 张量分解与运算
    块对角矩阵的构造是为了将高阶张量的计算问题转化为矩阵运算,从而简化问题的复杂性。
  • 信号处理
    在信号处理或系统分析中,块对角矩阵可以用来表示独立的子系统,方便解耦和分析。
  • 机器学习
    在多任务学习或多模型联合训练中,块对角矩阵常用于表示各任务或模型之间的解耦结构。

块循环矩阵【block circulant matrix】

对于 X∈Rn1×n2×n3\mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times n_3}XRn1×n2×n3,其块循环矩阵定义为:

bcirc(X)=[X(1)X(n3)⋯X(2)X(2)X(1)⋯X(3)⋮⋮⋱⋮X(n3)X(n3−1)⋯X(1)]. bcirc(\mathcal{X}) = \begin{bmatrix} \mathcal{X}^{(1)} & \mathcal{X}^{(n_3)} & \cdots & \mathcal{X}^{(2)} \\ \mathcal{X}^{(2)} & \mathcal{X}^{(1)} & \cdots & \mathcal{X}^{(3)} \\ \vdots & \vdots & \ddots & \vdots \\ \mathcal{X}^{(n_3)} & \mathcal{X}^{(n_3-1)} & \cdots & \mathcal{X}^{(1)} \end{bmatrix}. bcirc(X)= X(1)X(2)X(n3)X(n3)X(1)X(n31)X(2)X(3)X(1) .


定义的含义:

块循环矩阵是一种特殊的矩阵形式,其中矩阵是由张量 X\mathcal{X}X 的切片(即 X(i)\mathcal{X}^{(i)}X(i))构造的。它的结构具有循环对称性,这种对称性体现在:每一列是前一列向下循环移位。

关键特性:

  1. 循环结构:矩阵的行与列都是基于循环规则排列的,这使得块循环矩阵在许多计算中具有对称性优势
  2. 尺寸:如果每个切片的大小为 n1×n2n_1 \times n_2n1×n2,那么块循环矩阵的大小是 (n3⋅n1)×(n3⋅n2)(n_3 \cdot n_1) \times (n_3 \cdot n_2)(n3n1)×(n3n2)

应用场景:

  1. 张量计算简化:在张量分解或张量相关计算中,块循环矩阵的结构便于利用线性代数工具进行高效运算。
  2. 信号处理:块循环矩阵在离散傅里叶变换(DFT)和卷积计算中广泛应用。
  3. 系统建模:可以用于描述具有周期性特性的系统或信号。

张量与张量的乘积【tensor-tensor product】

对于 A∈Rn1×n2×n3\mathcal{A} \in \mathbb{R}^{n_1 \times n_2 \times n_3}ARn1×n2×n3B∈Rn1×n2×n3\mathcal{B} \in \mathbb{R}^{n_1 \times n_2 \times n_3}BRn1×n2×n3,基于可逆线形变换 L\mathcal{L}L 的张量-张量乘积定义为:

A∗LB=L−1(ALΔBL), \mathcal{A} *_{\mathfrak{L}} \mathcal{B} = \mathfrak{L}^{-1}(\mathcal{A}_{\mathfrak{L}} \Delta \mathcal{B}_{\mathfrak{L}}), ALB=L1(ALΔBL),

其中:

  • Δ\DeltaΔ 表示“逐面相乘(face-wise product)”,并满足:

    C=AΔB  ⟺  bdiag(C)=bdiag(A)⋅bdiag(B). \mathcal{C} = \mathcal{A} \Delta \mathcal{B} \iff bdiag(\mathcal{C}) = bdiag(\mathcal{A}) \cdot bdiag(\mathcal{B}). C=AΔBbdiag(C)=bdiag(A)bdiag(B).


在张量代数中,直接定义张量与张量的乘积可能比较复杂,因此需要利用某种“变换”方法简化操作。例如,使用离散傅里叶变换(DFT)、离散余弦变换(DCT)等工具,可以将张量运算转化为更简单的形式。

  1. 定义的核心

    • 张量 A\mathcal{A}AB\mathcal{B}B 的乘积是通过某种变换 L\mathfrak{L}L(例如傅里叶变换)来定义的。
    • 具体而言,
      • 先对张量 A\mathcal{A}AB\mathcal{B}B 施加 L\mathfrak{L}L,将它们变换到新的域;
      • 然后在这个域中逐面相乘(face-wise product);
      • 最后通过逆变换 L−1\mathfrak{L}^{-1}L1 回到原来的域。
  2. 逐面相乘

    • 如果我们将张量看成是由多个矩阵切片(每一个“面”)组成的,那么逐面相乘表示的是对应位置的矩阵逐元素相乘。

    • 这一操作可以通过“块对角矩阵”的性质来验证,即:

      bdiag(C)=bdiag(A)⋅bdiag(B), bdiag(\mathcal{C}) = bdiag(\mathcal{A}) \cdot bdiag(\mathcal{B}), bdiag(C)=bdiag(A)bdiag(B),

      其中 C\mathcal{C}C 是乘积张量。

  3. 变换 L\mathfrak{L}L

    • L\mathfrak{L}L 是一个线性变换(例如傅里叶变换),用于将张量从原始域转换到一个计算更方便的域。
    • L−1\mathfrak{L}^{-1}L1L\mathfrak{L}L 的逆变换,将结果变换回原始域。

应用场景:

  1. 高效张量运算
    利用变换可以降低计算复杂度。例如,在傅里叶变换域中,卷积运算可以简化为点乘。
  2. 信号与图像处理
    逐面相乘在处理多通道图像、视频或信号时非常有用。
  3. 机器学习中的张量分解
    此定义可用于优化算法中的张量分解与重建。

张量奇异值分解【t-SVD】

对于任意 X∈Rn1×n2×n3\mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times n_3}XRn1×n2×n3,它可以被分解为:

X=U∗LS∗LVT, \mathcal{X} = \mathcal{U}*_{\mathfrak{L}} \mathcal{S}*_{\mathfrak{L}} \mathcal{V}^T, X=ULSLVT,

其中:

  • U∈Rn1×n1×n3\mathcal{U} \in \mathbb{R}^{n_1 \times n_1 \times n_3}URn1×n1×n3
  • V∈Rn2×n2×n3\mathcal{V} \in \mathbb{R}^{n_2 \times n_2 \times n_3}VRn2×n2×n3
  • S∈Rn1×n2×n3\mathcal{S} \in \mathbb{R}^{n_1 \times n_2 \times n_3}SRn1×n2×n3 是一个 f-对角张量(f-diagonal tensor)
  • (⋅)T(\cdot)^T()T 表示张量转置。

张量奇异值分解(Tensor Singular Value Decomposition, t-SVD)是针对三阶张量的一种分解方法,其目的是将张量分解为三个具有特殊性质的张量 U、S、V\mathcal{U}、\mathcal{S}、\mathcal{V}USV,类似于矩阵SVD分解。这个分解是基于块对角矩阵或循环矩阵操作的扩展。


  1. 张量分解的形式
    • X:\mathcal{X}:X是需要分解的张量。
    • U:\mathcal{U}:U是一个单位张量,类似于矩阵SVD中的左奇异向量矩阵。
    • S:\mathcal{S}:S是一个“f-对角张量”,表示在变换域中仅对角元素非零。
    • V:\mathcal{V}:V另一个单位张量,类似于矩阵SVD中的右奇异向量矩阵。
  2. 乘法 ∗L*_{\mathfrak{L}}L
    • 分解中使用的是基于某种变换(如傅里叶变换)的张量乘积。
    • 这意味着在某个域(如频域)中计算,然后通过逆变换回到原始域。
  3. f-对角张量
    • 类似于矩阵SVD中的对角矩阵,f-对角张量是指在变换域中只有对角位置的值是非零的。
  4. 张量转置
    • VT\mathcal{V}^TVT 表示对张量进行转置操作,这可能是对张量模式的重新排列。

应用场景:

  1. 压缩与降维
    t-SVD 可以用来对高维数据进行降维,从而减少存储和计算开销。
  2. 信号与图像处理
    在视频、图像的压缩与重建中,t-SVD是常用工具。
  3. 机器学习与数据分析
    t-SVD可用于分析张量数据集的潜在结构,例如推荐系统中的多模态数据。
  • U∈Rn1×n1×n3\mathcal{U} \in \mathbb{R}^{n_1 \times n_1 \times n_3}URn1×n1×n3,S∈Rn1×n2×n3\mathcal{S} \in \mathbb{R}^{n_1 \times n_2 \times n_3}SRn1×n2×n3 ,为什么还能用张量乘法?

    1. 为什么 UL∗S\mathcal{U} _{\mathfrak{L}}* \mathcal{S}ULS 是可行的?

    张量维数的分析:

    • U∈Rn1×n1×n3\mathcal{U} \in \mathbb{R}^{n_1 \times n_1 \times n_3}URn1×n1×n3 :是一个三阶张量,表示一个正交张量。
    • S∈Rn1×n2×n3\mathcal{S} \in \mathbb{R}^{n_1 \times n_2 \times n_3}SRn1×n2×n3 :是一个 f-对角张量。
    • U∗LS\mathcal{U} *_{\mathfrak{L}} \mathcal{S}ULS :通过 t−productt-producttproduct(基于张量乘法)定义,最终结果是一个尺寸为 n1×n2×n3n_1 \times n_2 \times n_3n1×n2×n3 的张量。

    张量乘法的规则(t-product 定义):

    在 t-SVD 中,t-product 的乘法实际上是利用块循环矩阵(block circulant matrix)来实现的。

    1. 将张量转化为块循环矩阵:
      • U\mathcal{U}US\mathcal{S}S 会分别被转化为块循环矩阵:
      • bcirc(U)∈R(n1n3)×(n1n3)bcirc(\mathcal{U}) \in \mathbb{R}^{(n_1 n_3) \times (n_1 n_3)}bcirc(U)R(n1n3)×(n1n3)
      • bcirc(S)∈R(n1n3)×(n2n3)bcirc(\mathcal{S}) \in \mathbb{R}^{(n_1 n_3) \times (n_2 n_3)}bcirc(S)R(n1n3)×(n2n3)
    2. 在块循环矩阵中进行矩阵乘法:
      • bcirc(U)⋅bcirc(S)bcirc(\mathcal{U}) \cdot bcirc(\mathcal{S})bcirc(U)bcirc(S) :按照矩阵的规则相乘。
    3. 逆映射回张量形式:
      • 相乘的结果会映射回张量域,恢复成一个 n1×n2×n3n_1 \times n_2 \times n_3n1×n2×n3 的张量。

    2. 为什么不同模式的张量可以相乘?

    第三维度 n3n_3n3 的独立性:

    在 t-SVD 的张量乘法中,第三维度(n3)( n_3 )n3被视为一系列独立的“面”(切片)操作。这意味着:

    • U\mathcal{U}US\mathcal{S}S 的前两维 n1n_1n1n2n_2n2 决定了“每一面”的形状。
    • n3n_3n3 只是控制了切片的数量,实际乘法是在每个切片中完成的。

    逐面相乘:

    在变换域中(如通过离散傅里叶变换),每一个频率切片会被提取出来变成一个矩阵乘法:

    • 对第 i 个切片:
      • U(i)∈Rn1×n1\mathcal{U}^{(i)} \in \mathbb{R}^{n_1 \times n_1}U(i)Rn1×n1

      • S(i)∈Rn1×n2\mathcal{S}^{(i)} \in \mathbb{R}^{n_1 \times n_2}S(i)Rn1×n2

      • 可以直接进行矩阵乘法:

        U(i)⋅S(i)∈Rn1×n2. \mathcal{U}^{(i)} \cdot \mathcal{S}^{(i)} \in \mathbb{R}^{n_1 \times n_2}. U(i)S(i)Rn1×n2.

    通过变换与逆变换连接:

    • 在 t-SVD 的乘法中,整个张量的乘法是通过傅里叶变换 L\mathfrak{L}L 和逆变换 L−1\mathfrak{L}^{-1}L1 实现的。
    • 即:
      • L(U)\mathfrak{L}(\mathcal{U})L(U)L(S)\mathfrak{L}(\mathcal{S})L(S) 转化为频率域矩阵。
      • 逐面相乘后再通过逆变换 L−1\mathcal{L}^{-1}L1 回到时域。

    3. 总结

    U\mathcal{U}US\mathcal{S}S 的维数不同,但张量乘法仍然成立,原因在于:

    1. t-product 是基于频率切片逐面相乘的操作: 第三维 n3n_3n3 被视为切片,操作是针对每个切片完成的,前两维的形状决定了可以相乘。
    2. 块循环矩阵的支持: 通过块循环矩阵扩展了张量乘法的定义,允许不同模式的张量在一起运算。
    3. 变换域定义: 通过傅里叶变换等技术,乘法实质上是矩阵的逐面乘法,兼容了不同模式的张量。

张量核范数【Tensor Nuclear Norm, TNN】

对于 X∈Rn1×n2×n3\mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times n_3}XRn1×n2×n3,其张量核范数定义为:

∥X∥∗:=1n3∑i=1n3∥Xˉ(i)∥∗, \|\mathcal{X}\|_* := \frac{1}{n_3} \sum_{i=1}^{n_3} \|\bar{\mathcal{X}}^{(i)}\|_*, X:=n31i=1n3Xˉ(i),

进一步展开为:

∥X∥∗=1n3∑i=1n3∑j=1min⁡{n1,n2}σj(Xˉ(i)), \|\mathcal{X}\|_* = \frac{1}{n_3} \sum_{i=1}^{n_3} \sum_{j=1}^{\min\{n_1, n_2\}} \sigma_j(\bar{\mathcal{X}}^{(i)}), X=n31i=1n3j=1min{n1,n2}σj(Xˉ(i)),

其中:

  • Xˉ(i)\bar{\mathcal{X}}^{(i)}Xˉ(i) 是张量 X\mathcal{X}X 的第 iii 个“频率切片”(通常通过某种变换,例如傅里叶变换得到)。
  • ∥Xˉ(i)∥∗\|\bar{\mathcal{X}}^{(i)}\|_*Xˉ(i) 是矩阵 Xˉ(i)\bar{\mathcal{X}}^{(i)}Xˉ(i) 的核范数(nuclear norm),即其奇异值的和
  • σj(Xˉ(i))\sigma_j(\bar{\mathcal{X}}^{(i)})σj(Xˉ(i)) 是矩阵 Xˉ(i)\bar{\mathcal{X}}^{(i)}Xˉ(i) 的第 jjj 个奇异值。

定义的含义与背景:

  1. 张量核范数的作用
    • 张量核范数(TNN)是一种衡量张量低秩性质的指标,广泛用于张量分解、压缩、降噪和数据填充等问题中。
    • 该定义通过将三维张量分解为多个矩阵切片(Xˉ(i))(\bar{\mathbf{X}}^{(i)})Xˉ(i)计算这些切片的核范数(矩阵奇异值之和)的平均值来定义张量的整体核范数。
  2. 奇异值的作用
    • 核范数是矩阵所有奇异值之和,是衡量矩阵秩的松弛形式(即秩的凸近似)。
    • 对每个频率切片计算奇异值之和,反映了张量在不同频率下的低秩特性。
  3. 归一化因子 1/n31/n_31/n3
    • 该归一化因子确保张量核范数与张量的第三维(频率维度)的长度无关,便于在不同规模的张量间进行比较。

应用场景

  1. 张量完备性(Tensor Completion)
    张量核范数可以用于数据填充问题(如视频修复),通过最小化核范数鼓励数据的低秩特性。
  2. 信号与图像处理
    在多通道数据(如彩色图像或视频序列)处理中,TNN是一种常用的正则化工具。
  3. 机器学习与数据降维
    TNN 用于处理高维数据,保留数据的低秩结构,同时去除噪声。

梯度张量【gradient tensor】

对于一个三维张量 X\mathcal{X}X 属于实数域 Rn1×n2×n3R^{n_{1}\times n_{2}\times n_{3}}Rn1×n2×n3,其沿着第 kkk 模的梯度张量定义为

Gk:=∇k(X)=X×kDnk,k=1,2,3, \mathcal{G}_{k}:=\nabla_{k}(\mathcal{X})=\mathcal{X}\times_{k} D_{n_{k}}, \quad k=1,2,3, Gk:=k(X)=X×kDnk,k=1,2,3,

其中 DnkD_{n_{k}}Dnk 是一个行循环矩阵,其元素为 (−1,1,0,…,0)(-1,1,0,\ldots, 0)(1,1,0,,0)

Dnk=(−110⋯00−11⋯000−1⋯0⋮⋮⋮⋱⋮000⋯1) D_{n_k} = \begin{pmatrix} -1 & 1 & 0 & \cdots & 0 \\ 0 & -1 & 1 & \cdots & 0 \\ 0 & 0 & -1 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & \cdots & 1 \end{pmatrix} Dnk= 1000110001100001

这里的 Gk\mathcal{G}_{k}Gk 表示沿着第 kkk 模的梯度张量,∇k(X)\nabla_{k}(\mathcal{X})k(X) 表示对张量 X\mathcal{X}X 沿着第 kkk 模的梯度操作,×k\times_{k}×k 表示在第 kkk 模上进行张量乘法。DnkD_{n_{k}}Dnk 是一个行循环矩阵,其第一个元素是 −1-11,第二个元素是 111,其余元素都是 000,这个矩阵的大小由 nkn_{k}nk 决定。

张量相关总变差范数【tensor correlated total variation norm】

具体来说,对于一个三维张量 X∈Rn1×n2×n3\mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times n_3}XRn1×n2×n3,其 TCTV 范数定义为:

∥X∥TCTV:=13∑k=13∥Gk∥∗,L, \|\mathcal{X}\|_{TCTV} := \frac{1}{3} \sum_{k=1}^{3} \|\mathcal{G}_k\|_{*,\mathfrak{L}}, XTCTV:=31k=13Gk,L,

其中 L\mathfrak{L}L 是一个可逆的线性变换,它可以是离散傅里叶变换(DFT)或离散余弦变换(DCT),或者是其他满足条件的可逆线性变换,其对应的变换矩阵满足 Un3×Un3∗=Un3∗×Un3=n3In3U_{n_3} \times U_{n_3}^* = U_{n_3}^* \times U_{n_3} = n_3 I_{n_3}Un3×Un3=Un3×Un3=n3In3

这里的 ∥⋅∥∗,L\|\cdot\|_{*,\mathfrak{L}},L 表示在变换 L\mathfrak{L}L 下的某种范数,而 Gk\mathcal{G}_kGk 是通过变换 L\mathfrak{L}L 得到的张量 X\mathcal{X}X 的变换结果。这个范数的计算涉及到对三个变换结果的范数求和,然后取平均值。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐