[1] Zhang T, Lam K Y, Zhao J, et al. Joint Device Scheduling and Bandwidth Allocation for Federated Learning over Wireless Networks[J]. IEEE Transactions on Wireless Communications, 2023.
摘要:
带宽资源限制、异构计算能力、不确定的信道状态使设备调度和带宽分配变得复杂。
本文提出一种联合 设备调度和带宽分配 的框架,在无线网络中实现FL。采用DRL进行设备调度。DRL代理采用LSTM分析顺序输入数据。考虑到每次全局迭代的预定设备,带宽分配方法旨在最小化时间延迟和能量消耗的加权和。在IID和非IID数据集上进行实验表明,所提框架可使FL以较低的时间延迟和能耗达到所需的精度。
关键词:带宽分配、设备调度、联邦学习、隐私、强化学习
文章阅读收获总结:
1、参数服务器接收到设备的信息后产生设备调度决策,被选设备获得全局模型并进行训练;
2、客户端选择和带宽分配逻辑上是先后关系,本轮的客户端选择策略是根据上一轮决策后设备的信息产生的,此时进行下行传播全局模型,以及上行带宽分配;
3、带宽分配过程:根据时间限制计算最小带宽,再根据奖励函数相对于带宽的斜率分配剩余带宽资源
1 引言
(1)为什么使用FL?
(2)FL还存在的挑战:实际无线网络中充满挑战。
1、较少的设备进行更新会影响RL收敛性;需要更多的通信轮次却达不到预期精度
2、虽然调度某些设备可能会很大提高FL模型精度,但信道状态的不确定性导致更严重的时间延迟和更高的能量成本
因此,FL需要在更新效果和系统成本(即能耗和时间成本)之间取得平衡。还需要有效的带宽分配方法。
实际上,调度设备的信道状态和计算能力可能有很大差异,使得带宽分配方法设计变得更加复杂。
(3)本文的贡献:
提出一种设备调度和带宽分配联合框架应对以上挑战。
调度目标:从有限设备集中找到一个最佳设备子集,在满足带宽约束的同时使目标函数最小化,这本质上是一个组合优化问题。
设备调度之后,对已调度设备执行建议的带宽分配方法。
具体地:
① 研究了 FL 算法的机制,并提出了一个优化问题,以最小化训练整个 FL 算法的能耗和时间延迟的加权和。提出了一个联合设备调度和带宽分配框架来解决这个问题。
② 为 FL 提出了一种基于深度强化学习(DRL)的设备调度方法。具体来说,我们设计了状态空间、行动空间和奖励函数,以在 FL 中实现 DRL。此外,我们采用长短期记忆(LSTM)作为 DRL 代理,并讨论了基于 LSTM 的代理背后的动机。最后,我们介绍了训练基于 LSTM 的代理以进行设备调度的工作流程
③ 设计了一种带宽分配方法,在一次全局迭代中使能耗和时间延迟的加权和最小化。在已知时间延迟的情况下,可以得出分配给每个本地设备的带宽和能耗。我们使用二进制搜索法来寻找最佳时延,使 FL 系统实现最小目标函数。
④ 在独立且同分布(IID)和非独立且同分布数据集上对提出的设备调度和带宽分配框架进行了评估。实验结果表明,在最大限度降低能耗和时间延迟方面,所提出的框架优于其他基准。
2 研究现状
应用场景现状:
联邦学习(FL)因其在数据安全方面的优势,在各种应用场景中备受关注。例如,FL 使物联网系统能够进行分布式智能和节能模型训练 [14]。在 SAGIN 中,FL 被用来应对无线通信可靠性的挑战 [15]。在无人机领域,FL 被用于分散式图像识别和多架无人机的协同控制 [16]。在智能交通系统领域,FL 被用于保护隐私的交通预测 [17]。然而,有限的带宽资源是 FL 实际应用的瓶颈。因此,最近有研究提出要提高 FL 的效率。
资源分配是提高 FL 性能(包括能量和时间延迟)的一个主流课题。
文献研究现状:
文献[18]为自动驾驶汽车设计了基于区块链的 FL,并使整体延迟最小化。
作者在 [19] 中通过鞍点近似和大偏差理论对 FL 的延迟分布进行了理论分析。
文献[20]采用了一种分段搜索算法来减少 FL 的时间延迟。
然而,这些研究并未考虑训练 FL 的能耗。
文献[21]提出了一种高能效的 FL 框架,它能迭代地使时间延迟和能量消耗最小化。
文献[22]平衡了分时 FL 系统的能量成本和时间延迟之间的权衡。
而 [18]-[22] 假设所有无线设备都参与了每次全局迭代的训练过程,这会导致带宽不足而产生令人望而却步的通信开销。
文献[23]提出了一种联合用户关联和无线资源分配算法,以尽量减少在不平衡数据集上训练分层 FL 框架的延迟。
文献[24]设计了一种联合批量大小选择和通信资源分配框架,以加快 FL 训练速度,同时保证学习性能。不过,[23]和[24]都没有考虑 FL 训练的能耗问题。此外,调度部分无线设备进行更新可使 FL 系统缓解网络拥塞。
文献[9]提出的 Fedavg 可以在每次迭代时随机调度一个无线设备子集。[25] 提出了一种设备调度算法,在确保 FL 收敛性能的同时,尽量减少累积资源消耗。不过,这项工作没有考虑通信的能源成本和计算的延迟。
现有的大多数工作都是联合优化 FL 的设备调度和资源分配 [26]-[37]。然而,[26]、[27]、[29]、[30] 只在每次全局迭代中优化系统成本。[29]-[34] 采用贪婪或类似贪婪的搜索来选择最佳用户,这会产生令人望而却步的延迟。
[27]、[34]-[36] 的设计基于对损失函数的若干假设(如损失函数是凸函数)。这些假设在实际应用中很难满足,可能会降低算法的性能。
[28]、[29]、[31]、[32]、[34] 要求操作员明确设置延迟预算、能量预算或两者。然而,确定适当的预算可能具有挑战性,因为不同的 FL 系统在规模、所涉及的设备数量、总带宽资源以及影响系统性能的其他因素方面可能存在很大差异。
文献[26]、[27]、[30]、[31]、[33]-[37]考虑优化 FL 训练的延迟或能耗。
相比之下,我们提出的方法与现有研究相比有几个主要优势。首先,它能长期最大限度地降低训练 FL 的系统成本。其次,它在有效降低系统成本的同时,还能实现低延迟调度。第三,它对损失函数没有特定要求。第四,建议的方法引入了一个重要因子,可以根据具体项目要求进行定制。最后,它同时考虑到了延迟和能耗,这对实际实施来说是非常重要的考虑因素。深度强化学习(DRL)已成功应用于 FL,用于处理各种任务,如资源分配 [38]、[39]、攻击和防御 [40]、[41],以及无人机辅助 FL 的放置 [42]、[43]。在我们的研究中,DRL 用于执行设备调度,目的是最大限度地降低训练整个 FL 算法的系统成本。此外,我们还提出了一种基于二进制搜索的带宽分配算法,以最小化每轮通信的时间延迟和能量消耗的加权和。所提出的方法能够解决上述工程问题。
3 系统模型
N = { 1 , ⋯ , N } \mathcal{N}=\{1,\cdots,N\} N={1,⋯,N}:N个本地设备
1个远程服务器
D n = { x κ , y κ } κ = 1 D n {\cal D}_{n}=\{\boldsymbol{x}_{\kappa},y_{\kappa}\}_{\kappa=1}^{D_{n}} Dn={xκ,yκ}κ=1Dn:本地数据集
x κ x_\kappa xκ、 $y_\kappa :第 :第 :第\kappa $个输入样本和输出标签
w \boldsymbol{w} w:全局模型参数
w n i w_{n}^{i} wni:设备n 第 i 次全局迭代 的本地模型参数
A FL模型
ξ ( w , x j , y j ) \xi(\boldsymbol{w},\boldsymbol{x}_j,y_j) ξ(w,xj,yj):一个样本数据的损失函数
F n ( w ) = 1 D n ∑ κ = 1 D n ξ ( w , x j , y j ) F_{n}(\boldsymbol{w})= \frac{1}{D_{n}}\sum_{\kappa=1}^{D_{n}}\xi(\boldsymbol{w},\boldsymbol{x}_{j},y_{j}) Fn(w)=Dn1∑κ=1Dnξ(w,xj,yj):本地设备n的总损失函数值
优化目标:最小化所有数据集的损失函数
min
w
F
(
w
)
≜
1
D
∑
n
=
1
N
D
n
F
n
(
w
)
,
(
1
)
\min_{\boldsymbol{w}}F(\boldsymbol{w})\triangleq\frac{1}{D}\sum_{n=1}^{N}D_{n}F_{n}(\boldsymbol{w}),\quad(1)
wminF(w)≜D1n=1∑NDnFn(w),(1)
D
=
∑
n
=
1
N
D
n
D=\sum_{n=1}^{N}D_{n}
D=∑n=1NDn
1)设备调度:
M i ∈ N \mathcal{M}_{i}\in\mathcal{N} Mi∈N:调度设备集合
对于没有被调度的本地设备,假设本地模型保持不变。
w
n
i
=
{
w
i
,
n
∈
M
i
w
n
i
−
1
,
n
∈
C
N
M
i
,
(
2
)
\boldsymbol{w}_n^i=\left\{\begin{array}{cc}\boldsymbol{w}^i,&n\in\mathcal{M}_i\\\boldsymbol{w}_n^{i-1},&n\in\mathcal{C}_\mathcal{N}\mathcal{M}_i,\end{array}\right.\quad(2)
wni={wi,wni−1,n∈Min∈CNMi,(2)
C
N
M
i
\mathcal{C}_{\mathcal{N}}\mathcal{M}_{i}
CNMi:表示集合Mi相对于集合N的补集
w n 0 = 0 , ∀ n ∈ N \boldsymbol{w}_n^0=0,\forall n\in\mathcal{N} wn0=0,∀n∈N:未开始迭代时,初始值为0
==每轮迭代选择不同的用户设备集合吗?==依据是什么?是什么的改变导致的?
设备调度后迭代终止的条件是什么?精度达标
or迭代次数达标?
2)本地更新:
w n i ( k ) w_{n}^{i}(k) wni(k):本地迭代第k次, k = 1 , ⋯ , K k=1,\cdots,K k=1,⋯,K
每轮全局迭代用户n的本地迭代次数K是固定值?
w
n
i
(
0
)
=
w
i
\boldsymbol{w}_n^i(0)=\boldsymbol{w}^i
wni(0)=wi
w
n
i
(
k
)
=
w
n
i
(
k
−
1
)
−
α
∇
F
n
(
w
n
i
(
k
−
1
)
)
,
∀
n
∈
M
i
,
(
3
)
\boldsymbol{w}_{n}^{i}(k)=\boldsymbol{w}_{n}^{i}(k-1)-\alpha\nabla F_{n}(\boldsymbol{w}_{n}^{i}(k-1)),\forall n\in\mathcal{M}_{i},(3)
wni(k)=wni(k−1)−α∇Fn(wni(k−1)),∀n∈Mi,(3)
α
\alpha
α:学习率
3)全局聚合:
w
n
i
(
K
)
w_{n}^{i}(K)
wni(K):本地设备n上传的模型参数,
n
∈
M
i
n\in\mathcal{M}_{i}
n∈Mi
w
i
+
1
=
∑
n
∈
M
i
D
n
w
n
i
(
K
)
∑
n
∈
M
i
D
n
.
(
4
)
\boldsymbol{w}^{i+1}=\frac{\sum_{n\in\mathcal{M}_i}D_n\boldsymbol{w}_n^i(K)}{\sum_{n\in\mathcal{M}_i}D_n}.\quad(4)
wi+1=∑n∈MiDn∑n∈MiDnwni(K).(4)
当全局模型的精度达到目标精度时,FL达到收敛状态
B 能耗模型
C n C_{n} Cn:本地设备n处理一个数据样本的CPU周期数
f n f_{n} fn:本地设备n的CPU周期数
t n c m p t_{n}^{\mathrm{cmp}} tncmp:本地设备n处理Dn个数据样本的时延【一轮训练即K次本地迭代】
e n c m p e_n^{\mathrm{cmp}} encmp:本地设备n处理Dn个数据样本的能耗
全局迭代一次的本地训练:
t
n
c
m
p
=
K
C
n
D
n
f
n
,
(
5
)
e
n
c
m
p
=
β
K
C
n
D
n
f
n
2
,
(
6
)
\begin{aligned}t_{n}^{\mathrm{cmp}}&=\frac{KC_{n}D_{n}}{f_{n}},\quad&(5)\\e_{n}^{\mathrm{cmp}}&=\beta KC_{n}D_{n}f_{n}^{2},\quad&(6)\end{aligned}
tncmpencmp=fnKCnDn,=βKCnDnfn2,(5)(6)
$\beta $:表示本地设备 n 的计算芯片组的有效开关电容。
与获奖论文相比,本论文能耗模型是本地设备参与一次全局迭代的本地训练能耗
获奖论文是本地不进行迭代,即epoch=1
K是本地迭代次数,K的值如何确定,和epoch相等吗?
模型参数通过频分多址FDMA协议进行传输。
本地设备n可实现的传输速率:
λ
n
=
b
n
log
2
(
1
+
g
‾
n
q
n
N
0
b
n
)
,
(
7
)
\lambda_{n}=b_{n}\log_{2}\left(1+\frac{\overline{g}_{n}q_{n}}{N_{0}b_{n}}\right),\quad(7)
λn=bnlog2(1+N0bngnqn),(7)
q
n
q_n
qn:本地设备n的平均发射功率
g ‾ n \overline{g}_{n} gn:FL训练期间本地设备n与服务器之间的平均信道增益
b n b_n bn:分配给设备n的带宽资源
N 0 N_0 N0:噪声功率谱密度
z z z:模型参数大小
本地设备 n 传输模型参数的时延和能耗:
t
n
c
o
m
=
z
λ
n
=
z
b
n
log
2
(
1
+
g
‾
n
q
n
N
0
b
n
)
,
(
8
)
e
n
c
o
m
=
t
n
c
o
m
q
n
,
(
9
)
\begin{aligned}t_{n}^{\mathrm{com}}&=\frac{z}{\lambda_{n}}=\frac{z}{b_{n}\log_{2}\left(1+\frac{\overline{g}_{n}q_{n}}{N_{0}b_{n}}\right)},&(8)\\e_{n}^{\mathrm{com}}&=t_{n}^{\mathrm{com}}q_{n},&(9)\end{aligned}
tncomencom=λnz=bnlog2(1+N0bngnqn)z,=tncomqn,(8)(9)
根据现有研究[26]、[27]、[29]-[36],模型广播的延迟和能耗是可以忽略的。这是因为远程服务器的平均发射功率远高于用户的平均发射功率,而且远程服务器在广播模型时将使用整个下行链路带宽。因此,训练整个 FL 算法的时间延迟 T 和能量消耗 E:
T
i
=
max
n
∈
M
i
{
t
n
c
m
p
+
t
n
c
o
m
}
,
T
=
∑
i
=
1
I
T
i
,
(
10
)
E
i
=
∑
n
∈
M
i
(
e
n
c
m
p
+
e
n
c
o
m
)
,
E
=
∑
i
=
1
I
E
i
.
(
11
)
\begin{aligned}T_i&=\max_{n\in\mathcal{M}_i}\left\{t_n^\mathrm{cmp}+t_n^\mathrm{com}\right\},T=\sum_{i=1}^IT_i,\quad(10)\\\\E_i&=\sum_{n\in\mathcal{M}_i}\left(e_n^\mathrm{cmp}+e_n^\mathrm{com}\right),E=\sum_{i=1}^IE_i.\quad(11)\end{aligned}
TiEi=n∈Mimax{tncmp+tncom},T=i=1∑ITi,(10)=n∈Mi∑(encmp+encom),E=i=1∑IEi.(11)
I
I
I:是为实现目标精度的全局迭代的总次数
T i T_i Ti:第i次迭代的时间延迟
E i E_i Ei:第i次迭代的能耗
C 问题描述
优化目标:最小化总延迟T和总能耗E的加权和
min
B
,
I
,
M
E
+
γ
T
(12)
s
.
t
.
∑
n
∈
M
i
b
n
≤
B
,
(
12
a
)
A
c
c
i
<
A
c
c
t
a
r
g
e
t
,
i
=
1
,
⋯
,
I
−
1
,
(
12
b
)
A
c
c
I
≥
A
c
c
t
a
r
g
e
t
.
(
12
c
)
\begin{aligned} &\operatorname*{min}_{\mathcal{B},I,\mathcal{M}}E+\gamma T&&&& \text{(12)} \\ &\mathrm{s.t.}&& \sum_{n\in\mathcal{M}_{i}}b_{n}\leq B, &&&& (12\mathbf{a}) \\ &&&Acc_{i}<Acc^{\mathrm{target}},i=1,\cdots,I-1,&& (12\mathbf{b}) \\ &&&Acc_{I}\geq Acc^{\mathrm{target}}.&& (12\mathrm{c}) \end{aligned}
B,I,MminE+γTs.t.n∈Mi∑bn≤B,Acci<Acctarget,i=1,⋯,I−1,AccI≥Acctarget.(12)(12b)(12c)(12a)
$ \mathcal{B}=\lceil\boldsymbol{b}_{i}|i=1,\cdots,I\rceil $
b i = [ b n ∣ n ∈ M i ] b_i=\left[b_n|n\in\mathcal{M}_i\right] bi=[bn∣n∈Mi]
M = [ M i ∣ i = 1 , ⋯ , I ] \mathcal{M} = [\mathcal{M}_i|i=1,\cdots,I] M=[Mi∣i=1,⋯,I]
B B B :总带宽
$ \gamma $:表示能耗与时间延迟之间权衡的权重
$ Acc_{i}$:第 i 次全局迭代时的全局模型精度
A c c t a r g e t Acc^{\mathrm{target}} Acctarget:目标精度
在某些实际情况下,(12b) 和 (12c) 可能过于严格,最后几次迭代的平均精度可能更合适。
在本文中,我们假设每次迭代所选设备的数量是固定的(即 M 1 = ⋯ = M I = M M_{1}=\cdots=M_{I}=M M1=⋯=MI=M)
每轮所选的设备数量固定,但设备调度集合包含的设备不同?不同的依据是什么?
由于集合M的存在,问题12的求解涉及组合优化。此外,带宽限制(12a)使问题(12)更加难以解决。因此,我们提出了一种新颖的 FL 框架(如图 1 所示)来处理这个优化问题。
具体来说,我们使用 DRL 代理来执行设备调度,它考虑了一轮系统成本(即 E i + γ T i E_{i}+\gamma T_{i} Ei+γTi)和更新效果(即 A c c i − A c c i − 1 Acc_{i}-Acc_{i-1} Acci−Acci−1)。获得选定设备集 Mi 后,采用频谱分配优化方法确定每个选定设备的分配带宽。所提出的框架使 FL 能够在训练整个 FL 算法时实现较低的全局系统成本(即 E + γ T E+\gamma T E+γT)
设备的什么因素会影响设备调度?
设备集Mi的选定和频谱分配也有关,如何在不知道频谱分配的情况下选择设备呢?
4 基于RL的设备调度
DRL模型执行FL中的设备调度。
DRL的基本原理
代理:长短期记忆LSTM
DRL训练算法
基于DRL的设备调度方法的工作流程
算法目标是使FL达到目标精度同时显著降低(12)目标值
A DRL环境设计
DRL 可用来解决马尔可夫决策过程(MDP)的优化问题。
在时隙 i i i,DRL 代理接收到一个状态 s i s_i si,并执行一个行动 a i ∼ π θ ( a i ∣ s i ) a_{i}\sim \pi_{\theta}(a_{i}|s_{i}) ai∼πθ(ai∣si),其中 π \pi π是一个策略, θ \theta θ是 π \pi π的参数。
当环境状态从 s i s_i si转变为 s i + 1 s_{i+1} si+1后,会立即得到奖励 r i r_i ri。
DRL目标是训练策略 π θ \pi_{\theta} πθ以最大化折扣奖励累计函数 R i = ∑ l = 0 ∞ φ l r i + l R_{i}={\sum}_{l=0}^{\infty}\varphi^{l}r_{i+l} Ri=∑l=0∞φlri+l
其中, φ ∈ ( 0 , 1 ] \varphi\in(0,1] φ∈(0,1]是折扣因子
状态-行动值函数
Q
(
s
i
,
a
i
)
=
E
s
i
+
1
:
∞
,
a
i
+
1
:
∞
[
∑
l
=
0
∞
φ
l
r
i
+
l
∣
s
i
,
a
i
]
,
(13)
Q(s_i,\boldsymbol{a}_i)=\mathbb{E}_{\boldsymbol{s}_{i+1:\infty}},\boldsymbol{a}_{i+1:\infty}\left[\sum_{l=0}^{\infty}\varphi^lr_{i+l}|s_i,\boldsymbol{a}_i\right],\quad\text{(13)}
Q(si,ai)=Esi+1:∞,ai+1:∞[l=0∑∞φlri+l∣si,ai],(13)
状态-值函数
V
(
s
i
)
=
E
a
i
[
Q
(
s
i
,
a
i
)
∣
s
i
]
.
(
14
)
V(s_{i})=\mathbb{E}_{\boldsymbol{a}_{i}}\left[Q(s_{i},\boldsymbol{a}_{i})|s_{i}\right].\quad(14)
V(si)=Eai[Q(si,ai)∣si].(14)
期望
E
[
⋅
]
\mathbb{E}[\cdot]
E[⋅]与状态
s
i
s_{i}
si和策略$\pi $ 产生的行动有关,
s
i
+
1
:
∞
s_{i+1:\infty}
si+1:∞表示从时隙 i + 1 开始的状态轨迹.
FL 中的设备调度是一个顺序决策过程,可进一步建模为 MDP。我们为执行基于 DRL 的设备调度设计了状态空间、行动空间和奖励函数。
状态空间:
状态 si 应包含与更新效果和系统成本相关的信息。一方面,根据第 III-B 节,系统成本取决于 bn 和 fn、qn、gn、Cn 和 Dn 等设备特性。由于带宽分配将在设备调度后进行,因此在构建 si 时无法获得 bn。此外,gn 的大小顺序从百万分之一到千万亿分之一不等。
将
g
‾
n
\overline{g}_{n}
gn加入到
s
i
s_{i}
si可能会恶化DRL的训练过程。由于 gn 受本地设备 n 与远程服务器之间距离(用 dn 表示)的影响,我们使用 dn 来近似信道状态。另一方面,全局模型
w
i
{w}^{i}
wi与本地设备
w
n
i
−
1
{w}_{n}^{i-1}
wni−1之间的权重差异值
{
∥
w
i
−
w
n
i
−
1
∥
∣
n
∈
N
}
\left\{\|\boldsymbol{w}^{i}-\boldsymbol{w}_{n}^{i-1}\||{n}\in\mathcal{N}\right\}
{∥wi−wni−1∥∣n∈N}用于估计每个本地模型的更新效果。因此,状态si定义为
s
i
=
{
η
n
i
∣
n
∈
N
}
.
(
15
)
s_i=\begin{Bmatrix}\eta_n^i\big|n\in\mathcal{N}\end{Bmatrix}.\quad(15)
si={ηni
n∈N}.(15)
η
n
i
=
(
∥
w
i
−
w
n
i
−
1
∥
,
f
n
,
q
n
,
d
n
,
D
n
,
C
n
)
T
\eta_{n}^{i}=\left(\|\boldsymbol{w}^{i}-\boldsymbol{w}_{n}^{i-1}\|,f_{n},q_{n},d_{n},D_{n},C_{n}\right)^{\mathrm{T}}
ηni=(∥wi−wni−1∥,fn,qn,dn,Dn,Cn)T
注意:FL需要 I I I次迭代才能达到目标精度 A c c t a r g e t Acc^{\mathrm{target}} Acctarget,因此本文中DRL的终端状态将是 s I s_I sI
行动空间:
DRL代理预计会从N个设备中选择M个设备,如果采用离散行动,则行动空间将为 ( N M ) \bigl(\begin{smallmatrix}N\\M\end{smallmatrix}\bigr) (NM)。
DRL代理很难在如此大的行动空间中进行训练。因此,DRL代理采用了连续的行动空间。具体来说,行动
a
i
a_i
ai是一个N维概率向量:
a
i
=
{
a
n
i
∣
n
∈
N
}
,
(
16
)
\boldsymbol{a}_{i}=\left\{\begin{matrix}a_{n}^{i}|n\in\mathcal{N}\\\end{matrix}\right\},\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad(16)
ai={ani∣n∈N},(16)
a
n
i
a_{n}^{i}
ani表示本地设备n在第i次全局迭代中被调度的概率,且
∑
n
=
1
N
a
n
i
=
1
\sum_{n=1}^{N}a_{n}^{i}=1
∑n=1Nani=1。
此外,本文提出的调度方法采用 “无替换抽样”。因此,设备在第m轮调度时的概率向量推导如下:
p
n
i
(
m
)
=
{
0
,
n
∈
M
i
(
m
−
1
)
,
a
n
i
1
−
∑
n
′
∈
M
i
(
m
−
1
)
a
n
′
i
,
n
∉
M
i
(
m
−
1
)
,
(
17
)
p_n^i(m)=\left\{\begin{array}{ll}0,\quad&n\in\mathcal{M}_i(m-1),\\\frac{a_n^i}{1-\sum_{n'\in\mathcal{M}_i(m-1)}a_{n'}^i},\quad&n\notin\mathcal{M}_i(m-1),\\(17)\end{array}\right.
pni(m)=⎩
⎨
⎧0,1−∑n′∈Mi(m−1)an′iani,(17)n∈Mi(m−1),n∈/Mi(m−1),
m
=
1
,
⋯
,
M
m=1,\cdots,M
m=1,⋯,M,
M
i
(
m
)
{\mathcal{M}}_{i}(m)
Mi(m)表示在调度轮次1, 2, …, m调度设备的集合,Mi(0) = ∅。每个调度轮将调度一个设备直到
m
=
M
m=M
m=M (在实际情况中,可以使用numpy库中的choice函数或pytorch库中的multinomial函数,以超低延迟完成这一过程)。
即一轮全局迭代之前调度M个设备用于本地训练
奖励函数:
奖励函数
r
i
r_i
ri引导DRL的训练过程。在FL中,调度某些设备可能会显著提高精确度,同时导致
E
i
+
γ
T
i
E_{i}+\gamma{T}_{i}
Ei+γTi,这仍将导致
E
+
γ
T
E+\gamma T
E+γT偏高。在这种情况下,定义奖励函数:
r
i
=
−
(
E
i
+
γ
T
i
)
.
(
18
)
r_{i}=-(E_{i}+\gamma T_{i}).\quad(18)
ri=−(Ei+γTi).(18)
DRL代理的目标是最小化一轮的系统成本。此外,DRL代理要最大化的累积奖励,这与优化问题(12)的目标一致。
注意:折扣因子
从这个角度来看,奖励函数(18)鼓励DRLdialing考虑更新的有效性。具体地,DRL代理将选择有助于FL模型迅速达到目标精度的设备即减少全局迭代I的次数。
思考:只有本地设备在聚合之前全部训练完毕,才能遍历所有的设备选择方案,计算奖励函数,从而选择一个最优的集合?并不是,被选中的才进行训练,没有选中的按之前的信息进行上传。
B 基于 LSTM的代理
DRL代理通常使用深度神经网络,接收状态信息si并生成动作ai。根据A中的DRL环境,采用多层感知MLP机作为DRL代理很直观。在这种情况下,状态si被扁平化为一个向量输入代理。然后,训练基于 MLP 的代理来执行 FL 的设备调度是不切实际的。例如,si 中的一些参数(如 dn、Dn 等)是固定的,因此对于 DRL 训练来说是多余的。此外,被调度设备的频率也是影响 FL 收敛性的关键因素。如果某些设备被反复选择,而另一些设备却很少被调度,那么 由于无法从各种训练数据中学习,FL 将需要更多的迭代次数(即更大的 I)来实现目标精度。【此频率不是CPU频率,而是多轮迭代训练中被选择的次数】而扁平化的状态 si 无法向基于 MLP 的代理反映这种调度频率。
本文采取两个步骤来解决上述问题。首先,我们不再将 si 扁平化为单一向量,而是将 si 视为包含 N 个向量的序列,其中第 n 个向量 η n i \eta_{n}^{i} ηni 被视为本地设备 n 的特征向量。因此,si 可以反映本地设备的调度频率。其次,我们采用长短期存储器(LSTM)作为 DRL 代理来处理序列数据 si。由于 LSTM 的输出取决于输入向量的值和顺序,因此固定参数 dn 和 Dn 仍可为 DRL 训练做出贡献。图 2 展示了基于 LSTM 的代理如何处理序列数据 si 的示例。在实际执行过程中,为了对 si 中的向量 η n i \eta_{n}^{i} ηni进行排序,我们引入了一个数组,记录每个本地设备被选择的次数。请注意,调度频率相同的本地设备按设备索引排序。训练 DRL 代理的实施细节见算法 2 和第 IV-C 节最后一段。
图2:基于 LSTM 的代理工作流程,N = 4 台设备。每次全局迭代安排两个设备(即 M = 2)。初始迭代时,状态 s1 根据设备索引对特征向量 η 1 1 ⋯ η 4 1 \eta_{1}^{1}\cdots\eta_{4}^{1} η11⋯η41进行排序。LSTM a1 的输出是一个概率向量,服务器会根据(17)来调度本地设备 1 和 3,这一点在第 IV-A 节中详细说明。在第 2 次迭代时,所选设备(即本地设备 1 和 3)的特征向量被置于序列末尾。然后,DRL 代理在接收到 s2 后生成 a2,服务器选择本地设备 1 和 2。请注意,ai 中 a 1 3 ⋯ a 4 3 a_{1}^{3}\cdots a_{4}^{3} a13⋯a43的顺序总是与 si 中特征向量的顺序一致。经过两次全局迭代后,本地设备 1 已被调度两次,本地设备 2 和 3 已被选择一次,本地设备 4 尚未被选择。在第 3 次迭代中,s3 中的特征向量和 a3 中的 a 1 3 ⋯ a 4 3 a_{1}^{3}\cdots a_{4}^{3} a13⋯a43 根据调度频率排序.
分析:什么样的设备被选择的概率大?
数据集:尽量选择被调度的少的设备的数据集
设备计算能力:计算能力强的延迟小
无线信道:传输功率+信道状态使得信道传输时延小
状态空间与什么有关?
KaTeX parse error: Can't use function '$' in math mode at position 2: $̲\eta_{n}^{i}=\l…
与设备的数据集的数据质量、设备的计算能力fn、发射功率qn、信道增益【距离】dn、设备n的数据集大小Dn、设备n计算一个数据样本所需要的CPU周期数Cn奖励函数:
r i = − ( E i + γ T i ) . ( 18 ) r_{i}=-(E_{i}+\gamma T_{i}).\quad(18) ri=−(Ei+γTi).(18)
也与上述变量相关
C DRL训练算法【还不懂】
本文采用行为者-批评者AC 框架来训练 DRL 代理。带有参数 θ 的行动者网络决定应采取的行动,而带有参数 φ 的批评者网络则评估所选择的行动。对于行动者网络,梯度估计器的推导过程如下 [48]
∇
J
(
θ
)
=
E
i
[
∇
θ
log
π
θ
(
a
i
∣
s
i
)
A
i
]
,
(
19
)
\nabla J(\theta)=\mathbb{E}_{i}\left[\nabla_{\theta}\log\pi_{\theta}(a_{i}|s_{i})A_{i}\right],\quad(19)
∇J(θ)=Ei[∇θlogπθ(ai∣si)Ai],(19)
E
i
[
.
]
\mathbb{E}_i[.]
Ei[.]表示有限批次样本的经验平均值。在采样和优化交替进行的算法中,
A
i
=
Q
(
s
i
,
a
i
)
−
V
(
s
i
)
A_{i}=Q(s_{i},\boldsymbol{a}_{i})-V(\boldsymbol{s}_{i})
Ai=Q(si,ai)−V(si)是一个优势函数,用来衡量在状态si下采取ai行动的优势。由于批判网络只能估计 Q(si , ai) 或 V (si),优势函数通常修改为
A
i
=
r
i
+
φ
V
(
s
i
+
1
)
−
V
(
s
i
)
A_{i}=r_{i}+\varphi V(\boldsymbol{s}_{i+1})-{V(\boldsymbol{s}_{i})}
Ai=ri+φV(si+1)−V(si)。因此,批判网络的更新是为了最小化状态估计值与真实值之间的平方误差.
L
(
ϕ
)
=
E
i
[
(
r
i
+
φ
V
(
s
i
+
1
)
−
V
(
s
i
)
)
2
]
,
(
20
)
L(\phi)=\mathbb{E}_i\left[\left(r_i+\varphi V(s_{i+1})-V(s_i)\right)^2\right],\quad(20)
L(ϕ)=Ei[(ri+φV(si+1)−V(si))2],(20)
然而,优势函数
A
i
=
r
i
+
φ
V
(
s
i
+
1
)
−
V
(
s
i
)
A_{i}=r_{i}+\varphi V(s_{i+1})-V(s_{i})
Ai=ri+φV(si+1)−V(si)会受到价值函数估计器的影响。如果估计值出现偏差,Ai 也会出现类似偏差。在 Ai 中加入额外的时间步长可以减少偏差,同时增加方差。为了平衡偏差和方差之间的权衡,我们采用了广义优势估计器(GAE)[48]。
A
i
G
A
E
=
∑
l
=
0
∞
(
φ
ν
)
l
δ
i
+
l
,
(
21
)
A_{i}^{\mathrm{GAE}}=\sum_{l=0}^{\infty}(\varphi\nu)^{l}\delta_{i+l},\quad(21)
AiGAE=l=0∑∞(φν)lδi+l,(21)
δ
i
=
r
i
+
φ
V
(
s
i
+
1
)
−
V
(
s
i
)
,
ν
∈
[
0
,
1
]
\delta_{i}=r_{i}+\varphi V(s_{i+1})-V(s_{i}),\nu\in[0,1]
δi=ri+φV(si+1)−V(si),ν∈[0,1]。GAE引入的参数
ν
\nu
ν可以平衡偏差与方差之间的权衡。此外,我们采用近端策略优化PPO算法来指定行动者网络的目标函数:
J
C
L
P
(
θ
)
=
E
i
[
min
(
u
i
(
θ
)
A
i
G
A
E
,
c
l
i
p
(
u
i
(
θ
)
,
1
−
ρ
,
1
+
ρ
)
A
i
G
A
E
)
]
,
(
22
)
J^{\mathrm{CLP}}(\theta)=\mathbb{E}_i[\min(u_i(\theta)A_i^{\mathrm{GAE}},clip(u_i(\theta),1-\rho,1+\rho)A_i^{\mathrm{GAE}})],\quad(22)
JCLP(θ)=Ei[min(ui(θ)AiGAE,clip(ui(θ),1−ρ,1+ρ)AiGAE)],(22)
u
i
(
θ
)
=
π
θ
(
a
i
∣
s
i
)
π
θ
o
b
d
(
a
i
∣
s
i
)
,
θ
o
l
d
u_{i}(\theta)=\frac{\pi_{\theta}(\boldsymbol{a}_{i}|\boldsymbol{s}_{i})}{\pi_{\theta_{\mathrm{obd}}}(\boldsymbol{a}_{i}|\boldsymbol{s}_{i})},\theta_{\mathrm{old}}
ui(θ)=πθobd(ai∣si)πθ(ai∣si),θold是更新前的策略参数,
c
l
i
p
(
⋅
,
1
−
ρ
,
1
+
ρ
)
clip(\cdot,1-\rho,1+\rho)
clip(⋅,1−ρ,1+ρ)指的是具有下限1 - ρ)和上限(1 + ρ)的剪切函数。PPO 中的批判网络旨在最小化损失函数,具体如下:
L
P
P
O
(
ϕ
)
=
E
i
[
(
V
i
t
a
r
g
e
t
−
V
(
s
i
)
)
2
]
,
(
23
)
L^{\mathrm{PPO}}(\phi)=\mathbb{E}_{i}\left[\left(V_{i}^{\mathrm{target}}-V(s_{i})\right)^{2}\right],\quad(23)
LPPO(ϕ)=Ei[(Vitarget−V(si))2],(23)
V
i
t
a
r
g
e
t
V_{i}^{\mathrm{target}}
Vitarget是GAE得到的目标值函数。PPO 继承了信任区域策略优化的数据效率和可靠性能,同时在实现和调整上更为简单[50],这也是本文采用该算法的原因。图 3 描述了本文中 DRL 代理的网络架构。代理生成具有均值 µi 和标准偏差 σi 的正态分布。µi 和 σi 的形状为(batch,N)。行动 a 是通过从正态分布中采样并输入 softmax 层得到的。批判者产生状态值函数 V (s)。
算法2介绍了在 FL 中训练 DRL 代理的工作流程。第 1-2 行,服务器接收本地信息,初始化 θ 和 φ;第 4-6 行,全局迭代 i 的索引设为 1,初始化全局模型 w1;根据(15)得到 s1,并按设备索引对 s0 中的向量进行排序;创建计数 arr,记录每个本地设备的调度次数。第 8-12 行,根据概率向量 ai 选择一组本地设备 Mi。在第 13-17 行中,count_arr 中的第 n 个元素(n ∈ Mi)递增 1;被选中的设备下载wi并执行本地更新,并将本地模型发送回服务器。在第 18-20 行中,服务器执行全局聚合以获得 wi+1;ri 根据算法 3 计算,详见第五部分;服务器根据 count_arr 构建 si+1;例如,如果 count arr = [3,5,1],si+1 将 { η 3 , η 1 , η 2 } \{\eta_{3},\eta_{1},\eta_{2}\} {η3,η1,η2}。在第 21-30 行中,DRL 代理每 O 步训练 W 个epoch;在每个训练epoch中,从重放缓冲区 Ω 中随机收集 Y 个样本,以更新 θ 和 φ。【?】
算法2:
输入:设备集 N = { 1 , 2 , ⋯ , N } \mathcal{N}=\{1,2,\cdots,N\} N={1,2,⋯,N}、调度设备M、重放缓冲区 Ω \Omega Ω、每次更新的步长、更新DRL代理的epoch数量、每个epoch的小批量数Y、episodes 的最大数 Γ \Gamma Γ
输出:行动 π θ \pi_{\theta} πθ
所有本地设备将本地信息(fn、qn、dn、Dn)发送至服务器
初始化演员参数 θ 和批评家参数 φ
for e = 1, ..., Γ · · · do
i = 1
初始化全局模型 wi 和一个全为零的 N 维数组,count_arr = [0,...,0]
根据 (15) 初始化 si
repeat
根据 πθ(·|si) 生成
for m = 1 to M do
根据 (17) 计算{ pin (m)| n∈N}
根据pin(m)随机调度一台设备
end for
for 每个本地设备n∈Mi,do
count_arr[n] = count_arr[n] + 1
从服务器下载wi,并根据(3)执行本地更新
向服务器发送本地模型wni
end for
服务器根据(4)进行全局聚合,并根据算法3获得奖励ri
根据(15)获得si+1,其中(15)中的矢量即ηni会被排序
基于计数cout_arra升序排列
将(si , ai , ri , si+1) 放入重放缓冲区 Ω
if ζ < O
ζ =ζ +1
else
for X = 1,...,W do
根据 (22) 和 (23) 从 Ω 中获取 Y 样本以更新 θ 和 φ
end for
θold ← θ
清除 Ω 中的所有数据
ζ = 1
end if
i = i + 1
until 全局模型 Acci 准确率达到 Acc^target
end for
return Πθ
通过 [51] 中的理论分析,可以证明所提出的设备调度方法是收敛的。请注意,[51] 是基于 FL 损失函数的几个假设(如平滑、强凸等)。第六节中的实证结果表明,所提出的设备调度方法能使 FL 模型实现收敛(即目标精度),尽管我们论文中的损失函数并不符合这些假设。
D 复杂度分析
待看
5 每次全局迭代的带宽分配
设计了一种二进制搜索算法。给定一个调度设备子集Mi,提出的算法旨在最小化单轮能耗和时间延迟的加权和。
为简化表述,现将一些符号说明如下:
X
n
=
∑
n
∈
M
i
β
K
C
n
D
n
f
n
2
,
(24)
J
n
=
K
C
n
D
n
f
n
,
(25)
Un
=
z
q
n
,
(26)
G
n
=
q
n
g
‾
n
N
0
.
(27)
\begin{gathered} X_{n} =\sum_{n\in{\cal M}_{i}}\beta KC_{n}D_{n}f_{n}^{2}, \text{(24)} \\ J_{n} =\frac{KC_{n}D_{n}}{f_{n}}, \text{(25)} \\ \text{Un} =zq_{n}, \text{(26)} \\ G_{n} =\frac{q_{n}\overline{g}_{n}}{N_{0}}. \text{(27)} \end{gathered}
Xn=n∈Mi∑βKCnDnfn2,(24)Jn=fnKCnDn,(25)Un=zqn,(26)Gn=N0qngn.(27)
给定集合Mi,带宽分配问题表述如下:
min
b
i
r
i
=
E
i
+
γ
T
i
=
∑
n
∈
M
i
(
U
n
b
n
log
2
(
1
+
G
n
b
n
)
)
+
X
n
+
γ
T
i
(
28
)
\begin{aligned}\min_{b_i}r_i=E_i+\gamma T_i=\sum_{n\in\mathcal{M}_i}\left(\frac{U_n}{b_n\log_2\left(1+\frac{G_n}{b_n}\right)}\right)+X_n+\gamma T_i\\(28)\end{aligned}
biminri=Ei+γTi=n∈Mi∑
bnlog2(1+bnGn)Un
+Xn+γTi(28)
s
.
t
.
∑
n
∈
M
i
b
n
≤
B
,
(
28
a
)
\mathrm{s.t.}\quad\sum_{n\in\mathcal{M}_{i}}b_{n}\leq B,\quad\mathrm{(28a)}
s.t.n∈Mi∑bn≤B,(28a)
z
b
n
log
2
(
1
+
G
n
b
n
)
+
J
n
≤
T
i
,
∀
n
∈
M
i
.
(
28
b
)
\frac{z}{b_n\log_2\left(1+\frac{G_n}{b_n}\right)}+J_n\leq T_i,\forall n\in\mathcal{M}_i.\quad(28\mathrm{b})
bnlog2(1+bnGn)z+Jn≤Ti,∀n∈Mi.(28b)
定理 1.对于 x > 0, Q n ( x ) = x log 2 ( 1 + G n x ) Q_{n}(x)=x\log_{2}(1+\frac{G_{n}}{x}) Qn(x)=xlog2(1+xGn) 是单调递增的,其上限为 Gn ln 2。
由于变量 Ti 同时存在于目标函数 (28) 和约束条件 (28b) 中,因此很难直接求解优化问题 (28)。此外,重要度权重 γ 也会使问题(28)的优化过程复杂化,因为分配方法需要平衡能量成本和时间延迟之间的权衡。由于问题 (28) 的全局最优解很难实现,我们提出了一种基于二进制搜索的方法,如算法 3 所示,以求出局部最优解。
在算法 3 中,我们设置一个足够大的 T 上界和一个足够小的 T 下界。然后,给定已知的 Ti 和定理 1,就可以通过分段法从(28b)得到 bi 的下界(即 { b n min ∣ n ∈ M i } \left\{b_{n}^{\operatorname*{min}}\big|n\in\mathcal{M}_{i}\right\} {bnmin n∈Mi})(第 5 行)。如果下界之和 bsum(即 ∑ n ∈ M i b n m i n \sum_{n\in\mathcal{M}_{i}}b_{n}^{\mathrm{min}} ∑n∈Mibnmin )大于 B,则表明服务器由于带宽资源不足,无法支持本地设备在时间延迟 Ti 内完成全局迭代。在这种情况下,下限 T low 会增加到 Ti(第 9-12 行)。否则,将有可行的解决方案,剩余带宽为 B-bsum。剩余带宽的分配对最小化目标函数 (28) 起着至关重要的作用。
在已知 Ti 和固定 Xn 的情况下,剩余带宽的分配有望最小化 e n c o m (i.e., ∑ n ∈ M i ( U n b n log 2 ( 1 + G n b n ) ) ) e_n^\mathrm{com}\text{(i.e.,}\sum_{n\in\mathcal{M}_i}\left(\frac{U_n}{b_n\log_2\left(1+\frac{G_n}{b_n}\right)}\right)) encom(i.e.,∑n∈Mi(bnlog2(1+bnGn)Un))的总和。以图4为例,研究 e n c o m e_{n}^{\mathrm{com}} encom与 b n b_{n} bn 之间的关系。假设分配给每个设备的带宽 Δ b \Delta b Δb相同, e n c o m e_{n}^{\mathrm{com}} encom将减少 Δ e n c o m \Delta e_{n}^{\mathrm{com}} Δencom 。可以看出能量减少量 Δ e n c o m \Delta e_{n}^{\mathrm{com}} Δencom 与一阶导数 ∣ d e n c o m d b n ∣ b n m i n \left|\frac{\mathrm{d}e_n^\mathrm{com}}{\mathrm{d}b_n}\right|b_n^\mathrm{min} dbndencom bnmin的绝对值成正比。因此,本文根据 ∣ d e n c o m d b n ∣ b n m i n \left|\frac{\mathrm{d}e_n^\mathrm{com}}{\mathrm{d}b_n}\right|b_n^\mathrm{min} dbndencom bnmin的值分配剩余带宽(第 13-15 行)。然后,计算 Ei 和 Ti 的加权和(第 16-17 行)。如果得到较高的 ri,Ti 将增加(第 19 行)。否则,将进一步减少 。 r i ∗ r_{i}^{*} ri∗和 b n ∗ b_{n}^{*} bn∗分别设为 ri 和 bn(第 21-23 行)。随着 Ti 的上限和下限不断接近,算法 3 最终会收敛到一个稳定点,并获得局部最优解 b i ∗ b_{i}^{*} bi∗。
delta是剩余带宽资源的分配,是在bmin的基础上累加的
6 性能评估
A 实验设置:
100个本地设备随机分布在2km*2km大小的正方形中,区域中心是一台远程服务器
路径损耗: 128.1 + 37.6 log 10 d n ( k m ) 128.1+37.6\log_{10}d_{n}(\mathrm{km}) 128.1+37.6log10dn(km)
阴影衰落的标准差:8dB
路径损耗用于描述信号在传播过程中的衰减
阴影衰落用于描述信号在短期内的波动,可以根据均值和标准差得到阴影衰落的统计特性
噪声功率谱密度N0的单位是dbm/Hz,带宽B的单位是MHz,二者的乘积计算:
1 dBm = 10 log§ P单位mw
数据集设置:在IID和非IID数据集上进行训练
-
非IID设置:本地数据集Dn中50%的数据来自同于标签,其余数据属于其它标签
MNIST
CIRAAF-10
FL模型设置:具有交叉熵损失函数的卷积神经网络CNN
B 带宽分配性能评估
与三个基准进行了比较:JDSRA [34]、ICAS [27] 和 EB-FL
- JDSRA 优化了模型训练和传输的时间延迟
- ICAS 根据信道状态最小化模型传输延迟并分配带宽
- EBFL 将带宽资源平均分配给预定设备
在进行带宽分配时,我们采用 CIFAR-10 的实验设置(即 Dn∈[300, 700],z = 882 KB,K = 10)。我们随机调度 10 台设备,组成集合 Mi。
5G中RB最小为15KHz
实验结果:如图5显示了FL单轮时延Ti和能耗Ei。可以看出,随着γ的增大,我们的方法获得了更低的时间延迟和更高的能量消耗。JDSRA 在 γ = 1 时获得了与我们相同的时间延迟,但 JDSRA 没有考虑能耗,因此在所有基准中能耗最高。EBFL 的能耗最低,但时延较高。当 γ = 0.3 时,与 ICAS 方法相比,建议的方法表现出更低的时延和能耗。实验结果表明,在平衡 FL 的时间延迟和能量消耗方面,建议的带宽分配方法优于其他基准。
疑问:先获得所选设备集,这时候不含带宽资源分配,那么在算法中计算的奖励函数中的带宽值是多少?
设备集合的选择是根据上一步的选择,经过本地训练和上传,得到所有设备的信息,可以得到新的设备选择集合,再进行本次的带宽资源分配。