MaTEA–解决Many多任务优化问题
title:An Adaptive Archive-Based Evolutionary Framework for Many-Task Optimization
author:Yongliang Chen, Jinghui Zhong , Liang Feng , and Jun Zhang.
journal:IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTATIONAL INTELLIGENCE(TETCI)
DOI: 10.1109/TETCI.2019.2916051
code:https://github.com/intLyc/MTO-Platform/tree/master/MTO/Algorithms/Multi-task/Multi-population/MaTDE
1.主要贡献:
1)提出了一种基于KL散度(KLD)的任务相似性度量方式,来选择相似任务。
2)利用档案来记录不同任务在演化过程中的相关信息。
3)MaTEA可以解决任务到达时间不一致的问题。
2.问题提出:
1)当任务数量增多时,MFEA中的知识迁移策略可能会变得无效,因为它不能根据MaTO的环境变化来进行自我调整。因此,本文提出了一种相似任务选择策略。
2)多个任务动态到达问题,也就是说任务的到达时间是不一致的。
3.MaTEA:
1)KLD计算相似度:
K
L
D
(
A
c
c
0
∣
∣
A
c
1
)
=
1
2
(
t
r
(
Σ
1
−
1
Σ
0
)
+
(
μ
1
−
μ
0
)
T
Σ
1
−
1
(
μ
1
−
μ
0
)
−
D
+
l
n
(
d
e
t
Σ
1
d
e
t
Σ
0
)
)
KLD(Ac_{c_0}||A_{c_1})=\frac 1 2\bigg(tr(\Sigma^{-1}_1\Sigma_0)+{(\mu_1-\mu_0)}^T\Sigma^{-1}_1(\mu_1-\mu_0)-D+ln(\frac{det\Sigma_1}{det\Sigma_0})\bigg)
KLD(Acc0∣∣Ac1)=21(tr(Σ1−1Σ0)+(μ1−μ0)TΣ1−1(μ1−μ0)−D+ln(detΣ0detΣ1))
其中
A
c
0
A_{c_0}
Ac0和
A
c
1
A_{c_1}
Ac1表示任意两个任务的存档,
Σ
\Sigma
Σ表示协方差矩阵,
μ
\mu
μ表示均值向量,
D
=
m
i
n
{
D
0
,
D
1
}
D=min\{D_0,D_1\}
D=min{D0,D1}表示协方差矩阵的维度。如下图所示,由于任务维度的不一致,
K
L
D
KLD
KLD是不对称的。为了使得
K
L
D
KLD
KLD对称,相似度
S
i
m
Sim
Sim被计算如下:
S
i
m
(
T
0
.
T
1
)
=
1
2
(
K
L
D
(
A
c
0
∣
∣
A
c
1
)
+
K
L
D
(
A
c
1
∣
∣
A
c
0
)
)
Sim(T_0.T_1)=\frac1 2(KLD(A_{c_0}||A_{c_1})+KLD(A_{c_1}||A_{c_0}))
Sim(T0.T1)=21(KLD(Ac0∣∣Ac1)+KLD(Ac1∣∣Ac0))
2)自适应奖励策略:
由下图所示,当两个任务分布相似时,它们可能朝着不同的方向进化,因此,只考虑相似性是不够的。MaTEA中采用了自适应奖励机制来解决这样的问题。
![image-20240309113120070](https://i-blog.csdnimg.cn/blog_migrate/b8eefb3c0a06420b626ce10df8eab302.png)
首先,相似任务
T
a
T_a
Ta是通过轮盘赌选择得到的,第
j
j
j个任务的概率被计算如下:
p
r
o
b
a
b
i
l
i
t
y
t
j
=
s
c
o
r
e
t
j
∑
i
≠
t
s
c
o
r
e
t
i
s
c
o
r
e
t
j
=
ρ
⋅
s
c
o
r
e
t
j
+
R
t
j
l
o
g
(
S
i
m
(
T
t
,
T
j
)
)
R
t
a
=
{
R
t
a
/
λ
,
i
f
p
b
e
s
t
i
s
w
o
r
s
e
t
h
a
n
p
′
R
t
a
⋅
λ
,
o
t
h
e
r
w
i
s
e
probability^j_t=\frac{score^j_t}{\sum_{i\ne t} score^i_t}\\ score^j_t=\rho\cdot score^j_t+\frac{R^j_t}{log(Sim(T_t,T_j))}\\ R^a_t=\begin{cases} R^a_t/\lambda,if\ p_{best}\ is\ worse\ than\ p'\\ R^a_t\cdot\lambda ,otherwise \end{cases}
probabilitytj=∑i=tscoretiscoretjscoretj=ρ⋅scoretj+log(Sim(Tt,Tj))RtjRta={Rta/λ,if pbest is worse than p′Rta⋅λ,otherwise
其中,
R
t
a
R^a_t
Rta是选择
T
a
T_a
Ta帮助
T
i
T_i
Ti的奖励,
λ
\lambda
λ是(0,1)内的收缩率,
s
c
o
r
e
t
j
score^j_t
scoretj表示任务
T
j
T_j
Tj被选择来帮助任务
T
t
T_t
Tt的分数。
ρ
\rho
ρ是衰减系数,
l
o
g
(
⋅
)
log(\cdot)
log(⋅)用于限制奖励和相似性的大小。
3)知识迁移交叉:
任务
T
t
T_t
Tt和任务
T
a
T_a
Ta之间的知识迁移交叉是通过交叉概率
C
R
K
T
C
CR_{KTC}
CRKTC控制的。
v
i
(
j
)
=
{
p
a
(
j
)
,
i
f
r
a
n
d
(
0
,
1
)
<
C
R
K
T
C
o
r
j
=
k
p
t
i
(
j
)
,
o
t
h
e
r
w
i
s
e
.
v^i(j)=\begin{cases} p_a(j),\ if\ rand(0,1)<CR_{KTC}\ or\ j=k\\ p^i_t(j),otherwise. \end{cases}
vi(j)={pa(j), if rand(0,1)<CRKTC or j=kpti(j),otherwise.
4)算法框架与实现:
首先,为每个任务都设置一个种群,存档,和进化求解器。其次,通过KLD计算任务相似度。接着,采用自适应奖励机制选择迁移任务。然后,使用知识迁移交叉来实现知识迁移。最后选择下一代种群并更新存档。
![image-20240309115841013](https://i-blog.csdnimg.cn/blog_migrate/992f7ae2b78f4a2bfc70aa22adb2b062.png)
![image-20240309115932491](https://i-blog.csdnimg.cn/blog_migrate/9cc94dc4402124c0ce3a30f5ec756401.png)
4.思考
1)在多任务优化中的异构问题:最优解距离较远,决策变量维度不一致等。AT-MFEA–解决异构多任务优化问题-CSDN博客,MTGA–采用偏差估计策略的多任务优化算法(附平台代码)-CSDN博客,G-MFEA–构建多任务优化框架解决昂贵优化问题-CSDN博客
2)迁移频率:MFEA-II–自适应迁移概率的MFEA-CSDN博客,SREMTO–自调节进化多任务优化-CSDN博客
3)在MaTEA中未曾对任务动态到达的多任务环境进行测试。