Federated Learning for 5G Base Station Traffic Forecasting
3. 方法
3.1. 问题建模
- individual learning: 一个基站对于观测结果进行局部训练
- d d d是变量个数:down(下行流量),up(上行流量),rnti_count(基站连接的用户数),mcs_down(下行调制和编码的方案编号),mcs_down_var(下行编码的方案的方差),mcs_up,mcs_up_var,rb_down(下行链路分配资源块数量),rb_down_var,rb_up,rb_up_var
-
X
t
=
{
x
{
t
,
1
}
,
…
,
x
{
t
,
d
}
}
X_t=\{x_{\{t,1\}},…,x_{\{t,d\}}\}
Xt={x{t,1},…,x{t,d}}: 表示t时间的观测值
174876888.0,1856888.0,10229,15.332298145449199,87.15768837702974,14.981496960486323,49.989484126984124,0.029681166666666665,4.4976976147873475e-08,0.0005406666666666667,3.143297486772487e-08 - 时间窗: T ∈ [ t − T + 1 , t ] T\in[t-T+1,t] T∈[t−T+1,t]
- 滞后数据: X t ∗ = { X t − T + 1 , . . . , X t } X_t^*=\{X_{t-T+1},...,X_t\} Xt∗={Xt−T+1,...,Xt}
- 目标:
- 通过过去的 T T T个时间步的数据 X t ∗ X_t^* Xt∗预测下一个时间步的数据 y ^ t + 1 \hat y_{t+1} y^t+1
- 通过整个的数据集 D i n d = ⋃ i ∈ m X { t , i } ∗ D_{ind}=\bigcup_{i \in m}X_{\{t,i\}}^* Dind=⋃i∈mX{t,i}∗, m m m表示数据集中有时间窗的个数
- 目标是创建一个可以对不可见的未来序列进行泛化的模型
- centralized learning: 将基站的所有数据组合起来传输到“第三方(云)”中,然后进行训练
- combined data: D c e n = ⋃ i ∈ n D i n d i D_{cen}=\bigcup_{i \in n}D_{ind}^i Dcen=⋃i∈nDindi
- 目标:构建一个模型,至少对于 n n n个基站来说,这个模型可以被泛化来预测不可知的未来序列
- federated learning: 所有
n
n
n个基站合作建立一个预测模型,这个模型可以推广到预测未来序列
- 每个参与者(基站) p ∈ n p \in n p∈n持有自己的时间序列数据,然后再有限的 e p o c h epoch epoch中训练一个局部的模型
- 参与者将自己训练的本地学习模型的参数传输给
a
g
g
r
e
g
a
t
o
r
aggregator
aggregator(聚合器),生成一个平均模型
- 这个过程一直持续
- 直到全局模型聚合了所有 n n n个观测者的局部模型
3.2 联邦流量预测设计
3.2.2 联邦训练
- Client: 基站
- Server: 服务器
- Client从Sercer中采样,获得当前的global model
- Client使用自己的数据执行本地训练
- 本地训练之后,Client将更新的local models和historical metrics(损失矩阵和评估矩阵)返回调Server中
- Server聚合收集到的local model,更新global model并且这个过程重复多个federated rounds
- 联邦训练完之后,Server将最终的global model传输给Clients
- 可以设计联邦学习可以使用不同的时间间隔进行动态执行,提高预测精度
- Clients可以进行局部微调local model来使模型更加接近他们的本地数据,提高预测精度
3.2.3 联邦聚合 F e d e r a t e d A g g r e g a t i o n Federated Aggregation FederatedAggregation
- 联邦学习中最重要的就是model aggregation
- central server从clients收集和聚合模型,来更新global model的状态
- 困难: 处理non-iid(不是独立同分布的)数据 和异构数据(不统计站的数据)
- FedAvg:
- 聚合是通过计算client模型的加权平均值,基于数据量
- 这种方法让有更多数据量的基站(Client)有更大的影响力
- 存在问题: global model收敛到一个和目标函数不一样的平稳点,这可能与真正的全局目标有很大的不同
- 解决方案:处理数据的异构性:FedProx
- FedProx:
- FedProx是FedAvg的一般化,提供了鲁棒的收敛性
- 引入 μ \mu μ来控制局部目标,限制了以前的( p r e v i o u s previous previous)模型权重和现在的( c u r r e n t current current)模型权重的距离
- FedNova:
- 在平均过程中对局部模型更新进行归一化
- 对标准化的局部梯度求平均值
- 标准化的局部梯度 ÷ \div ÷局部训练的步骤数
- 不是在没有任何标准化步骤的情况下求累积的局部梯度的平均值
- FedAvgM:
- 在每个epoch中
- 将之前的模型更新值乘上 β \beta β
- 增加新的更新值
- 在每个epoch中
- FedAdagrad, FedYogi and FedAdam:
- 效率依赖于超参数 ( λ , β 1 , β 2 ) (\lambda,\beta_1,\beta_2) (λ,β1,β2)