【张量】张量符号1.0
块循环矩阵是一种特殊的矩阵形式,其中矩阵是由张量。
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=1∑nxi
表示一组数据的平均值。
虽然这种解释更常见于统计学,但在张量领域的上下文中,它并不常用。
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}X∈Rn1×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)
- 输入:
- 给定一个三阶张量 X∈Rn1×n2×n3\mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times n_3}X∈Rn1×n2×n3,它可以看作是包含 n3n_3n3 个 n1×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))是张量在第三维上的一个切片。
- 输出:
- 将这些切片 Xˉ(i)\bar{\mathcal{X}}^{(i)}Xˉ(i) 安排到一个块对角矩阵中。块对角矩阵是一种特殊的矩阵形式:
- 每个块(子矩阵)位于矩阵的主对角线上。
- 非对角线的部分全为零。
- 将这些切片 Xˉ(i)\bar{\mathcal{X}}^{(i)}Xˉ(i) 安排到一个块对角矩阵中。块对角矩阵是一种特殊的矩阵形式:
- 关键特性:
- 尺寸:如果每个切片 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)(n3⋅n1)×(n3⋅n2)。
- 稀疏性:块对角矩阵是一种稀疏矩阵,因为非对角线部分是零。
应用场景:
- 张量分解与运算:
块对角矩阵的构造是为了将高阶张量的计算问题转化为矩阵运算,从而简化问题的复杂性。 - 信号处理:
在信号处理或系统分析中,块对角矩阵可以用来表示独立的子系统,方便解耦和分析。 - 机器学习:
在多任务学习或多模型联合训练中,块对角矩阵常用于表示各任务或模型之间的解耦结构。
块循环矩阵【block circulant matrix】
对于 X∈Rn1×n2×n3\mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times n_3}X∈Rn1×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(n3−1)⋯⋯⋱⋯X(2)X(3)⋮X(1) .
定义的含义:
块循环矩阵是一种特殊的矩阵形式,其中矩阵是由张量 X\mathcal{X}X 的切片(即 X(i)\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)(n3⋅n1)×(n3⋅n2)。
应用场景:
- 张量计算简化:在张量分解或张量相关计算中,块循环矩阵的结构便于利用线性代数工具进行高效运算。
- 信号处理:块循环矩阵在离散傅里叶变换(DFT)和卷积计算中广泛应用。
- 系统建模:可以用于描述具有周期性特性的系统或信号。
张量与张量的乘积【tensor-tensor product】
对于 A∈Rn1×n2×n3\mathcal{A} \in \mathbb{R}^{n_1 \times n_2 \times n_3}A∈Rn1×n2×n3 和 B∈Rn1×n2×n3\mathcal{B} \in \mathbb{R}^{n_1 \times n_2 \times n_3}B∈Rn1×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}}), A∗LB=L−1(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ΔB⟺bdiag(C)=bdiag(A)⋅bdiag(B).
在张量代数中,直接定义张量与张量的乘积可能比较复杂,因此需要利用某种“变换”方法简化操作。例如,使用离散傅里叶变换(DFT)、离散余弦变换(DCT)等工具,可以将张量运算转化为更简单的形式。
-
定义的核心:
- 张量 A\mathcal{A}A 和 B\mathcal{B}B 的乘积是通过某种变换 L\mathfrak{L}L(例如傅里叶变换)来定义的。
- 具体而言,
- 先对张量 A\mathcal{A}A 和 B\mathcal{B}B 施加 L\mathfrak{L}L,将它们变换到新的域;
- 然后在这个域中逐面相乘(face-wise product);
- 最后通过逆变换 L−1\mathfrak{L}^{-1}L−1 回到原来的域。
-
逐面相乘:
-
如果我们将张量看成是由多个矩阵切片(每一个“面”)组成的,那么逐面相乘表示的是对应位置的矩阵逐元素相乘。
-
这一操作可以通过“块对角矩阵”的性质来验证,即:
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 是乘积张量。
-
-
变换 L\mathfrak{L}L:
- L\mathfrak{L}L 是一个线性变换(例如傅里叶变换),用于将张量从原始域转换到一个计算更方便的域。
- L−1\mathfrak{L}^{-1}L−1 是 L\mathfrak{L}L 的逆变换,将结果变换回原始域。
应用场景:
- 高效张量运算:
利用变换可以降低计算复杂度。例如,在傅里叶变换域中,卷积运算可以简化为点乘。 - 信号与图像处理:
逐面相乘在处理多通道图像、视频或信号时非常有用。 - 机器学习中的张量分解:
此定义可用于优化算法中的张量分解与重建。
张量奇异值分解【t-SVD】
对于任意 X∈Rn1×n2×n3\mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times n_3}X∈Rn1×n2×n3,它可以被分解为:
X=U∗LS∗LVT, \mathcal{X} = \mathcal{U}*_{\mathfrak{L}} \mathcal{S}*_{\mathfrak{L}} \mathcal{V}^T, X=U∗LS∗LVT,
其中:
- U∈Rn1×n1×n3\mathcal{U} \in \mathbb{R}^{n_1 \times n_1 \times n_3}U∈Rn1×n1×n3,
- V∈Rn2×n2×n3\mathcal{V} \in \mathbb{R}^{n_2 \times n_2 \times n_3}V∈Rn2×n2×n3,
- S∈Rn1×n2×n3\mathcal{S} \in \mathbb{R}^{n_1 \times n_2 \times n_3}S∈Rn1×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}U、S、V,类似于矩阵SVD分解。这个分解是基于块对角矩阵或循环矩阵操作的扩展。
- 张量分解的形式:
- X:\mathcal{X}:X:是需要分解的张量。
- U:\mathcal{U}:U:是一个单位张量,类似于矩阵SVD中的左奇异向量矩阵。
- S:\mathcal{S}:S:是一个“f-对角张量”,表示在变换域中仅对角元素非零。
- V:\mathcal{V}:V:是另一个单位张量,类似于矩阵SVD中的右奇异向量矩阵。
- 乘法 ∗L*_{\mathfrak{L}}∗L :
- 分解中使用的是基于某种变换(如傅里叶变换)的张量乘积。
- 这意味着在某个域(如频域)中计算,然后通过逆变换回到原始域。
- f-对角张量:
- 类似于矩阵SVD中的对角矩阵,f-对角张量是指在变换域中只有对角位置的值是非零的。
- 张量转置:
- VT\mathcal{V}^TVT 表示对张量进行转置操作,这可能是对张量模式的重新排列。
应用场景:
- 压缩与降维:
t-SVD 可以用来对高维数据进行降维,从而减少存储和计算开销。 - 信号与图像处理:
在视频、图像的压缩与重建中,t-SVD是常用工具。 - 机器学习与数据分析:
t-SVD可用于分析张量数据集的潜在结构,例如推荐系统中的多模态数据。
-
U∈Rn1×n1×n3\mathcal{U} \in \mathbb{R}^{n_1 \times n_1 \times n_3}U∈Rn1×n1×n3,S∈Rn1×n2×n3\mathcal{S} \in \mathbb{R}^{n_1 \times n_2 \times n_3}S∈Rn1×n2×n3 ,为什么还能用张量乘法?
1. 为什么 UL∗S\mathcal{U} _{\mathfrak{L}}* \mathcal{S}UL∗S 是可行的?
张量维数的分析:
- U∈Rn1×n1×n3\mathcal{U} \in \mathbb{R}^{n_1 \times n_1 \times n_3}U∈Rn1×n1×n3 :是一个三阶张量,表示一个正交张量。
- S∈Rn1×n2×n3\mathcal{S} \in \mathbb{R}^{n_1 \times n_2 \times n_3}S∈Rn1×n2×n3 :是一个 f-对角张量。
- U∗LS\mathcal{U} *_{\mathfrak{L}} \mathcal{S}U∗LS :通过 t−productt-productt−product(基于张量乘法)定义,最终结果是一个尺寸为 n1×n2×n3n_1 \times n_2 \times n_3n1×n2×n3 的张量。
张量乘法的规则(t-product 定义):
在 t-SVD 中,t-product 的乘法实际上是利用块循环矩阵(block circulant matrix)来实现的。
- 将张量转化为块循环矩阵:
- U\mathcal{U}U 和 S\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) 。
- 在块循环矩阵中进行矩阵乘法:
- bcirc(U)⋅bcirc(S)bcirc(\mathcal{U}) \cdot bcirc(\mathcal{S})bcirc(U)⋅bcirc(S) :按照矩阵的规则相乘。
- 逆映射回张量形式:
- 相乘的结果会映射回张量域,恢复成一个 n1×n2×n3n_1 \times n_2 \times n_3n1×n2×n3 的张量。
2. 为什么不同模式的张量可以相乘?
第三维度 n3n_3n3 的独立性:
在 t-SVD 的张量乘法中,第三维度(n3)( n_3 )(n3)被视为一系列独立的“面”(切片)操作。这意味着:
- U\mathcal{U}U 和 S\mathcal{S}S 的前两维 n1n_1n1 和 n2n_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}L−1 实现的。
- 即:
- L(U)\mathfrak{L}(\mathcal{U})L(U) 和 L(S)\mathfrak{L}(\mathcal{S})L(S) 转化为频率域矩阵。
- 逐面相乘后再通过逆变换 L−1\mathcal{L}^{-1}L−1 回到时域。
3. 总结
U\mathcal{U}U 和 S\mathcal{S}S 的维数不同,但张量乘法仍然成立,原因在于:
- t-product 是基于频率切片逐面相乘的操作: 第三维 n3n_3n3 被视为切片,操作是针对每个切片完成的,前两维的形状决定了可以相乘。
- 块循环矩阵的支持: 通过块循环矩阵扩展了张量乘法的定义,允许不同模式的张量在一起运算。
- 变换域定义: 通过傅里叶变换等技术,乘法实质上是矩阵的逐面乘法,兼容了不同模式的张量。
张量核范数【Tensor Nuclear Norm, TNN】
对于 X∈Rn1×n2×n3\mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times n_3}X∈Rn1×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=1∑n3∥Xˉ(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=1∑n3j=1∑min{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 个奇异值。
定义的含义与背景:
- 张量核范数的作用:
- 张量核范数(TNN)是一种衡量张量低秩性质的指标,广泛用于张量分解、压缩、降噪和数据填充等问题中。
- 该定义通过将三维张量分解为多个矩阵切片(Xˉ(i))(\bar{\mathbf{X}}^{(i)})(Xˉ(i)),计算这些切片的核范数(矩阵奇异值之和)的平均值来定义张量的整体核范数。
- 奇异值的作用:
- 核范数是矩阵所有奇异值之和,是衡量矩阵秩的松弛形式(即秩的凸近似)。
- 对每个频率切片计算奇异值之和,反映了张量在不同频率下的低秩特性。
- 归一化因子 1/n31/n_31/n3:
- 该归一化因子确保张量核范数与张量的第三维(频率维度)的长度无关,便于在不同规模的张量间进行比较。
应用场景:
- 张量完备性(Tensor Completion):
张量核范数可以用于数据填充问题(如视频修复),通过最小化核范数鼓励数据的低秩特性。 - 信号与图像处理:
在多通道数据(如彩色图像或视频序列)处理中,TNN是一种常用的正则化工具。 - 机器学习与数据降维:
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= −100⋮01−10⋮001−1⋮0⋯⋯⋯⋱⋯000⋮1
这里的 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-1−1,第二个元素是 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}X∈Rn1×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}}, ∥X∥TCTV:=31k=1∑3∥Gk∥∗,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 的变换结果。这个范数的计算涉及到对三个变换结果的范数求和,然后取平均值。
更多推荐


所有评论(0)