Paper notes(4):Tensor Ring Decompoition
本文只是个人用于记录论文学习笔记,如有写错的地方还望各位大佬批评指正
1.文章提出的问题
Tensor−Train Decomposition 高度依赖于张量维度的排列,由于其在latent cores 上的多线性积遵循严格的顺序,所以很难找到最优的TT表示。
2.文章的主要创新点
本文针对TTD的局限性,从三个方面进行了改进,提出了一种新的基础张量分解模型——Tensor−Train Decomposition,该模型将高维张量表示为一系列低维核张量(三维张量)上的环形多线性积。其图形化表示如下图所示:

3.Tensor Ring Model
T是一个d维张量,大小为n1×n2×⋯×nd,表示为T∈Rn1×n2×⋯×nd,TRD将会把T分解为一系列张量Zk∈Rrk×nk×rk+1(注意TRD分解所得的张量的大小和TTD分解所得张量大小的区别),特别的Zd∈Rrd×nd×r1,T的某一个元素可以表示为:
T(i1,i2,…,id)=Trace{Z1(i1)Z2(i2)…Zd(id)}=Trace{k=1∏dZk(ik)}(1)
其中Zk(ik)表示张量Zk的第ik个lateral slice,其大小为rk×rk+1。Zk被称为kth-core;核张量的大小rk的集合表示为一个向量r=[r1,r2,⋯,rd]T,被称为TR-ranks。类似于TTD公式(1)也可以表示为索引形式:
T(i1,i2,…,id)=α1,⋯,αd=1∑r1,⋯,rdk=1∏dZk(αk,ik,αk+1)(2)
其中αd+1=α1,k∈{1,⋯,d},1⩽αk⩽rk,1⩽ik⩽nk。TRD的张量表示形式如下:
T=α1,⋯,αd=1∑r1,⋯,rdz1(α1,α2)∘⋯∘zd(αd,α1)(3)
这里‘∘’表示向量的外积运算,zk(αk,αk+1)∈Rnk表示Zk的第(αk,αk+1)个mode-2 fiber(关于这一点可以参照三维张量的mode-2 fiber示意图,理解起来很容易)。
4.TRD算法
张量T的TRD分解表示为T=R(Z1,Z2,…,Zd),目标函数为:
Z1,…,Zdmin=∥T−R(Z1,Z2,…,Zd)∥F⩽ϵp∥T∥F(5)
一些定义:

这篇文章给出了四种TRD的算法,具体的算法伪代码请参看论文。
参考文献
1. Tensor Ring Dexomposition