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=