系列博客目录
文章目录
下图就是一个简单的多模态图片,图像的金毛和文本的金毛,一起被模型学习,嵌入一个公共的隐空间。
什么是秩?张量秩是描述张量可以通过多少个较低阶张量的乘积来表示。先说一下矩阵的秩,比如A,他的秩为2,因为100这个向量无法通过矩阵运算得到010,他们两个竖向量是线性无关的。矩阵其实就是个特殊的张量,他是个二阶张量。然后我们再说以下这个秩为1的张量,它可以是很多阶的,一阶就是一个向量,二阶就是一个矩阵,三阶就是个三阶张量。三阶张量可以由三个向量外积得到。此时它的秩是1。
计算秩,一般是通过CPD来把它进行分解。几阶的张量当然要用几个向量进行外积得到,然后高阶张量的秩,就只能通过低阶张量进行相加来得到了,所以高阶张量的秩的大小就是构成它的低阶张量的个数。
核范数是一种衡量矩阵或张量复杂度的范数,反映了张量的低秩程度:
- 如果张量可以用少量的低秩成分表示(即 r r r 较小),则核范数较小。
- 如果张量结构复杂,需要很多成分才能表示(即 r r r 较大),核范数会更大。
这里就是通过经过了放缩后的佛罗贝尼乌斯范数来当作核范数的上界。
核范数是一种衡量矩阵或张量复杂度的范数,用于反映其低秩结构。以下是公式的核心解释以及对每个参数的说明:
公式回顾:
∥
X
∥
∗
=
inf
{
∑
i
=
1
r
∣
λ
i
∣
:
X
=
∑
i
=
1
r
λ
i
(
⨂
m
=
1
M
w
m
i
)
,
∥
w
m
i
∥
=
1
,
r
∈
N
}
\| \mathcal{X} \|_* = \inf \left\{ \sum_{i=1}^r |\lambda_i| : \mathcal{X} = \sum_{i=1}^r \lambda_i \left( \bigotimes_{m=1}^M \mathbf{w}_m^i \right), \|\mathbf{w}_m^i\| = 1, r \in \mathbb{N} \right\}
∥X∥∗=inf{i=1∑r∣λi∣:X=i=1∑rλi(m=1⨂Mwmi),∥wmi∥=1,r∈N}
参数解释:
-
X \mathcal{X} X:
- 表示目标张量(或矩阵),即我们希望计算其核范数的对象。
- 如果 (\mathcal{X}) 是矩阵(例如 2 阶张量),核范数就是奇异值之和;如果是高阶张量,核范数衡量其更复杂的低秩结构。
-
λ i \lambda_i λi:
- 是权重,表示张量分解中第 (i) 个低秩成分的系数。
- 核范数通过最小化所有权重的绝对值和((\sum |\lambda_i|))来衡量张量的复杂度。
-
⨂ m = 1 M w m i \bigotimes_{m=1}^M \mathbf{w}_m^i ⨂m=1Mwmi:
- 是张量分解中 (i) 的第 (m) 模态上的向量的张量积(outer product)。
- (\mathbf{w}_m^i) 是归一化的向量(即 (|\mathbf{w}_m^i| = 1)),用来构造每个低秩成分。
-
r ∈ N r \in \mathbb{N} r∈N:
- 是分解所需的秩,即表示目标张量所需的低秩成分数量。
- 核范数的计算涉及寻找最优的 (r) 和对应的分解,使权重和最小。
-
inf \inf inf:
- 表示在所有可能的分解方式中,找到一个能够使得权重和最小的分解(“最优分解”)。
核范数的意义:
核范数反映了张量的低秩程度:
- 如果张量可以用少量的低秩成分表示(即 r r r 较小),则核范数较小。
- 如果张量结构复杂,需要很多成分才能表示(即 r r r 较大),核范数会更大。
核范数在矩阵或张量的低秩分解、数据压缩、正则化等任务中非常重要,是衡量数据结构简洁性和复杂性的核心指标。
标签:Regularization,via,Imperfect,矩阵,张量,分解,inf,范数,向量 From: https://blog.csdn.net/buyaotutou/article/details/144964413