MOMFEA-SADE–基于子空间对齐和自适应差分进化的多目标多任务优化算法
title: Evolutionary Multitasking for Multiobjective Optimization With Subspace Alignment and Adaptive Differential Evolution
author: Zhengping Liang, Hao Dong, Cheng Liu, Weiqi Liang, and Zexuan Zhu.
journal: IEEE TRANSACTIONS ON CYBERNETICS (TCYB)
code: [MTO-Platform/MTO/Algorithms/Multi-objective Multi-task/Multi-population/MOMFEA-SADE at master · intLyc/MTO-Platform · GitHub](https://github.com/intLyc/MTO-Platform/tree/master/MTO/Algorithms/Multi-objective Multi-task/Multi-population/MOMFEA-SADE)
1.主要贡献:
1)设计了**子空间对齐策略(SA)**来最小化两个任务间的分布差异,并实现有效的高质量知识迁移
2)设计了自适应DE策略来选择合适的试验向量生成方式,它会将每个产生了非支配解的DE策略存储为经验,然后估计使用不同DE策略的概率。
2.问题提出:
1)在两个相关或者相似的任务间共享知识可以得到好的效果,但是实际情况中两个任务很少是高度相关的。
2)在现有的多目标多任务优化算法中,非支配解的存档没有得到充分的利用。
3)下图是MO-MFEA在CILS问题中得到的任务 T 1 T_1 T1和 T 2 T_2 T2在 T 1 T_1 T1的目标空间的种群分布。可以看出,在目标空间中的种群分布呈现出不同的特征,解决一个任务获得的知识对另一个任务的的解决没有帮助,甚至有害。
![image-20240429110043003](https://i-blog.csdnimg.cn/direct/8592ee852ea94d9381aaf5a2303f18df.png#pic_center)
3.MOMFEA-SADE:
3.1 算法框架
MOMFEA-SADE的算法框架与MO-MFEA大体一致,但是引入了子空间对齐(SA)和自适应DE策略。首先,初始化种群并评估每个个体的技能因子,因子等级,标量适应度等,如1-2行所示。其次,初始化DE策略的选择概率向量,如第3行所示。然后,在每一次迭代过程都会随机选择一个父代个体,根据DE策略选择概率向量选择一个DE策略来产生试验向量,根据SA策略产生子代个体,如5-11行。接着,环境选择产生下一代种群并更新DE策略选择概率向量,如12-13行。
![image-20240429105053891](https://i-blog.csdnimg.cn/direct/0306aafe21d1470490323f00e295f068.png#pic_center)
3.2 子空间对齐策略
SA先基于主成分分析(PCA)将源域数据和目标域数据投影到各自的子空间中,然后学习一个变换矩阵将源子空间映射到目标子空间。SA的目的是尽量减少源数据和目标数据之间的差异。具体流程如下:
首先,利用PCA降维的方法分别得到源数据与目标数据的特征向量。
然后,将保留95%信息的特征值所对应的特征向量作为基础生成源数据和目标数据的子空间,
S
1
,
S
2
∈
R
r
×
h
S_1,S_2\in R^{r\times h}
S1,S2∈Rr×h,其中
r
r
r表示源数据与目标数据的维度,
h
h
h表示子空间的维度。通过优化线性变换函数
L
L
L来实现了
S
1
S_1
S1和
S
2
S_2
S2的最优对齐,该线性变换称为布雷格曼矩阵,计算如下:
L
(
M
)
=
∣
∣
S
1
⋅
M
−
S
2
∣
∣
F
2
L(M)={||S_1\cdot M-S_2||}^2_F
L(M)=∣∣S1⋅M−S2∣∣F2
其中,
∣
∣
⋅
∣
∣
F
2
{||\cdot||}^2_F
∣∣⋅∣∣F2表示Frobenius范数,
M
M
M表示可以使得
S
1
S_1
S1和
S
2
S_2
S2差异最小化的变换矩阵。
L
(
M
)
L(M)
L(M)的最优解
M
∗
M^*
M∗表示如下:
M
∗
=
arg
min
M
(
L
(
M
)
)
M^*=\arg\min_M(L(M))
M∗=argMmin(L(M))
解上式得到最优解
M
∗
M^*
M∗如下:
M
∗
=
S
1
′
⋅
S
2
M^*=S'_1\cdot S_2
M∗=S1′⋅S2
其中,
S
1
′
S'_1
S1′表示
S
1
S_1
S1的标准正交,且
S
1
′
⋅
S
1
=
I
S'_1\cdot S_1=I
S1′⋅S1=I,
I
∈
R
h
×
h
I\in R^{h\times h}
I∈Rh×h是一个恒等矩阵。这也就说明
S
1
S_1
S1转换后的新坐标
S
1
∗
S^*_1
S1∗计算如下:
S
1
∗
=
S
1
⋅
M
∗
S^*_1=S_1\cdot M^*
S1∗=S1⋅M∗
这样,子空间
S
1
S_1
S1可以通过
M
∗
M_∗
M∗映射到
S
2
S_2
S2。因此,数据从源域到目标域的传输可以通过使用
M
∗
M_∗
M∗的乘法操作来完成。
步骤一:根据目标域Q和源域P的协方差矩阵
W
Q
,
W
P
W_Q,W_P
WQ,WP分别计算其特征值
E
Q
,
E
P
E_Q,E_P
EQ,EP和特征向量
Λ
Q
,
Λ
P
\Lambda_Q,\Lambda_P
ΛQ,ΛP。
E
P
T
W
P
E
P
=
Λ
P
=
d
i
a
g
(
λ
1
P
,
λ
2
P
,
.
.
.
,
λ
d
P
)
E
Q
T
W
Q
E
Q
=
Λ
Q
=
d
i
a
g
(
λ
1
Q
,
λ
2
Q
,
.
.
.
,
λ
d
Q
)
E^T_PW_PE_P=\Lambda_P=diag(\lambda^P_1,\lambda^P_2,...,\lambda^P_d)\\ E^T_QW_QE_Q=\Lambda_Q=diag(\lambda^Q_1,\lambda^Q_2,...,\lambda^Q_d)
EPTWPEP=ΛP=diag(λ1P,λ2P,...,λdP)EQTWQEQ=ΛQ=diag(λ1Q,λ2Q,...,λdQ)
步骤二:选择能够保留95%信息的最大h个特征值对应的特征向量来构造Q和P的子空间
S
Q
,
S
P
∈
R
d
×
h
S_Q,S_P\in R^{d\times h}
SQ,SP∈Rd×h
S
P
=
E
P
s
o
r
t
(
1
:
h
)
S
Q
=
E
Q
s
o
r
t
(
1
:
h
)
S_P=E^{sort}_P(1:h)\\ S_Q=E^{sort}_Q(1:h)
SP=EPsort(1:h)SQ=EQsort(1:h)
步骤三:构建子空间映射矩阵
M
∗
M^*
M∗
S
P
∗
=
S
P
⋅
M
∗
S^*_P=S_P\cdot M^*
SP∗=SP⋅M∗
如下图所示,任务 T 1 T_1 T1和任务 T 2 T_2 T2之间存在较明显的差异,而经过SA策略转换后的个体更靠近任务 T 2 T_2 T2的种群。
![image-20240429105339713](https://i-blog.csdnimg.cn/direct/b3b11d528e3b4f12b360d997b4426bf3.png#pic_center)
3.3 自适应DE策略产生子代
该策略主要是通过利用历史经验和成功的知识迁移来选择合适的试验向量生成策略。
给定k个不同的策略,
a
i
a_i
ai记录了第i次试验向量生成策略在
g
−
e
g−e
g−e和
g
−
1
g−1
g−1代之间生成非主导解的次数。ai越大,说明第i次试验向量生成策略的效果越好。根据进化经验,将在第g代时使用每个试验向量生成策略的概率定义为
a
i
=
∑
g
−
e
g
−
1
c
i
ψ
i
=
a
i
∑
i
=
1
k
a
i
,
s
u
b
j
e
c
t
t
o
∑
i
=
1
t
ψ
i
=
1.
a_i=\sum^{g-1}_{g-e} c_i\\ \psi_i=\frac{a_i}{\sum^k_{i=1}a_i},subject\ to\ \sum^t_{i=1}\psi_i=1.
ai=g−e∑g−1ciψi=∑i=1kaiai,subject to i=1∑tψi=1.
其中,
c
i
c_i
ci记录了第i个试验向量生成策略产生非支配解的次数,
e
e
e是经验周期。
本文使用了三种常用的DE策略:“DE/best/1/bin”,“DE/rand/1/bin”,“DE/current-to-rand/1”。为了缓解这三种DE策略带来的负迁移,本文还对其进行了改进:
改进的DE/best/1/bin
v
j
,
g
=
x
b
e
s
t
,
g
+
α
∗
(
x
r
1
,
g
∗
−
x
r
2
,
g
∗
)
v_{j,g}=x_{best,g}+\alpha*(x^*_{r_1,g}-x^*_{r_2,g})
vj,g=xbest,g+α∗(xr1,g∗−xr2,g∗)
改进的DE/rand/1/bin
v
j
,
g
=
x
r
1
,
g
∗
+
α
∗
(
x
r
2
,
g
∗
−
x
r
3
,
g
∗
)
v_{j,g}=x^*_{r_1,g}+\alpha*(x^*_{r_2,g}-x^*_{r_3,g})
vj,g=xr1,g∗+α∗(xr2,g∗−xr3,g∗)
改进的DE/current-to-rand/1
v
j
,
g
=
x
j
,
g
+
β
∗
(
x
r
1
,
g
∗
−
x
j
,
g
)
+
α
∗
(
x
r
2
,
g
∗
−
x
r
3
,
g
∗
)
v_{j,g}=x_{j,g}+\beta*(x^*_{r_1,g}-x_{j,g})+\alpha*(x^*_{r_2,g}-x^*_{r_3,g})
vj,g=xj,g+β∗(xr1,g∗−xj,g)+α∗(xr2,g∗−xr3,g∗)
其中,
x
r
1
,
g
∗
,
x
r
2
,
g
∗
,
x
r
3
,
g
∗
x^*_{r_1,g},x^*_{r_2,g},x^*_{r_3,g}
xr1,g∗,xr2,g∗,xr3,g∗分别是
x
r
1
,
g
,
x
r
2
,
g
,
x
r
3
,
g
x_{r_1,g},x_{r_2,g},x_{r_3,g}
xr1,g,xr2,g,xr3,g通过SA策略映射后的个体。
![image-20240429105253882](https://i-blog.csdnimg.cn/direct/71220f22b2f9412bae58e14435945655.png#pic_center)
4.思考
1)MOMFEA-SADE中提出来两种策略:使用子空间对齐策略(SA)来减少源任务与目标任务之间的差异,使用自适应DE策略(SaDE)来产生更优秀的子代。MOMFEA_SADE还曾在IEEE CEC2019多目标多任务优化竞赛中获胜。
2)MOMFEA-SADE为解决多目标多任务优化问题提出来了一种新的思路。不同于EMEA中离线使用的种群信息,它在线地使用子空间信息,可以更加准确地衡量任务之间的差异。其次,MOMFEA-SADE中提出的SaDE策略使用历史经验来选择合适地试验向量生成策略,可以使得生成的子代更加有效。
3)虽然MOMFEA_SADE可以取得很好的效果,但是在处理大规模问题时可能会特别耗时。