Incentive-Boosted Federated Crowdsourcing
可译为“激励推动的联合众包”
众包系统可能会通过共享员工数据导致隐私泄露。本文提出了iFedCrowd来管理众包项目的隐私和质量。iFedCrowd允许参与者本地处理敏感数据,只上传加密的训练模型,然后汇总模型参数,构建共享服务器模型,保护隐私。众包和联邦学习的区别在于数据是时常更新的。将众包和参与者之间基于激励的互动建模为Stackelberg游戏,其中每方都最大化自己的利润,推导出博弈的纳什均衡。下面是边看边记录的一点笔记,也可能有理解错的地方,建议看原文。
一、背景介绍
1.1 存在问题
- (1)如何通过贡献计算/通信资源和数据来激励客户端端参与到FL中?
- (2)FL中的安全风险和潜在威胁降低了客户端参与的积极性。
- (3)现有的研究集中在客户端贡献、声誉和资源配置驱动,目标是准确评估不同数据提供商的贡献,从而合理分配收益,但不能直接用于联合众包,主要原因为:
- 联合众包中的工作者在训练过程中不断收集新数据来进行模型更新,动机是激励员工使用新鲜数据来更新模型。
- 由于工作者具有高度异构资源,上传模型更新所需的时间可能会很大差异,从而导致训练任务的完成时间较长,需要考虑上传模型的时间成本。
- 收集到的训练样本有自己的注释,其中一些可能容易出错和有噪声,潜在的恶意工作者也可能是为加速支付而提交低质量的数据,需评估不同数据提供者的数据质量。
1.2 主要内容
- (1)在game下层,根据用户的本地准确率、数据新鲜度和总完成时间来分配收益,从而鼓励用户高质量、高效率地完成协同训练任务。
- (2)在game上层,使任务发布者的效用最大化,这个效用由聚合模型获得的利润减去支付给用户的总奖励来定义。
二、具体步骤
w \qquad w w为工作者, D k = { x 1 k , . . . , x N k k } D_k=\{x^k_1,...,x^k_{N_k}\} Dk={x1k,...,xNkk}为工作者的任务集合, Y k = { y 1 k , . . . , y N k k } Y_k=\{y^k_1,...,y^k_{N_k}\} Yk={y1k,...,yNkk}为工作者对应任务的标签, θ \theta θ为服务器模型, { θ 1 , . . . , θ n } \{\theta_1,...,\theta_n\} {θ1,...,θn}为 n n n个客户端模型。
2.1 协议步骤
- (1) 在底层,用户在给定的激励下独立地决定解决本地子问题的策略;任务发布者先发布客户端统一的奖励率,分配给客户端
k
k
k的收益为
v k = r 1 ⋅ A k T k + r 2 ⋅ F k v_k=r_1·\frac{A_k}{T_k}+r_2·F_k vk=r1⋅TkAk+r2⋅Fk
其中 A A A为客户端模型 θ \theta θ的准确等级, F F F为训练数据的新鲜度, T T T为本地训练和模型更新的完成时间。 r 1 , r 2 > 0 r_1,r_2>0 r1,r2>0为相关的奖励率,为了计算新鲜度,工作者记录收集数据的时间,设 g k ( t ) g_{k(t)} gk(t)为客户端 k k k在时间slot t t t的最新训练样本的生成时间,可以定义新鲜度为
F k = 1 t − g k ( t ) F_k=\frac{1}{t-g_k(t)} Fk=t−gk(t)1
理性工作者会尝试提高训练数据的新鲜度,缩短完成时间,提高局部模型的精度,从而使其效用最大化。用本地数据训练全局模型给参与者带来的成本包括计算成本和通信成本:
C k = c k c a l + c k c o l + c k c o m C_k=c^{cal}_k+c^{col}_k+c^{com}_k Ck=ckcal+ckcol+ckcom
其中上面三个分别为计算开销、数据收集开销、通信开销。计算开销与精度 A A A的迭代次数相关,定义为:
c k c a l = γ k ( 1 + A k ) l o g ( 1 + A k ) c^{cal}_k=\gamma_k(1+A_k)log(1+A_k) ckcal=γk(1+Ak)log(1+Ak)
其中, γ \gamma γ是客户端 k k k的参数选择,取决于本地数据大小和局部子问题的条件数。收集训练数据的成本与数据的新鲜度成正比。客户端收集成本定义为:
c k c o l = e δ k ⋅ F k c^{col}_k=e^{\delta_k·F_k} ckcol=eδk⋅Fk
其中, δ k > 0 \delta_k>0 δk>0是客户端 k k k的参数,取决于设备上传感器的性能。
通信成本对于所有参与者是相同的,并在客户端与服务器交互以进行模型更新时产生。设 s s s为模型参数的大小,总代价定义为 c c o m = s c^{com}=s ccom=s。根据客户端报酬和客户端成本,可将客户端效用模型定义为:
u k = r 1 ⋅ A k T k + r 2 ⋅ F k − C k u_k=r_1·\frac{A_k}{T_k}+r_2·F_k-C_k uk=r1⋅TkAk+r2⋅Fk−Ck - (2)在上层,任务发布者决定客户端的最优奖励率
r
∗
(
[
r
1
∗
,
r
2
∗
]
)
r^*([r^*_1, r^*_2])
r∗([r1∗,r2∗]),以构建高质量的模型最大化效用。任务发布者的效用可以通过最终模型性能和总完成时间来定义。因此,服务器效用模型定义为:
U = 1 n ∑ k = 1 n ( α ⋅ A k + β ⋅ F k ) − max k T k − ∑ k = 1 n ( r 1 ⋅ A k T k + r 2 ⋅ F k ) U=\frac{1}{n}\sum^n_{k=1}(\alpha·A_k+\beta·F_k)-\max_k{T_k-\sum^n_{k=1}(r_1·\frac{A_k}{T_k}+r_2·F_k)} U=n1k=1∑n(α⋅Ak+β⋅Fk)−kmaxTk−k=1∑n(r1⋅TkAk+r2⋅Fk)
其中, α , β > 0 \alpha,\beta>0 α,β>0为系统参数,后面一部分是激励客户端参与FL任务花费的总成本。
基于上面定义的博弈,使得任务发布者和参与者的效用最大化的最佳选择,推导出纳什均衡来寻求两个子博弈的最优解。
2.2 纳什均衡
定义纳什均衡
(
r
∗
,
A
∗
,
F
∗
,
T
∗
)
(r^*,A^*,F^*,T^*)
(r∗,A∗,F∗,T∗)是纳什均衡,若它满足以下条件:
U
(
r
∗
,
A
∗
,
F
∗
,
T
∗
)
≥
U
(
r
,
A
∗
,
F
∗
,
T
∗
)
u
k
(
r
∗
,
A
∗
,
F
∗
,
T
∗
)
≥
u
k
(
r
,
A
∗
,
F
∗
,
T
∗
)
U(r^*,A^*,F^*,T^*)\geq U(r,A^*,F^*,T^*)\\ u_k(r^*,A^*,F^*,T^*)\geq u_k(r,A^*,F^*,T^*)
U(r∗,A∗,F∗,T∗)≥U(r,A∗,F∗,T∗)uk(r∗,A∗,F∗,T∗)≥uk(r,A∗,F∗,T∗)
对于任意的
r
,
A
,
F
,
T
r,A,F,T
r,A,F,T值都满足。
- (1)底层博弈均衡:
客户端 k k k对目标精度 A k ∗ A^*_k Ak∗、数据新鲜度和完成时间的最佳响应表征如下:
A k ∗ = e h k ( T k m i n ) − 1 , F k ∗ = 1 δ k l o g ( r 2 δ k ) , T k ∗ = T k m i n A^*_k=e^{h_k(T^{min}_k)}-1, F^*_k=\frac{1}{\delta_k}log(\frac{r_2}{\delta_k}),T^*_k=T^{min}_k Ak∗=ehk(Tkmin)−1,Fk∗=δk1log(δkr2),Tk∗=Tkmin
其中 h k ( T k m i n ) h_k(T^{min}_k) hk(Tkmin)为 r 1 γ k ⋅ T k m i n − 1 \frac{r_1}{\gamma_k·T^{min}_k}-1 γk⋅Tkminr1−1。任务发布者是Stackelberg博弈中的领导者,在任何给定的合理奖励率下,可以得出参与客户端之间唯一的纳什均衡。因此,任务发布者可以通过选择最优奖励率来最大化其效用。
U = 1 n ∑ k = 1 n ( α ⋅ A k ∗ + β ⋅ F k ∗ ) − max k T k ∗ − ∑ k = 1 n ( r 1 ⋅ A k ∗ T k ∗ + r 2 ⋅ F k ∗ ) U=\frac{1}{n}\sum^n_{k=1}(\alpha·A^*_k+\beta·F^*_k)-\max_k{T^*_k-\sum^n_{k=1}(r_1·\frac{A^*_k}{T^*_k}+r_2·F^*_k)} U=n1k=1∑n(α⋅Ak∗+β⋅Fk∗)−kmaxTk∗−k=1∑n(r1⋅Tk∗Ak∗+r2⋅Fk∗)
U U U对 r r r的二阶导数满足以下条件
∂ 2 U ∂ r 1 2 < 0 , ∂ 2 U ∂ r 2 2 < 0 \frac{\partial^2U}{\partial r^2_1}<0, \frac{\partial^2U}{\partial r^2_2}<0 ∂r12∂2U<0,∂r22∂2U<0
因此,任务发布者的效用是一个严格的凹函数,它有一个唯一的最大化 r r r,满足
∂ U ∂ r 1 = 0 , ∂ U ∂ r 2 = 0 \frac{\partial U}{\partial r_1}=0, \frac{\partial U}{\partial r_2}=0 ∂r1∂U=0,∂r2∂U=0
故存在唯一的Stackelberg博弈均衡解。若客户端不满足 A A A和 F F F,服务器可以根据客户端提交的实际训练策略,并重新计算最优奖励率,以达到最大利润。