【流行前沿】联邦学习 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 ...
随机推荐
- NIO【同步非阻塞io模型】关于 文件io 的总结
1.前言 这一篇随笔是写 NIO 关于文件输入输出的总结 /* 总结: 1.io操作包括 socket io ,file io ; 2.在nio模型,file io使用fileChannel 管道 , ...
- vue将HTML字符串解析为HTML标签
如果返回的数据是html标签字符串的话,在vue里要通过v-html来渲染 <div v-html="rawHtml"></div> //v-html=&q ...
- MATLAB的基识(整理)
%正弦函数在MATLAB中如何实现%1.sin(45°)注意:参数值需要用"弧度"去定义>>x=sin(45*pi/180);%2.MATLAB中注意:开方-sqrt( ...
- Teamcenter无法创建多余账号怎么办?
西门子的产品Teamcenter,用户账号的许可是命名的许可类型,数量是限定的:例如,账号许可购买了25个,那么活动账号已经达到25了,再创建第26个账号将无法创建.没办法创建多余的账号,怎么办? 当 ...
- JQuery选择器的使用和分类
jQuery选择器 id选择器格式 $("#box") //获取标签里的id是box的标签 类选择器格式 $(".a") //获取标签里的类名是a的标签 标签选 ...
- 经典面试题:分布式缓存热点KEY问题如何解决--有赞方案
有赞透明多级缓存解决方案(TMC) 一.引子 1-1. TMC 是什么 TMC ,即"透明多级缓存( Transparent Multilevel Cache )",是有赞 Paa ...
- gin框架中集成casbin-权限管理
概念 权限管理几乎是每个系统或者服务都会直接或者间接涉及的部分. 权限管理保障了资源(大部分时候就是数据)的安全, 权限管理一般都是和业务强关联, 每当有新的业务或者业务变化时, 不能将精力完全放在业 ...
- 流言粉碎机:JAVA使用 try catch 会严重影响性能
目录 一.JVM 异常处理逻辑 二.关于JVM的编译优化 1. 分层编译 2. 即时编译器 1. 解释模式 2. 编译模式 3. 提前编译器:jaotc 三.关于测试的约束 执行用时统计 编译器优化的 ...
- linux apache软件安装
安装提示 Linux下,源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install). 过程中用到"configure --prefix=安装 ...
- JVM内存模型(五)
一.JVM内存模型 1.1.与运行时数据区 前面讲过了运行时数据区那接下来我们聊下内存模型,JVM的内存模型指的是方法区和堆:在很多情况下网上讲解会把内存模型和运行时数据区认为是一个东西,这是 ...