【流行前沿】联邦学习 Federated Learning with Only Positive Labels
核心问题:如果每个用户只有一类数据,如何进行联邦学习?
Felix X. Yu, , Ankit Singh Rawat, Aditya Krishna Menon, and Sanjiv Kumar. "Federated Learning with Only Positive Labels." (2020).
简述
在联邦学习中,如果每个用户节点上只有一类数据,那么在本地训练时会将任何数据映射到对应标签,此时使用分布式SGD或FedAvg算法学习分类器会导致整体学习失效。为了安全性,不能进行用户间数据交换,甚至不能相互交换模型参数(否则很容易推断出对方的数据类型)。这篇文章的想法是,将输入和标签通过嵌入(embedding)放入同一个高维空间,在用户端使输入和标签距离尽量近,在服务器端使标签的相互距离尽量远。仿真看来效果与集中数据后使用Softmax训练相差无几。
模型设置
这篇文章是收到了contrastive loss的启发
\(\ell_{\mathrm{cl}}(f(\boldsymbol{x}), y)=\underbrace{\alpha \cdot\left(\boldsymbol{d}\left(g_{\boldsymbol{\theta}}(\boldsymbol{x}), \boldsymbol{w}_{y}\right)\right)^{2}}_{\ell_{\mathrm{cl}}^{\mathrm{pos}}(f(\boldsymbol{x}), y)}+\underbrace{\beta \cdot \sum_{c \neq y}\left(\max \left\{0, \nu-\boldsymbol{d}\left(g_{\boldsymbol{\theta}}(\boldsymbol{x}), \boldsymbol{w}_{c}\right)\right\}\right)^{2}}_{\ell_{\mathrm{cl}}^{\mathrm{neg}}(f(\boldsymbol{x}), y)},\)
也就是将loss分为两个部分,分别表示在嵌入空间中,与标签的距离尽量近,与非标签的距离尽量远。由于联邦学习中接触不到非标签的位置,所以改在服务器端用标签间的距离代替这一操作。
其中两个损失函数为\(\hat{\mathcal{R}}_{\operatorname{pos}}\left(\mathcal{S}^{i}\right) =\alpha \cdot\left(\boldsymbol{d}\left(g_{\boldsymbol{\theta}}(\boldsymbol{x}), \boldsymbol{w}_{y}\right)\right)^{2}\)和\(\operatorname{reg}_{\mathrm{sp}}(W)=\sum_{c \in[C]} \sum_{c^{\prime} \neq c}\left(\max \left\{0, \nu-\boldsymbol{d}\left(\boldsymbol{w}_{c}, \boldsymbol{w}_{c^{\prime}}\right)\right\}\right)^{2}\)
。为了节省在大量标签中的遍历开销,在计算标签距离时只考虑拉开最近的若干个标签,因此损失函数修正为\(\operatorname{reg}_{\mathrm{sp}}^{\mathrm{top}}(W)=\sum_{c \in \mathcal{C}^{t}} \sum_{y \in \mathrm{e}^{\prime} \atop y \neq c}-\boldsymbol{d}^{2}\left(\boldsymbol{w}_{c}, \boldsymbol{w}_{y}\right) \cdot [ y \in \mathcal{N}_{k}(c) ]\)。在仿真中也体现了如果没有用这个技巧,准确率甚至还会降低3%到5%。
理论保证
这篇文章的理论分析是比较有意思的,说明文章所提的训练方式Federated Averaging with Spreadout (FedAwS)与数据集中时的效果相当。证明思路参考了该团队的前作[1]。【这部分挖坑待补充】
[1] Reddi, Sashank J., Kale, Satyen, Yu, Felix X., Holtmann-Rice, Daniel Niels, Chen, Jiecao and Kumar, Sanjiv. "Stochastic Negative Mining for Learning with Large Output Spaces.." Paper presented at the meeting of the AISTATS, 2019.
仿真结果
文章用ResNets对CIFAR-10和CIFAR-100数据集、自主构建的三层MLP在有4K个标签的AmazonCat等数据集上进行了验证,在90%准确下下最多的标签数达到了13K。均远远超过直接的FedAvg算法,和集中数据的学习效果相当。
评价
新意10×有效性100×问题大小1 = 1000
- 我之前想这个问题的时候,只局限在了Softmax激活函数上,导致思考的最终输出只是一维的
- 添加正则项来修改loss是不亚于修改网络结构的创新方法
- embedding等来源于NLP中的内容现在很火
【流行前沿】联邦学习 Federated Learning with Only Positive Labels的更多相关文章
- 联邦学习 Federated Learning 相关资料整理
本文链接:https://blog.csdn.net/Sinsa110/article/details/90697728代码微众银行+杨强教授团队的联邦学习FATE框架代码:https://githu ...
- 【一周聚焦】 联邦学习 arxiv 2.16-3.10
这是一个新开的每周六定期更新栏目,将本周arxiv上新出的联邦学习等感兴趣方向的文章进行总结.与之前精读文章不同,本栏目只会简要总结其研究内容.解决方法与效果.这篇作为栏目首发,可能不止本周内容(毕竟 ...
- 【流行前沿】联邦学习 Partial Model Averaging in Federated Learning: Performance Guarantees and Benefits
Sunwoo Lee, , Anit Kumar Sahu, Chaoyang He, and Salman Avestimehr. "Partial Model Averaging in ...
- 联邦学习(Federated Learning)
联邦学习简介 联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在 2016 年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是 ...
- Federal Learning(联邦学习)认知
本人是学生党,同时也是小菜鸡一枚,撞运气有机会能够给老师当项目助理,在这个过程中肯定会学到一些有趣的知识,就在此平台上记录一下,在知识点方面有不对的还请各位指正. What(什么是联邦学习?) 联邦学 ...
- 【论文考古】联邦学习开山之作 Communication-Efficient Learning of Deep Networks from Decentralized Data
B. McMahan, E. Moore, D. Ramage, S. Hampson, and B. A. y Arcas, "Communication-Efficient Learni ...
- Federated Learning: Challenges, Methods, and Future Directions
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1908.07873v1 [cs.LG] 21 Aug 2019 Abstract 联邦学习包括通过远程设备或孤立的数据中心( ...
- Reliable Federated Learning for Mobile Networks
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. arXiv: 1910.06837v1 [cs.CR] 14 Oct 2019 Abst ...
- 【论文笔记】A Survey on Federated Learning: The Journey From Centralized to Distributed On-Site Learning and Beyond(综述)
A Survey on Federated Learning: The Journey From Centralized to Distributed On-Site Learning and Bey ...
随机推荐
- Echart可视化学习(六)
文档的源代码地址,需要的下载就可以了(访问密码:7567) https://url56.ctfile.com/f/34653256-527823386-04154f 柱状图定制 官网找到类似实例, 适 ...
- 函数实现将 DataFrame 数据直接划分为测试集训练集
虽然 Scikit-Learn 有可以划分数据集的函数 train_test_split ,但在有些特殊情况我们只希望它将 DataFrame 数据直接划分为 train, test 而不是像 tr ...
- 【算法】Manacher算法
最长回文串问题 manacher算法是用来求解最长回文串的问题.最长回文串的解法一般有暴力法.动态规划.中心扩展法和manacher算法. 暴力法的时间复杂度为\(O(n^3)\),一般都会超时: 动 ...
- How to mount Windows network disk in WSL
Backgroud Mount samba directly in wsl like linux is difficult Password for root@//filesystem.domain/ ...
- 从数组中找出第K大的数
利用改进的快排方法 public class QuickFindMaxKValue { public static void main(String[] args) { int[] a = {8, 3 ...
- C++模板之成员模板和模板构造函数
namespace myspace6 { template<typename T1> class TC { public: template<typename T2> TC(T ...
- 使用 Dapr 缩短软件开发周期
Microsoft DevOps 文档里的文章(https://docs.microsoft.com/zh-cn/azure/devops/report/dashboards/cycle-time-a ...
- linux关闭透明大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transpare ...
- HTTP状态码1XX深入理解
前段时间看了<御赐小仵作>,里面有很多细节很有心.看了一些评论都是:终于在剧里能够看到真正在搞事业.发了工资第一时间还钱的正常人了.我印象比较深的是王府才能吃上的葡萄.觉得非常合理.剧里说 ...
- Kubernetes之日志和监控(十五)
一.日志和监控 1.1.Log 1.1.1.容器级别 通过docker命令查看容器级别的日志 docker ps --->containerid docker logs containerid ...