SA-MTPSO–自调整多任务粒子群优化
title:Self-Adjusting Multitask Particle Swarm Optimization
author:Honggui Han, Xing Bai, Huayun Han, Ying Hou, and Junfei Qiao.
journal:IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION(TEVC)
code:
1.主要贡献:
1)提出了一种融合决策空间知识和目标空间知识的知识估计度量,来获取有效知识。
2)提出了一种自调整知识迁移策略来迁移有效的知识。
3)所提SA-MTPSO的收敛性分析。
2.问题提出:
1)知识获取:通过知识估计度量来识别有效的知识。
2)知识迁移强度的自调整:通过与进化状态相结合的方式来实现。
![image-20240401113508232](https://i-blog.csdnimg.cn/blog_migrate/6bd539076e020d0673fdbf833a8bd49c.png)
当随机数满足rand<rmp,粒子速度和位置的更新与标准PSO的更新相同,可以描述为
v
i
,
d
(
t
+
1
)
=
ω
v
i
,
d
(
t
)
+
c
1
r
1
(
p
i
,
d
(
t
)
−
x
i
,
d
(
t
)
)
+
c
2
r
2
(
p
g
,
d
(
t
)
−
x
i
,
d
(
t
)
)
x
i
,
d
(
t
+
1
)
=
x
i
,
d
(
t
)
+
v
i
,
d
(
t
+
1
)
\begin{align*} v_{i,d} \left ({t+1}\right)=&\omega v_{i,d} \left ({t}\right)+c_{1} r_{1} \left ({{p}_{i,d} \left ({t}\right)-{x}_{i,d} \left ({t}\right)}\right) \\&+\,\,c_{2} r_{2} \left ({{p}_{g,d} \left ({t}\right)-{x}_{i,d} \left ({t}\right)}\right)\tag{7}\\ {x}_{i,d} \left ({t+1}\right)=&{x}_{i,d} \left ({t}\right)+v_{i,d} \left ({t+1}\right)\tag{8}\end{align*}
vi,d(t+1)=xi,d(t+1)=ωvi,d(t)+c1r1(pi,d(t)−xi,d(t))+c2r2(pg,d(t)−xi,d(t))xi,d(t)+vi,d(t+1)(7)(8)
如果rand≥rmp,粒子速度将更新为
v
i
,
d
(
t
+
1
)
=
ω
v
i
,
d
(
t
)
+
c
1
r
1
(
p
i
,
d
(
t
)
−
x
i
,
d
(
t
)
)
+
c
2
r
2
(
p
g
,
d
(
t
)
−
x
i
,
d
(
t
)
)
+
c
3
r
3
(
x
g
,
d
∗
(
t
)
−
x
i
,
d
(
t
)
)
.
\begin{align*} v_{i,d} \left ({t+1}\right)=&\omega v_{i,d} \left ({t}\right)+c_{1} r_{1} \left ({{p}_{i,d} \left ({t}\right)-{x}_{i,d} \left ({t}\right)}\right) \\&+\,\,c_{2} r_{2} \left ({{p}_{g,d} \left ({t}\right)-{x}_{i,d} \left ({t}\right)}\right) \\&+\,\,c_{3} r_{3} \left ({{x}_{g,d}^{*} \left ({t}\right)-{x}_{i,d} \left ({t}\right)}\right).\tag{9}\end{align*}
vi,d(t+1)=ωvi,d(t)+c1r1(pi,d(t)−xi,d(t))+c2r2(pg,d(t)−xi,d(t))+c3r3(xg,d∗(t)−xi,d(t)).(9)
在(9)中,使用了一个附加的学习项
x
g
,
d
∗
(
t
)
x^∗_{g,d}(t)
xg,d∗(t),它是与粒子
p
i
p_i
pi具有不同技能因子的全局最优解。
注意:根据以上分析, x g , d ∗ ( t ) x^∗_{g,d}(t) xg,d∗(t)的选择决定了知识转移的质量,rmp的大小决定了MTPSO中的知识转移强度。因此,调整 x g , d ∗ ( t ) x^∗_{g,d}(t) xg,d∗(t)和rmp对算法的性能有很大的影响。因此,本文提出了使用
3.SA-MTPSO:
3.1 算法框架
SA-MTPSO包括三个部分:1)知识估计度量;2)自调整迁移方法;3)自调整知识迁移机制。其中,自调整知识迁移机制是基于知识估计度量和自调整迁移方法实现的。
首先,通过知识估计度量来获得有效的知识。如何从其他任务中选择出合适的领导者是知识迁移过程的关键。
然后,根据粒子群的进化状态来判断ktp。该方法根据收敛性和多样性的变化来判断进化状态。然后,设计了不同的策略,对知识迁移强度ktp进行自调整操作。
最后,选择一个知识转移项来更新粒子的速度,指导粒子群的演化。
![image-20240401112225627](https://i-blog.csdnimg.cn/blog_migrate/982e7cd2982f62281037734d275337b9.png)
3.2 知识估计度量
采用斯皮尔曼等级相关系数(SRCC)来估计两个任务之间的关系,它同时考虑了目标空间和决策空间的知识。
1)扩展的SRCC计算如下:
R
a
,
b
(
t
)
=
c
o
v
(
r
(
x
‾
a
(
t
)
)
)
,
r
(
x
‾
b
(
t
)
)
)
σ
(
r
(
x
‾
a
(
t
)
)
)
σ
(
r
(
x
‾
b
(
t
)
)
)
\begin{equation*} R_{a,b} \left ({t}\right)=\frac {\left.{{\mathrm{ cov}}\left ({r\left ({\overline {\mathbf {x}}_{a} \left ({t}\right)}\right)}\right),r\left ({\overline {\mathbf {x}}_{b} \left ({t}\right)}\right)}\right)}{\sigma \left ({r\left ({\overline {\mathbf {x}}_{a} \left ({t}\right)}\right)}\right)\sigma \left ({r\left ({\overline {\mathbf {x}}_{b} \left ({t}\right)}\right)}\right)}\tag{11}\end{equation*}
Ra,b(t)=σ(r(xa(t)))σ(r(xb(t)))cov(r(xa(t))),r(xb(t)))(11)
其中,
r
(
x
ˉ
a
(
t
)
)
{r}(\bar {\textbf {x}}_{a}(t))
r(xˉa(t))和
r
(
x
ˉ
b
(
t
)
)
r(\bar {\textbf {x}}_{b}(t))
r(xˉb(t))是这两个任务的因子等级,
σ
(
⋅
)
σ(·)
σ(⋅)为
r
(
⋅
)
r(·)
r(⋅)的标准差。
x
ˉ
a
(
t
)
,
x
ˉ
b
(
t
)
\bar {\textbf {x}}_{a}(t),\bar {\textbf {x}}_{b}(t)
xˉa(t),xˉb(t)是两个任务按照适应度值从好到坏排序后取前M个个体的均值。扩展后的SRCC与原始SRCC的不同之处在于,它可以实现实时确定不同任务之间的关系。
2)目标空间知识度量:
L
a
(
t
)
=
∑
m
=
1
M
(
f
a
m
(
t
)
−
f
‾
a
(
t
)
)
M
σ
(
f
a
(
t
)
)
L
b
(
t
)
=
∑
m
=
1
M
(
f
b
m
(
t
)
−
f
‾
b
(
t
)
)
M
σ
(
f
b
(
t
)
)
\begin{align*} L_{a} \left ({t}\right)=&\frac {\sum _{m=1}^{M}\left ({{\mathbf {f}}_{a}^{m} \left ({t}\right)-\overline {\mathbf {f}}_{a} \left ({t}\right)}\right) }{M\sigma \left ({{\mathbf {f}}_{a} \left ({t}\right)}\right)} \\ L_{b} \left ({t}\right)=&\frac {\sum _{m=1}^{M}\left ({{\mathbf {f}}_{b}^{m} \left ({t}\right)-\overline {\mathbf {f}}_{b} \left ({t}\right)}\right) }{M\sigma \left ({{\mathbf {f}}_{b} \left ({t}\right)}\right)}\tag{12}\end{align*}
La(t)=Lb(t)=Mσ(fa(t))∑m=1M(fam(t)−fa(t))Mσ(fb(t))∑m=1M(fbm(t)−fb(t))(12)
其中,
f
a
(
t
)
f_a(t)
fa(t)和
f
b
(
t
)
f_b(t)
fb(t)是通过计算解集
{
x
a
(
t
)
}
\{x_a(t)\}
{xa(t)}和
{
x
b
(
t
)
}
\{x_b(t)\}
{xb(t)}的前M个解得到的适应度向量,
f
ˉ
a
(
t
)
\bar {\textbf {f}}_{a}(t)
fˉa(t)、
f
ˉ
b
(
t
)
\bar {\textbf {f}}_{b}(t)
fˉb(t)和
σ
(
f
a
(
t
)
)
σ(f_a(t))
σ(fa(t))、
σ
(
f
b
(
t
)
)
σ(f_b(t))
σ(fb(t))分别为
f
a
(
t
)
f_a(t)
fa(t)和
f
b
(
t
)
f_b(t)
fb(t)的平均值和标准差。
3)决策空间知识度量:
S
a
,
b
(
t
)
=
∑
m
=
1
M
(
g
a
,
b
m
(
t
)
−
g
‾
a
,
b
(
t
)
)
M
R
a
,
b
(
t
)
σ
(
g
a
,
b
(
t
)
)
\begin{equation*} S_{a,b} \left ({t}\right)=\frac {\sum _{m=1}^{M}\left ({\textbf {g}_{a,b}^{m} \left ({t}\right)-\overline {\mathbf {g}}_{a,b} \left ({t}\right)}\right) }{MR_{a,b} \left ({t}\right)\sigma \left ({\textbf {g}_{a,b} \left ({t}\right)}\right)}\tag{13}\end{equation*}
Sa,b(t)=MRa,b(t)σ(ga,b(t))∑m=1M(ga,bm(t)−ga,b(t))(13)
式中,
g
a
,
b
(
t
)
g_{a,b}(t)
ga,b(t)是每个解
x
a
(
t
)
∈
{
x
a
(
t
)
}
x_a(t)∈\{x_a(t)\}
xa(t)∈{xa(t)}与任务
T
b
T_b
Tb的最优解之间的距离,
g
ˉ
a
,
b
(
t
)
\bar {\textbf {g}}~_{a,b}(t)
gˉ a,b(t)和$ σ (g {a,b} (t ))
分别为
分别为
分别为g{a,b}(t)
的平均值和标准差,
的平均值和标准差,
的平均值和标准差,S_{a,b}(t)
表示第
t
次迭代时任务
表示第t次迭代时任务
表示第t次迭代时任务T_a
和
和
和T_b
的决策空间知识。当
的决策空间知识。当
的决策空间知识。当S_{a,b}(t)
接近于
0
时,任务
接近于0时,任务
接近于0时,任务T_a
和
和
和T_b
在决策空间上具有很高的相似性。相反,
在决策空间上具有很高的相似性。相反,
在决策空间上具有很高的相似性。相反,S_{a,b}(t)
越大,任务
越大,任务
越大,任务T_a
和
和
和T_b$之间的相似性越低。知识的有效性与任务的相似性成正比。
4)知识估计度量:
E
i
,
j
(
t
)
=
(
L
a
i
(
t
)
−
L
b
j
(
t
)
)
2
S
a
,
b
i
j
(
t
)
.
\begin{equation*} E_{i,j} \left ({t}\right)=\left ({L_{a}^{i} \left ({t}\right)-L_{b}^{j} \left ({t}\right)}\right)^{2} S_{a,b}^{ij} \left ({t}\right).\tag{14}\end{equation*}
Ei,j(t)=(Lai(t)−Lbj(t))2Sa,bij(t).(14)
E
i
,
j
(
t
)
E_{i,j}(t)
Ei,j(t)的值越大,
p
j
p_j
pj所携带的知识对
p
i
p_i
pi的效果就越低。在极限情况下,
E
i
,
j
(
t
)
E_{i,j}(t)
Ei,j(t)的值为0,这意味着
p
j
p_j
pj所携带的知识对
p
i
p_i
pi是最有效的。
3.3 自调整迁移方法
本文介绍了一种基于进化状态的自调整转移方法来调整知识转移强度ktp。该方法的基本思想描述如下:
收敛性和多样性度量旨在判断当前的进化状态,根据进化状态选择合适的ktp。
1)收敛性度量:
C
‾
(
B
(
t
)
,
B
(
t
−
1
)
)
=
1
K
∑
k
=
1
K
d
k
2
(
t
)
\begin{equation*} \overline {C}\left ({B\left ({t}\right),B\left ({t-1}\right)}\right)=\frac {1}{K} \sqrt {\sum _{k=1}^{K}d_{k}^{2} \left ({t}\right)}\tag{15}\end{equation*}
C(B(t),B(t−1))=K1k=1∑Kdk2(t)(15)
其中,
B
(
t
)
B(t)
B(t)为该算法在第t次迭代中生成的最优解集,
B
(
t
−
1
)
B(t−1)
B(t−1)是该算法在(t−1)迭代中生成的最优解集,K为任务数,和
d
k
(
t
)
d_k(t)
dk(t)是最优解集
B
(
t
)
B(t)
B(t)中的第k个任务解与最优解集B(t−1)中的最近解之间的欧氏距离。
如果 C ˉ ( B ( t ) , B ( t − 1 ) ) > 0 \bar C(B(t),B(t−1))>0 Cˉ(B(t),B(t−1))>0,则第t次迭代的最优解与(t−1)迭代的最优解不同,算法处于进化阶段。如果满足 C ˉ ( B ( t ) , B ( t − 1 ) ) = 0 \bar C(B(t),B(t−1))=0 Cˉ(B(t),B(t−1))=0,则第t次迭代的最优解与第(t−1)迭代的最优解相同,算法处于停滞阶段。
2)多样性度量:
D
(
t
)
=
1
K
−
1
∑
k
=
1
K
(
d
‾
(
t
)
−
d
k
∗
(
t
)
)
2
\begin{equation*} D\left ({t}\right)=\sqrt {\frac {1}{K-1} \sum _{k=1}^{K}\left ({\overline {d}\left ({t}\right)-d_{k}^{*} \left ({t}\right)}\right)^{2} }\tag{16}\end{equation*}
D(t)=K−11k=1∑K(d(t)−dk∗(t))2(16)
其中
D
(
t
)
D(t)
D(t)为第t次迭代中算法生成的最优解集的多样性度量,
d
k
∗
(
t
)
d^∗_k(t)
dk∗(t)是算法在第t次迭代中所得到的最优解集中,第k次任务解与其他任务解之间的最小欧氏距离,
d
ˉ
(
t
)
\bar d(t)
dˉ(t)是所有
d
k
∗
(
t
)
d^∗_k(t)
dk∗(t)的平均值。
如果D(t)>D(t−1),则由当前迭代生成的最优解集的多样性是很差的。否则,就表明了当前迭代所产生的最优解集的多样性优于前一次迭代。
3)自调节迁移方法由以下三种策略组成:
策略1:如果算法处于进化阶段,即
C
ˉ
(
B
(
t
)
,
B
(
t
−
1
)
)
>
0
\bar C(B(t),B(t−1))>0
Cˉ(B(t),B(t−1))>0,则参数ktp的值将有助于第t次迭代时算法的优化过程。因此,ktp应保持不变,以获得最优解
k
t
p
(
t
+
1
)
=
k
t
p
(
t
)
\begin{equation*} {\mathrm{ ktp}}\left ({t+1}\right)={\mathrm{ ktp}}\left ({t}\right)\tag{17}\end{equation*}
ktp(t+1)=ktp(t)(17)
其中,ktp(t)表示第t次迭代时的ktp,ktp(t+1)表示第(t+1)迭代时的ktp。策略1旨在确保解的收敛性。
策略2:如果总体不再接近全局最优解,且多样性优于前一次迭代,则算法将处于多样性状态,即
C
ˉ
(
B
(
t
)
,
B
(
t
−
1
)
)
=
0
\bar C(B(t),B(t−1))=0
Cˉ(B(t),B(t−1))=0&
D
(
t
)
<
D
(
t
−
1
)
.
D(t)< D(t−1).
D(t)<D(t−1).参数ktp的值应该被降低
k
t
p
(
t
+
1
)
=
k
t
p
(
t
)
/
(
1
+
e
−
D
(
t
)
)
\begin{equation*} {\mathrm{ ktp}}\left ({t+1}\right)={\rm ktp\left ({t}\right) / \left ({1+e^{-D\left ({t}\right)} }\right)}\tag{18}\end{equation*}
ktp(t+1)=ktp(t)/(1+e−D(t))(18)
式中,
1
/
(
1
+
e
−
D
(
t
)
)
1/(1+e^{−D(t)})
1/(1+e−D(t))表示一个根据D(t)降低ktp(t)的值的非线性函数。策略2的目标是降低知识转移的强度,抑制负转移。
策略3:如果总体不再接近全局最优解,且多样性小于前一次迭代,则算法将处于收敛状态,即
C
ˉ
(
B
(
t
)
,
B
(
t
−
1
)
)
=
0
\bar C(B(t),B(t−1))=0
Cˉ(B(t),B(t−1))=0&
D
(
t
)
≥
D
(
t
−
1
)
D(t)≥D(t−1)
D(t)≥D(t−1)。为了提高算法的全局探索能力,防止种群陷入局部最优,参数ktp的值应该增加,如(19)中所示。
k
t
p
(
t
+
1
)
=
k
t
p
(
t
)
(
1
+
e
−
D
(
t
)
)
\begin{equation*} {\mathrm{ ktp}}\left ({t+1}\right)={\mathrm{ ktp}}\left ({t}\right)\left ({1+e^{-D\left ({t}\right)} }\right)\tag{19}\end{equation*}
ktp(t+1)=ktp(t)(1+e−D(t))(19)
式中,
1
/
(
1
+
e
−
D
(
t
)
)
1/(1+e^{−D(t)})
1/(1+e−D(t))表示一个根据D(t)增加ktp(t)的值的非线性函数。策略3的目标是增加有效的知识转移,促进人口多样性。
3.4 自调整知识迁移机制
自调整知识迁移机制包含两个部分:首先,计算知识估计度量来寻找有效的知识转移项 p g ∗ ( t ) p^∗_g(t) pg∗(t),如算法3的14-20行。其次,根据进化状态更新知识迁移强度ktp,如算法3的5-12行,3.3小节已经讲述了ktp的更新过程。
![image-20240401200129016](https://i-blog.csdnimg.cn/blog_migrate/6d37a1c6c9962694b498715cdf18c506.png)
1)知识转移项 p g ∗ ( t ) p^∗_g(t) pg∗(t)的选择:
如果
E
i
,
j
(
t
)
≤
E
i
,
j
(
t
−
1
)
E_{i,j}(t)≤E_{i,j}(t−1)
Ei,j(t)≤Ei,j(t−1),则选择第t次迭代时
E
i
,
j
(
t
)
E_{i,j}(t)
Ei,j(t)的最小值对应的知识转移项进行指导。如果
E
i
,
j
(
t
)
>
E
i
,
j
(
t
−
1
)
E_{i,j}(t)>E_{i,j}(t−1)
Ei,j(t)>Ei,j(t−1),则在第(t−1)迭代时保持知识转移项。
J
=
a
r
g
m
i
n
J
∈
{
1
,
2
,
…
,
K
}
{
E
i
,
j
(
t
)
}
.
\begin{equation*} J={\mathrm{ argmin}}_{J\in \left \{{ 1,2,\ldots,K}\right \}} \left \{{ E_{i,j} \left ({t}\right)}\right \}.\tag{20}\end{equation*}
J=argminJ∈{1,2,…,K}{Ei,j(t)}.(20)
p g ∗ ( t ) = { p J ( t ) E i , j ( t ) ≤ E i , j ( t − 1 ) p J ( t − 1 ) E i , j ( t ) > E i , j ( t − 1 ) \begin{align*} \textbf {p}_{g}^{*} \left ({t}\right)=\begin{cases} \textbf {p}_{J} \left ({t}\right)E_{i,j} \left ({t}\right)\le E_{i,j} \left ({t-1}\right)\\ \textbf {p}_{J} \left ({t-1}\right)E_{i,j} \left ({t}\right)>E_{i,j} \left ({t-1}\right) \end{cases}\tag{21}\end{align*} pg∗(t)={pJ(t)Ei,j(t)≤Ei,j(t−1)pJ(t−1)Ei,j(t)>Ei,j(t−1)(21)
其中, p g ∗ ( t ) = [ p g , 1 ∗ ( t ) , p g , 2 ∗ ( t ) , … … , p g , D ∗ ( t ) ] p^∗_g(t)=[p^∗_{g,1}(t),p^∗_{g,2}(t),……,p^∗_{g,D}(t)] pg∗(t)=[pg,1∗(t),pg,2∗(t),……,pg,D∗(t)]用于粒子 p i p_i pi的速度更新,它与粒子 p i p_i pi有不同的技能因子, p J p_J pJ表示第t次迭代时任务J的全局最优解。
2)速度更新:
v
i
(
t
+
1
)
=
ω
v
i
(
t
)
+
c
1
r
1
(
p
i
(
t
)
−
x
i
(
t
)
)
+
c
2
r
2
(
p
g
(
t
)
−
x
i
(
t
)
)
+
c
3
r
3
(
p
g
∗
(
t
)
−
x
i
(
t
)
)
x
i
(
t
+
1
)
=
x
i
(
t
)
+
v
i
(
t
+
1
)
.
\begin{align*} \textbf {v}_{i} \left ({t+1}\right)=&\omega v_{i} \left ({t}\right)+c_{1} r_{1} \left ({\textbf {p}_{i} \left ({t}\right)-\textbf {x}_{i} \left ({t}\right)}\right) \\[2pt]&+\,\,c_{2} r_{2} \left ({\textbf {p}_{g} \left ({t}\right)-\textbf {x}_{i} \left ({t}\right)}\right)+c_{3} r_{3} \left ({\textbf {p}_{g}^{*} \left ({t}\right)-\textbf {x}_{i} \left ({t}\right)}\right)\quad \tag{22}\\[2pt] \textbf {x}_{i} \left ({t+1}\right)=&\textbf {x}_{i} \left ({t}\right)+\textbf {v}_{i} \left ({t+1}\right).\tag{23}\end{align*}
vi(t+1)=xi(t+1)=ωvi(t)+c1r1(pi(t)−xi(t))+c2r2(pg(t)−xi(t))+c3r3(pg∗(t)−xi(t))xi(t)+vi(t+1).(22)(23)
4.思考
1)本文分析并总结了基于PSO的多任务进化的两个关键点:知识迁移强度和知识转移项 p g ∗ ( t ) p^∗_g(t) pg∗(t)。SA-MTPSO提出了结合目标空间和决策空间的知识估计度量来选择知识迁移项 p g ∗ ( t ) p^∗_g(t) pg∗(t),并使用多样性和收敛性度量来更新知识迁移强度ktp。
2)SA-MTPSO是处理单目标多任务的,如何扩展为多目标多任务的问题还需要进一步考虑。
3)如果任务间最优解距离较远,选择不出更有效的 p g ∗ ( t ) p^∗_g(t) pg∗(t)来知道当前任务的进化该怎么办。
4)考虑目标空间和决策空间的知识估计度量为任务相似性的计算引入了一种新的思路。