模型降阶方法之张量方法

Posted 陆嵩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模型降阶方法之张量方法相关的知识,希望对你有一定的参考价值。

模型降阶方法之张量方法

文章目录

简介

POD 方法的介绍如下所示:
https://blog.csdn.net/lusongno1/article/details/125944587

经典的 POD 方法无法处理非线性项,所以发展了很多的方法,比如 DEIM:
https://blog.csdn.net/lusongno1/article/details/125955245

如果我们要考虑的方程里面有一组参数,不同的参数都能获得一个 Matrix,那么我们应该如何把多组参数下的得到的数据放在一块作为先验,来给新到来的一组参数做模型降阶呢?这就是这篇文章要考虑的问题,即高阶的张量分解,和参数维度上的插值。简单地说,就是如果已经有了一组参数下的快照,那么新来一个参数,它之下的 SVD 分解不需要重新找快照,只需要由原来的参数插值得到。

这篇博客有点难理解,可以大概看看,再去看一些文章。我们略去一些约定俗成的符号的含义的解释,不理解的符号含义可以看一下参考文献。我们只介绍方法,证明分析和实验,可以阅读论文。

基础知识

我们先介绍一些基础的定义。一个代数张量空间中的张量可以写为 elementary 张量的线性组合:
v = ∑ i = 1 m v i ( 1 ) ⊗ ⋯ ⊗ v i ( d ) v=\\sum_i=1^m v_i^(1) \\otimes \\cdots \\otimes v_i^(d) v=i=1mvi(1)vi(d)

注意到这里其实是没有组合系数的。

一个已知张量的最小子空间,它是一组空间。它是 v ∈ ⨂ v = 1 d U v v \\in \\bigotimes_v=1^d U_v vv=1dUv 中, U ν U_\\nu Uν 的极小化。也就说,能够包住 v v v 的最最小的空间分量。

一个二阶张量的秩,是最小的 r r r 使得满足:
u = ∑ i = 1 r s i ⊗ v i u=\\sum_i=1^r s_i \\otimes v_i u=i=1rsivi

对于二阶张量,奇异值分解一般是这么写的:
u = ∑ i = 1 n σ i s i ⊗ v i u=\\sum_i=1^n \\sigma_i s_i \\otimes v_i u=i=1nσisivi

对于高阶张量,它的 Canonical 秩就是二阶张量秩的推广,即最小的 r r r 使得,
v = ∑ i = 1 r v i ( 1 ) ⊗ ⋯ ⊗ v i ( d ) v=\\sum_i=1^r v_i^(1) \\otimes \\cdots \\otimes v_i^(d) v=i=1rvi(1)vi(d)
所谓的 α \\alpha α 值得是最小子空间的维数, α \\alpha α 表示索引,
rank ⁡ α ( v ) = dim ⁡ ( U α min ⁡ ( v ) ) . \\operatornamerank_\\alpha(v)=\\operatornamedim\\left(U_\\alpha^\\min (v)\\right) . rankα(v)=dim(Uαmin(v)).

Tucker Rank 其实是一个向量,它是用最小子空间的维数来定义的。即一个具有 Tucker Rank r = ( r ν ) v ∈ D r=\\left(r_\\nu\\right)_v \\in D r=(rν)vD 的张量集合,它满足在所有的指标集合里,对应的最小子空间的维数是限定的,即:
T r = v ∈ X : rank ⁡ v ( v ) = dim ⁡ ( U v min ⁡ ( v ) ) ≤ r ν , v ∈ D , \\mathscrT_r=\\left\\v \\in X: \\operatornamerank_v(v)=\\operatornamedim\\left(U_v ^\\min (v)\\right) \\leq r_\\nu, v \\in D\\right\\, Tr=vX:rankv(v)=dim(Uvmin(v))rν,vD,
那么 Tucker 张量里面的一个元素就可以写成:
v = ∑ i 1 = 1 r 1 … ∑ i d = 1 r d C i 1 , … , i d v i 1 ( 1 ) ⊗ ⋯ ⊗ v i d ( d ) v=\\sum_i_1=1^r_1 \\ldots \\sum_i_d=1^r_d C_i_1, \\ldots, i_d v_i_1^(1) \\otimes \\cdots \\otimes v_i_d^(d) v=i1=1r1id=1rdCi1,,idvi1(1)vid(d)

Tree-Based Rank 指的是,我们现在不限定单个的指标对应的分量最小子空间的维数,我们限定给定指标集的对应的张量分解空间的张成的空间的维数,即
B T r = v ∈ X : rank ⁡ α ( v ) = dim ⁡ ( U α min ⁡ ( v ) ) ≤ r α , α ∈ T D . \\mathscrB \\mathscrT_r=\\left\\v \\in X: \\operatornamerank_\\alpha(v)=\\operatornamedim\\left(U_\\alpha^\\min (v)\\right) \\leq r_\\alpha, \\alpha \\in T_D\\right\\ . BTr=vX:rankα(v)=dim(Uαmin(v))rα,αTD.

注意到这里,一个指标集合,就给一个限定,有多少个指标集合,就给多少个限定。Tucker Rank 是它去每个指标集合单个指标的时候的特例。

TT(Tensor-train) Rank 也是 Tree-Based Rank 的一种特例。它取得指标集是有序的,从尾巴开始增长的一组指标集合,即
T T r = v ∈ X : rank ⁡ k + 1 , … , d ( v ) ≤ r k \\mathscrT \\mathscrT_r=\\left\\v \\in X: \\operatornamerank_\\k+1, \\ldots, d\\(v) \\leq r_k\\right\\ TTr=vX:rank以上是关于模型降阶方法之张量方法的主要内容,如果未能解决你的问题,请参考以下文章

模型降阶方法之张量方法应用举例

模型降阶方法之张量方法应用举例

模型降阶方法之 DEIM

模型降阶方法之 DEIM

模型降阶方法之 POD

模型降阶方法之 POD