联邦学习的背景:
MEC 移动设备边缘计算的兴起,移动设备逐渐具备了计算和存储能力,可以实现本地计算和模型训练,这就促进了联邦学习的形成,在保护用户隐私的同时来构件一个全局的训练模型。
研究问题:
1、联邦学习非常依赖节点的参与,如果没有令人满意的回报,节点不会愿意自己花费计算、传输的费用来进行模型训练。
2、由于每个节点的计算能力、数据量、数据质量的不一样,他们上传的模型更新质量也不尽相同。如果在招募节点预算很紧张的情况下,更需要挑选出质量高的节点来参与联邦学习。
与现有研究的对比:
有很多研究都致力于提高模型,但是大多基于的假设是有充足的节点来参与学习。
然后也有一些研究重点关注激励机制,但是他们都是鼓励有更多节点参与,而没有关注到节点的质量。
本文的contribution:
1、学习质量的评估
2、考虑质量的激励机制
3、模型聚合
System:
所有节点 N = {1,2,...,N}
学习任务集合 表示在第t轮的迭代中的第j个任务
对于每一轮的每一个任务,云平台都会发布一个招募预算,每一轮所有任务的总预算为
每个节点每轮至多参加一个任务
Problem Definition:
要解决的问题是需要决定哪个任务由哪个节点来完成,并给这个节点多少的招募资金,达到的目的是使得每一轮迭代的每个任务的最终聚合模型的质量最大化
公式化后如下:
用来指示第i个节点是否能参与第t轮的第j个任务
每一轮的任务分配
每一轮的招募资金的花费
(3)表示不能超过招募预算
(5)表示每个节点在每一轮至多参与一个任务
问题难点:
1、缺少一种量化机制来评估local model和aggregated model
2、model的质量在参与学习之前是无法知道的
3、合适的激励机制,既能支付节点的学习cost,又不会支付多余的金额(比如节点故意报的高价)
4、如何聚合具有不同学习质量的节点
Design Overview:
首先使用loss reduction来量化每个节点的学习质量,并使用历史学习记录来预测现在的学习质量。(解决1、2)
提出了game-theoretic reverse auction,在每一轮迭代中,平台发布任务,节点给出自己的bid info,包括节点想参与的任务和他的报价,在这里作者提出了Learning Quality Max- imization (LQM),目的是在预算内招募到高质量的节点。(解决3)
提出了一种聚合算法(解决4)
Design Goal:
首先定义一下节点的收益(Node Utility)
目标如下:
Truthfulness 每一个报价都必须是真实的,等于自身的cost,如果不等于,则utility会变小
Individual Rationality 每一轮迭代的utility都大于等于0
Computational Efficiency 所有算法的执行时间为多项式时间
设计一:评估学习质量
1、首先要对质量进行量化
最直观的方式是把每个local model都在global dataset进行测试,用准确率作为评估标准,但是这样需要把每个local model都测试,开销很大。
直接用损失值来计算每个data的质量
在迭代开始时,任务j的全局模型的平均损失值
在迭代结束时,第i个节点的local model的平均损失值
结合节点的数据量,就可以得到整个节点的质量:
2、质量预测
如果使用预测的方法,就不用在数据参与学习之后再进行质量判断了。
需要使用历史质量记录
假设节点在第j个任务已经参加了r轮迭代,就可以得到r个学习质量记录,
直观上看,近期的记录比早期的记录更有效果,因此根据新鲜度来对这些记录赋予权重,权重赋予的方式即为exponential forgetting function(指数遗忘函数),最近的一次记录权重为1,其他记录的权重根据该记录到最近一次记录的相对位置来进行。
设计二:关注质量的激励机制
通过反向拍卖的方式进行激励,过程如下:
每个节点提交一个竞标价,由平台挑选出获胜者集合,并且计算出付费集合(给每个节点在每个任务的付费)
要解决的问题(The Learning Quality Maximization Problem)):在招募预算内,如何确定每一个任务的获胜者集合和付费集合,使得总的数据质量的和最大
(11)在预算内(12)付费要大于等于竞标价 (13)解释 (14)如果任务不在任务集里,节点不能参与 (15)每个节点至多参与一个任务
这个问题的输入是:每个节点给出竞标价的任务集,每个节点的竞标价集合,,每个任务的招募预算,每个节点每个任务的学习质量
输出:,二进制集合,表示选择了哪些节点,这些节点组成了;付费集合
这个问题是NP问题,分析如下:
类比Multiple Knap- sack Problem with Assignment Restrictions(多背包问题的变式)问题,对于每一个物品,都存在一个背包集合,这个集合中的背包都能装下这个物品
如果假设对于每一个任务,每一个节点都有相同的竞标价和质量,并假设付费等于竞标价
物品集合对应节点集合
背包集合对应某一迭代的所有任务
每个节点的学习质量对应物品价值
每个节点对于每个任务的竞标价对应物品大小
每个任务的招募预算对应背包大小
问题就是找到一种分配方法,使得所有装入背包的物品的价值总和最大
从这个一一对应的关系可以证明这是一个NP问题
要解决这个NP问题,文章使用了启发式算法,确保这个激励机制的真实性、对于每个个体的合理性、计算的高效性
如何确保真实性呢?Myerson’s theorem证明了一个机制是具有真实性的 当且仅当 这个选择机制具有单调性且每个节点都有临界值
单调性:如果节点可以以竞标价b赢得任务,他同样可以用小于b的竞标价赢得任务
临界值:存在一个竞标价b,使得节点可以获得最大报酬
算法如下:
关于其中报酬的确定:
第k个节点表示的是所有loser中排名最高的,那么所有winner的竞标最大值满足,即为17行
设计三:模型聚合
普遍的Federated Averaging algorithm:
表示数据量 表示参数
这篇文章的方法考虑了数据质量 聚合方式如下
同时,在最后还进行了一次低质量节点的筛选
分析
1、证明truthful:
假设有一个真实竞标价,和一个虚假竞标价
证明不能通过上报虚假竞标价来提高utility
在两种竞标价下有以下几种情况:
都满足
2、证明个体合理性:
如果报价为假
如果报价为真
不管怎样,utility都是大于等于0的,对于个体来说是不亏本的
3、时间复杂度
分配算法时间复杂度
主循环(line9)最多进行L次,倒排是O(NlogN),找最小的k是O(N),找最大质量和的任务(line21)是O(NL)
聚合时间复杂度
4-6是O(MS),计算中位数是O(M),综合就是O(MS)