【流行前沿】联邦学习 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 ...
随机推荐
- spring cloud --- Ribbon 客户端负载均衡 + RestTemplate + Hystrix 熔断器 [服务保护] ---心得
spring boot 1.5.9.RELEASE spring cloud Dalston.SR1 1.前言 当超大并发量并发访问一个服务接口时,服务器会崩溃 ,不仅导致这个接口无法 ...
- Windows 10 如何在当前位置打开 CMD 命令窗口?
方法一 Win + R 键召唤出运行窗口,然后输入 "CMD" 打开命令提示符. 使用 cd 命令更改当前命令提示符的工作环境. 注释 cd/ - 退到当前所在盘符 cd.. - ...
- VUE3 之 表单元素
1. 概述 老话说的好:行动起来,原地观望是没有用的. 言归正传,今天我们来聊聊 VUE3 的 表单元素. 2. 表单元素 2.1 文本框与数据绑定 <body> <div id=& ...
- MicroPython 8266 配置
MicroPython 8266 配置 刷固件 下载固件 MicroPython - Python for microcontrollers 从以上网址下载固件,本文下载的是esp8266-20210 ...
- 【解决了一个小问题】如何展示VictoriaMetrics组件上报的bucket数据
VM体系还真的是不一(he)样(qun), 它上报的监控数据长这样: vmagent_remotewrite_block_size_rows_bucket{vmrange="2.448e+0 ...
- 【记录一个问题】macos下lldb调试opencv的一个程序,出现“failed to load objfile for”错误,并且无法调试进入opencv的函数
opencv编译使用了Debug版本,打开了BUILD_WITH_DEBUG_INFO=ON选项. 发现问题后,我又在CMAKE_CXX_FLAGS_DEBUG中设置为 -g -ggdb3,在CMAK ...
- 使用Express连接mysql详细教程(附项目的完整代码我放在结尾了)
使用Express连接mysql详细教程(附项目的完整代码我放在结尾了) 要使用Express连接本地数据库 我们首先需要安装好Express的依赖 我们使用这个框架呢首先要有一点ajax的基础 如果 ...
- 🏆【Alibaba中间件技术系列】「Nacos技术专题」配置中心加载原理和配置实时更新原理分析(上)
官方资源 https://nacos.io/zh-cn/docs/quick-start.html Nacos之配置中心 动态配置管理是 Nacos的三大功能之一,通过动态配置服务,可以在所有环境中以 ...
- CVE-2021-26119 PHP Smarty 模版沙箱逃逸远程代码执行漏洞
0x00 漏洞介绍 smarty是一个基于PHP开发的PHP模板引擎.它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设 ...
- 淘系工程师讲解的使用Spring特性优雅书写业务代码
使用Spring特性优雅书写业务代码 大家在日常业务开发工作中相信多多少少遇到过下面这样的几个场景: 当某一个特定事件或动作发生以后,需要执行很多联动动作,如果串行去执行的话太耗时,如果引入消息中 ...