正在加载图片...
·491· 实勇敢,等:基于隐式随机梯度下降优化的联邦学习 第3期 式中:A是一个约束本地模型和全局模型差异的 有设备上传的本地模型参数作为更新后的全局模 超参数:w表示在第轮服务器聚合更新之后的全 型参数。因为VG(w)=A(w-w),所以在服务器 局模型参数。 2.2基于隐式随机梯度下降的全局模型更新优化 端只需通过如-只之就可以得到平均全局 本地训练结束后,每个设备将更新后的模型 模型梯度,因此避免了求解一阶导数,然后利用 参数w上传至服务器,服务器通过聚合本地模型 随机梯度下降对全局模型参数进行更新。相比 参数更新全局模型参数。从加快全局模型收敛速 于FedProx,本算法在信息比较冗余的情况下能更 度的目标出发,在服务器全局模型聚合阶段利用 高效地利用有效信息。其次,在迭代的过程 隐式随机梯度下降算法对全局模型参数进一步优 中也会很快收敛到最小值附近,加快模型的收敛 化,使其能够在有限的资源下以更少的通信轮数 速度。 达到更快更稳定的收敛效果。 3实验与结果 由于客户端本地目标函数为minG.(w)= F(w)+)w-w,假设w是目标函数Gw)的最 为了验证本文提出的隐式随机梯度下降优化 优解,且函数F.(w)可微。由一阶最优条件可以 算法的有效性,本文在3个真实数据集和3个合成 得到: 数据集上进行实验,在分类和回归任务上进行评 VF(w)+λ(w-w)=0 (3) 估,并与当前具有代表性的解决异构性问题的方 由链式法则可以得到: 法FedProx阁以及经典的FedAvg算法进行比较。 3.1实验设置 VG:(w)-3w w VF:(wi)+ 在Linux系统下,包括2块GeForce GTX1080 -(8)w- Ti和1块GeForce GTX TITAN X的服务器上进行 (4) 仿真实验,代码使用Tensorflow框架实现,基于 )*F.()- Python.3来实现基于隐式随机梯度下降优化的联 邦学习算法。其中,训练轮数、每轮迭代次数、选 a(w'-wi) 择设备数量、学习率等超参数设置如表1所示。 所以7G(w)=A(w-w),式(4)展现了全局模 型的梯度估计可以通过求解当前任务的近似更新 表1超参数设置 来计算。在第轮,所选设备在本地数据集上利用 Table 1 Setting of Hyperparameters 随机梯度下降更新E轮后,求出近似最优解w。 超参数 Synthetic Snet140 MNIST EMNIST 服务器通过式(4)可以计算出平均的全局梯度: 200 800 200 200 VG(w)= (5) Naum_cpochs 20 20 30 20 Bhatch_size 10 10 10 o 由于精确的本地最优解w很难去估计,本文 Nau clients 0 10 10 10 用次优解w来代替w,因此全局模型参数更新为 ne 0.01 0.6 0.03 0.003 =w-ngA -2 (6) ngi 0.75 1.1 0.75 0.95 式中:S,为K个设备的子集;t为当前训练轮数; 为了保证评估方法与结果的公平性,本文提 1 :=为按固定轮数衰减的学习率;为初始化 出的方法与FedProx、FedAvg使用了相同的本地 学习率,在训练模型初期用较大的学习率对全局 求解器,在模拟系统异构设置时,掉队的设备数 模型进行优化,随着通信轮数的不断增加学习率 量分别设置为0%、50%、90%。生成合成数据集 逐步减小,有效保证了全局模型在训练过程中能 本文使用了和FedProx类似的方法,通过式(7)生 以较快的速度逐步趋于稳定。更新后的w1作为 成本地数据: 下一轮训练的全局模型参数。 y=argmax (softmax(Wx+b)) (7) 从式(3)(6)推导过程很容易看出,本文提出 式中:W∈10×60:x∈60:b∈10。通过式(7)生成 基于隐式随机梯度下降优化的联邦学习算法是直 30个设备的数据集,同样每轮随机抽取10个参 接对全局模型参数进行优化,而不是简单平均所 与训练。λ w t t 式中: 是一个约束本地模型和全局模型差异的 超参数; 表示在第 轮服务器聚合更新之后的全 局模型参数。 2.2 基于隐式随机梯度下降的全局模型更新优化 w t+1 k 本地训练结束后,每个设备将更新后的模型 参数 上传至服务器,服务器通过聚合本地模型 参数更新全局模型参数。从加快全局模型收敛速 度的目标出发,在服务器全局模型聚合阶段利用 隐式随机梯度下降算法对全局模型参数进一步优 化,使其能够在有限的资源下以更少的通信轮数 达到更快更稳定的收敛效果。 min wk Gk (wk) = Fk (wk)+ λ 2 ∥wk −w t ∥ 2 2 w ∗ k Gk (wk) Fk (wk) 由于客户端本地目标函数为 ,假设 是目标函数 的最 优解,且函数 可微。由一阶最优条件可以 得到: ∇F ( w ∗ k ) +λ ( w ∗ k −w t ) = 0 (3) 由链式法则可以得到: ∇Gk ( w t ) = ( ∂w ∗ k ∂wt )⊺ ∇Fk ( w ∗ k ) + λ ( I− ( ∂w ∗ k ∂wt )⊺) ( w t −w ∗ k ) = λ ( w t −w ∗ k ) + ( ∂w ∗ k ∂wt )⊺ ∗ ( ∇Fk ( w ∗ k ) +λ ( w ∗ k −w t )) = λ ( w t −w ∗ k ) (4) ∇Gk (w t ) = λ ( w t −w ∗ k ) t w t+1 k 所以 ,式(4)展现了全局模 型的梯度估计可以通过求解当前任务的近似更新 来计算。在第 轮,所选设备在本地数据集上利用 随机梯度下降更新 E 轮后,求出近似最优解 。 服务器通过式 (4) 可以计算出平均的全局梯度: ∇G ( w t ) = λ   w t − 1 K ∑ k∈S t w ∗ k   (5) w ∗ k w t+1 k w ∗ k 由于精确的本地最优解 很难去估计,本文 用次优解 来代替 ,因此全局模型参数更新为 w t+1 = w t −ηgλ   w t − 1 K ∑ k∈S t w t+1 k   (6) S t t ηg = 1 t ηgi ηgi w t+1 式中: 为 K 个设备的子集; 为当前训练轮数; 为按固定轮数衰减的学习率; 为初始化 学习率,在训练模型初期用较大的学习率对全局 模型进行优化,随着通信轮数的不断增加学习率 逐步减小,有效保证了全局模型在训练过程中能 以较快的速度逐步趋于稳定。更新后的 作为 下一轮训练的全局模型参数。 从式 (3)~(6) 推导过程很容易看出,本文提出 基于隐式随机梯度下降优化的联邦学习算法是直 接对全局模型参数进行优化,而不是简单平均所 ∇Gk (w t ) = λ ( w t −w ∗ k ) λ   w t − 1 K ∑ k∈S t w ∗ k   有设备上传的本地模型参数作为更新后的全局模 型参数。因为 ,所以在服务器 端只需通过 就可以得到平均全局 模型梯度,因此避免了求解一阶导数,然后利用 随机梯度下降对全局模型参数进行更新。相比 于 FedProx,本算法在信息比较冗余的情况下能更 高效地利用有效信息。其次,在迭代的过程 中也会很快收敛到最小值附近,加快模型的收敛 速度。 3 实验与结果 为了验证本文提出的隐式随机梯度下降优化 算法的有效性,本文在 3 个真实数据集和 3 个合成 数据集上进行实验,在分类和回归任务上进行评 估,并与当前具有代表性的解决异构性问题的方 法 FedProx[18] 以及经典的 FedAvg[1] 算法进行比较。 3.1 实验设置 在 Linux 系统下,包括 2 块 GeForce GTX 1 080 Ti 和 1 块 GeForce GTX TITAN X 的服务器上进行 仿真实验,代码使用 Tensorflow 框架实现,基于 Python3 来实现基于隐式随机梯度下降优化的联 邦学习算法。其中,训练轮数、每轮迭代次数、选 择设备数量、学习率等超参数设置如表 1 所示。 表 1 超参数设置 Table 1 Setting of Hyperparameters 超参数 Synthetic Snet140 MNIST EMNIST Nnum_rounds 200 800 200 200 Nnum_epochs 20 20 20 20 Bbatch_size 10 10 10 10 Nnum_clients 10 10 10 10 ηc 0.01 0.6 0.03 0.003 ηgi 0.75 1.1 0.75 0.95 为了保证评估方法与结果的公平性,本文提 出的方法与 FedProx、FedAvg 使用了相同的本地 求解器,在模拟系统异构设置时,掉队的设备数 量分别设置为 0%、50%、90%。生成合成数据集 本文使用了和 FedProx 类似的方法,通过式(7)生 成本地数据: y = argmax(softmax(W x+b)) (7) 式中: W ∈ 10×60;x ∈ 60;b ∈ 10。通过式(7)生成 30 个设备的数据集,同样每轮随机抽取 10 个参 与训练。 ·491· 窦勇敢,等:基于隐式随机梯度下降优化的联邦学习 第 3 期
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有