1. 引言
张量补全是指从存在数据缺失的张量中补全出原始张量。目前,张量补全已经广泛应用于图像恢复[1]、数据挖掘[2]、信号处理[3]及机器学习[4]等领域,其数学模型为:
(1)
其中
为待补全张量,
为采样张量,
是张量
的某种秩,
为基数为m的采样元素指标集,
是集合
上的正交投影,即:
张量补全中,常用的张量秩有CP秩[5]、Tucker秩[6]、张量火车(TT)秩[7]、张量环(TR)秩[8],本文仅研究Tucker秩张量补全问题。Liu等人[9]给出了基于Tucker秩的核范数最小化凸优化补全模型:
(2)
其中
表示矩阵的核范数,
表示张量
的模-i展开矩阵,
且
。为了求解模型(2),Wang
等人[10]提出了张量补全的加速随机邻近梯度算法;Liu [9]等人提出了三种有效算法:简单低秩张量补全算法(SiLRTC)、快速低秩张量补全算法(FaLRTC)以及高精度低秩张量补全算法(HaLRTC);Gandy等人[11]提出了张量补全的Douglas-Rachford分离算法以及交替方向乘子法。
在实际应用中,Hankel张量因其特殊的结构常应用于数字信号处理[12]、医学成像[13]等领域。由于其广泛的应用背景,一些学者开始对Hankel张量的补全问题进行研究。Hankel张量补全问题在模型(2)的基础上增加了结构的约束,即如下的模型:
(3)
其中
为Hankel张量的集合。
目前,Adamo和Mazzucchelli [14]针对Hankel张量补全提出秩1正交追踪法;Trickett等人[15]针对Hankel张量补全提出了交替方向法。但需指出的是,上述所提及的算法在求解模型(3)时,虽然能够对Hankel张量进行补全,但是不能保证生成的张量始终保持Hankel结构,无法利用Hankel快速奇异值分解,同时上述算法的精度较差,运行算法所耗费的时间较长。为此,王川龙等人提出了Hankel张量补全的快速算法[16]与均值加速邻近梯度算法[17]。本文受王川龙等人工作的启发,提出了一种保Hankel结构的加速邻近梯度算法。该算法基于
-范数投影,从而能够保证迭代过程中生成的张量始终保持Hankel结构。相较于F-模,
-模能够在凸优化问题中更高效求解。同时由于张量的Hankel结构,在算法中采用了Hankel张量的模-s展开快速奇异值阈值算子,提高了算法效率,减少了奇异值分解所用的时间,并能提高算法的精度。
本文结构安排如下:第2节主要总结一些有关张量的预备知识;第3节给出一种新的基于
-模的低秩Hankel张量补全的保结构加速邻近梯度算法;第4节给出了新算法在合理假设条件下的收敛性证明;第5节通过随机Hankel张量补全以及简单图像修复实例的数值实验验证了算法的有效性;最后,我们给出了本文的总结。
2. 预备知识
本节中,介绍下文所需要的符号说明和基础知识。
为方便起见,
表示
的实矩阵全体。矩阵的核范数和F范数分别表示为
和
。矩阵的内积为
。
表示n-阶张量,它的元素表示为
,其中
,
。
表示张量的模-k展开,其逆定义为
。张量
的Tucker秩为
。
表示张量的F范数,
表示张量的内积,张量
的核范数定义为
。张量
的Hankel化算子定义为
,其中Hankel张量
的元素
值为
中与
下角标和相等元素的最大值与最小值的平均值。
定义2.1 (奇异值分解) [18]对于秩为r的矩阵
,存在矩阵
和
,使得
其中
,
,U、V分别是左奇异矩阵,右奇异矩阵。A的奇异值分解记为
。
定义2.2 (奇异值阈值算子) [19]对于任意参数
,秩为r的矩阵
,其奇异值分解为
,则其奇异值阈值算子
定义为
其中
定义2.3 (Hankel张量) [20]给定张量
,若当和
保持不变时,张量
的元素
也保持不变,则称
为Hankel张量。换句话说,
为Hankel张量当且仅当存在一个向量
使得
显然,当
时,Hankel张量为对称张量。
定义2.4 (Hankel张量模-s展开的快速奇异值阈值算子) [16] Hankel张量模-s展开的快速奇异值阈值算子可以表示为如下方式
其中
,
是
移去重复列所得到的矩阵,
;
是由
个向量所组成的矩阵,其中
是第k个单位向量,
表示
第k列的出现次数,且
;
。
定理2.1 (Jensen不等式) [21]对于任意点集
,若
且
,则对凸函数
满足如下不等式
该不等式被称为Jensen不等式。
引理2.1 [22]设任意向量
,选取向量
,使得
则
由以上引理可知,给定一组向量
,则
是所给向量
在
下的投影。
3. 基于
-模的Hankel张量补全的保结构加速邻近梯度法
本节正式提出一种新的基于
-模的低秩Hankel张量补全的保结构加速邻近梯度算法。首先,为了更好地求解模型(3),用以下无约束优化问题近似原问题:
(4)
其中
,
,
为罚函数,
表示Hankel张量的集合。
对于任意的
,用
在
处的二阶展开式近似
,则
的近似函数可表示为
此处
,
。
我们定义

根据上述讨论,新算法通过迭代求解
的极小值点,从而逐步逼近
的极小值点。在每个迭代步骤中,对子问题的解进行Hankel化处理。具体步骤如下:
算法1基于
-模的Hankel张量补全的保结构加速邻近梯度法(HAPG)
步骤1 给定
,
,
,
,
,
,
;
步骤2 令
,
;
步骤3 令
;
步骤4 计算
for i = 1:n
do

end for
步骤5 令


步骤6 若
,停止迭代;否则,转第7步;
步骤7 计算
,
,转第2步。
注:步骤5中的
的计算如下:
设
的元素表示为
,

则

其中令
,
。
由此可知,
是
在
下的投影。
4. 收敛性分析
在本节中,我们给出新算法的收敛性分析。
引理4.1 [23]根据算法1中的步骤4,存在
,使得如下最优性条件成立:

引理4.2 对任意的
,有如下不等式成立:

证明 由
定义有

因此可推得,

不等式两边同时加
,则可得

证毕。
假设4.1 对于算法1中生成的张量序列
,假设有以下不等式成立:
(i) 
(ii) 
(iii) 对任意的Hankel张量
,有
。
引理4.3 序列
由算法1生成,
为最优解。若有假设4.1成立,则有

证明 由引理4.2可得
(5)
又由于
是关于
的凸函数,则有
(6)
(7)
根据(6) (7)式可得
(8)
根据(5) (8)式及假设4.1中(i)可得

由引理4.1整理可得

从而可知
由凸函数的性质及Jensen不等式可得

又因为
与
均为Hankel张量,由假设4.1中的(ii)式与(iii)式即得

结合上述两个不等式,我们推得

类似地我们可以证明

引理4.4
是由算法1生成的序列,则有:

其中
。
证明 根据引理4.3有
(9)
(10)
将(9)式两边同乘
并于(10)式相加即得
(11)
由算法1中的步骤2,计算可得出
与
的关系式为
,将(11)式两边同乘
可得

令
,
,
。
代入毕达哥拉斯关系式
可得
由算法1中的步骤2整理得

再令
即可推出

证毕。
引理4.5 [23]若
为正实数的序列且满足
,
,
,c > 0,则对任意的
,有
。
引理4.6 [23]对于算法1中生成的正序列
,令
,则对于任意
有
。
定理4.1设
为算法1产生的序列,
为模型(3)的最优解。对任意的
,有

证明 令
,
,
。
在引理4.2中令k = 0可得


因此有
则存在
,
,使得
。
结合引理4.4、引理4.5、引理4.6中的
可推出

5. 数值实验
为了考察新算法的数值表现,我们将新算法HAPG与经典算法APG进行比较。本节共分为两部分:第一部分将两个算法应用于求解一些随机产生的低秩Hankel张量补全问题;第二部分将两个算法应用于图像修复实例。数值实验的所有程序都用Matlab R2020a进行编程,都在配置为Intel(R) Core(TM) i5-8250U @1.60GHz,内存8.00 GB,Windows11系统的数值环境下运行实现。
5.1. 随机Hankel张量补全
本小节实验考虑随机产生的张量补全问题。通过对随机生成的不同大小的低秩Hankel张量进行补全,从而比较算法HAPG与经典算法APG。随机张量是由张量的Tucker分解生成的:

其中
是核张量,
为矩阵。本实验中,针对维数分别为50 × 50 × 50、60 × 60 × 60、50 × 55 × 60和Tucker秩分别为(2, 2, 2)和(5, 5, 5)的Hankel张量进行补全。张量采样率用p
来表示,取值分别为0.3、0.4、0.5。两种算法的参数设置均为
,
,
,
。
Table 1. Comparison of HAPG and APG when p = 0.3
表1. 当p = 0.3时,HAPG与APG的比较
大小 |
秩 |
算法 |
迭代次数 |
CPU时间(s) |
RSE |
50 × 50 × 50 |
(2, 2, 2) |
HAPG |
51 |
3.5622 |
1.0119E−07 |
50 × 50 × 50 |
(2, 2, 2) |
APG |
404 |
12.4566 |
1.3689E−02 |
50 × 50 × 50 |
(5, 5, 5) |
HAPG |
48 |
4.1882 |
1.9041E−07 |
50 × 50 × 50 |
(5, 5, 5) |
APG |
331 |
17.9997 |
1.8155E−03 |
60 × 60 × 60 |
(2, 2, 2) |
HAPG |
49 |
8.1870 |
1.7418E−07 |
60 × 60 × 60 |
(2, 2, 2) |
APG |
327 |
18.8714 |
1.7757E−03 |
60 × 60 × 60 |
(5, 5, 5) |
HAPG |
48 |
7.1464 |
1.8177E−07 |
60 × 60 × 60 |
(5, 5, 5) |
APG |
326 |
16.5799 |
2.9050E−03 |
50 × 55 × 60 |
(2, 2, 2) |
HAPG |
50 |
5.2405 |
2.2166E−07 |
50 × 55 × 60 |
(2, 2, 2) |
APG |
342 |
16.0661 |
3.5862E−03 |
50 × 55 × 60 |
(5, 5, 5) |
HAPG |
48 |
5.2017 |
1.8730E−07 |
50 × 55 × 60 |
(5, 5, 5) |
APG |
336 |
17.0260 |
1.8636E−03 |
表1~3给出了算法HAPG与APG在迭代次数、CPU时间和算法精度方面的数值比较结果,其中算法的CPU时间以秒为单位,算法的精度用相对均方误差(Relative Standard Error, RSE)进行评估,其表达形式为

其中
和
分别表示原始张量和算法输出的最优解。根据数值结果分析,新算法的迭代次数明显少于APG算法,平均减少了四倍;其次,新算法的总体运行时间平均缩短了两倍,表现出更高的处理效率;此外,新算法在精度方面也表现得更加准确。表1~3的18个算例的具体数据清晰地表明,新算法在CPU时间、迭代次数和精度方面均优于APG算法。综上所述,实验结果证实了新算法的有效性。
Table 2. Comparison of HAPG and APG when p = 0.4
表2. 当p = 0.4时,HAPG与APG的比较
大小 |
秩 |
算法 |
迭代次数 |
CPU时间(s) |
RSE |
50 × 50 × 50 |
(2, 2, 2) |
HAPG |
39 |
2.6959 |
6.3945E−07 |
50 × 50 × 50 |
(2, 2, 2) |
APG |
54 |
5.5029 |
1.3890E−06 |
50 × 50 × 50 |
(5, 5, 5) |
HAPG |
37 |
2.5964 |
5.7245E−07 |
50 × 50 × 50 |
(5, 5, 5) |
APG |
52 |
5.4613 |
1.0550E−06 |
60 × 60 × 60 |
(2, 2, 2) |
HAPG |
38 |
5.3335 |
3.9458E−07 |
60 × 60 × 60 |
(2, 2, 2) |
APG |
58 |
7.2416 |
1.6587E−06 |
60 × 60 × 60 |
(5, 5, 5) |
HAPG |
37 |
5.4985 |
5.3087E−07 |
60 × 60 × 60 |
(5, 5, 5) |
APG |
58 |
7.2750 |
2.0358E−06 |
50 × 55 × 60 |
(2, 2, 2) |
HAPG |
39 |
4.1615 |
3.4127E−07 |
50 × 55 × 60 |
(2, 2, 2) |
APG |
61 |
6.0741 |
3.0991E−06 |
50 × 55 × 60 |
(5, 5, 5) |
HAPG |
40 |
4.4156 |
5.2058E−07 |
50 × 55 × 60 |
(5, 5, 5) |
APG |
77 |
7.3773 |
7.0927E−06 |
Table 3. Comparison of HAPG and APG when p = 0.5
表3. 当p = 0.5时,HAPG与APG的比较
大小 |
秩 |
算法 |
迭代次数 |
CPU时间(s) |
RSE |
50 × 50 × 50 |
(2, 2, 2) |
HAPG |
42 |
3.8150 |
2.2917E−07 |
50 × 50 × 50 |
(2, 2, 2) |
APG |
105 |
5.0253 |
2.4126E−05 |
50 × 50 × 50 |
(5, 5, 5) |
HAPG |
41 |
4.4324 |
3.2083E−07 |
50 × 50 × 50 |
(5, 5, 5) |
APG |
122 |
6.0840 |
6.8978E−05 |
60 × 60 × 60 |
(2, 2, 2) |
HAPG |
41 |
7.1227 |
3.2009E−07 |
60 × 60 × 60 |
(2, 2, 2) |
APG |
110 |
8.3881 |
2.0665E−05 |
60 × 60 × 60 |
(5, 5, 5) |
HAPG |
40 |
7.0135 |
3.1990E−07 |
60 × 60 × 60 |
(5, 5, 5) |
APG |
103 |
9.4540 |
2.4405E−06 |
50 × 55 × 60 |
(2, 2, 2) |
HAPG |
41 |
5.1206 |
3.2042E−07 |
50 × 55 × 60 |
(2, 2, 2) |
APG |
101 |
8.1390 |
3.1291E−05 |
50 × 55 × 60 |
(5, 5, 5) |
HAPG |
42 |
5.5192 |
3.2940E−07 |
50 × 55 × 60 |
(5, 5, 5) |
APG |
109 |
6.2233 |
4.0509E−05 |
5.2. 图像修复
在本小节中,我们将算法HAPG与APG用于求解Hankel结构的图像修复问题。具体地,在采样率为p = 0.3的情形下,对100 × 100 × 100,秩为(2, 2, 2)的Hankel张量,分别使用算法HAPG和APG进行图像修复。为了更好地体现图像修复的效果,我们给出了原始图像、采样图像以及经过算法修复后的图像,见图1与图2。本小节实验参数与5.1节相同,同时用峰值信噪比(PNSR)来体现修复效果,其表达式如下:

其中n表示张量中像素的个数,
表示原始张量的最大像素值。针对该图像修复问题,修复效果见图2。图1,图2的实验结果表明,新算法对于图像修复问题有着不错的修复效果。
Figure 1. On the left is the original slice image; On the right is the sampling slice image
图1. 左为原始切片图像;右为取样切片图像
Figure 2. On the left is the image repaired by the APG algorithm; The image repaired by the right HAPG algorithm
图2. 左为APG算法修复的图像;右HAPG算法修复的图像
6. 总结
本文针对Hankel张量补全问题提出了一种新的基于
-模的保结构加速邻近梯度法。该算法基于加速邻近梯度算法的框架,在每次迭代中利用
-模投影使得生成张量始终为Hankel结构,同时算法能够提高张量补全的效率与精度。并在理论上,我们证明了新算法在合理假设条件下的收敛性。最后,通过求解随机Hankel张量补全问题与图像修复实例的数值实验进一步表明了算法的有效性。
基金项目
山西省科技创新人才团队专项(202204051002018),山西省回国留学人员科研教研资助项目(2022-170),国家自然科学基金(12371381)。
NOTES
*通讯作者。