核心问题:如果每个用户只有一类数据,如何进行联邦学习?

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

  1. 我之前想这个问题的时候,只局限在了Softmax激活函数上,导致思考的最终输出只是一维的
  2. 添加正则项来修改loss是不亚于修改网络结构的创新方法
  3. embedding等来源于NLP中的内容现在很火

【流行前沿】联邦学习 Federated Learning with Only Positive Labels的更多相关文章

  1. 联邦学习 Federated Learning 相关资料整理

    本文链接:https://blog.csdn.net/Sinsa110/article/details/90697728代码微众银行+杨强教授团队的联邦学习FATE框架代码:https://githu ...

  2. 【一周聚焦】 联邦学习 arxiv 2.16-3.10

    这是一个新开的每周六定期更新栏目,将本周arxiv上新出的联邦学习等感兴趣方向的文章进行总结.与之前精读文章不同,本栏目只会简要总结其研究内容.解决方法与效果.这篇作为栏目首发,可能不止本周内容(毕竟 ...

  3. 【流行前沿】联邦学习 Partial Model Averaging in Federated Learning: Performance Guarantees and Benefits

    Sunwoo Lee, , Anit Kumar Sahu, Chaoyang He, and Salman Avestimehr. "Partial Model Averaging in ...

  4. 联邦学习(Federated Learning)

    联邦学习简介        联邦学习(Federated Learning)是一种新兴的人工智能基础技术,在 2016 年由谷歌最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是 ...

  5. Federal Learning(联邦学习)认知

    本人是学生党,同时也是小菜鸡一枚,撞运气有机会能够给老师当项目助理,在这个过程中肯定会学到一些有趣的知识,就在此平台上记录一下,在知识点方面有不对的还请各位指正. What(什么是联邦学习?) 联邦学 ...

  6. 【论文考古】联邦学习开山之作 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 ...

  7. Federated Learning: Challenges, Methods, and Future Directions

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1908.07873v1 [cs.LG] 21 Aug 2019 Abstract 联邦学习包括通过远程设备或孤立的数据中心( ...

  8. Reliable Federated Learning for Mobile Networks

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. arXiv: 1910.06837v1 [cs.CR] 14 Oct 2019 Abst ...

  9. 【论文笔记】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 ...

随机推荐

  1. Mybatis-Plus的引用

    一.依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-b ...

  2. 网络协议学习笔记(八)DNS协议和HttpDNS协议

    概述 上一篇主要讲解了流媒体协议和p2p协议,现在我给大家讲解一下关于DNS和HttpDNS的相关知识. DNS协议:网络世界的地址簿 在网络世界,也是这样的.你肯定记得住网站的名称,但是很难记住网站 ...

  3. 【记录一个问题】linux+opencv+cuvid解码1080P视频,当使用CUDA核函数的时候,必然崩溃

    崩溃的信息如下: 1 OpenCV(4.1.0-dev) Error: Gpu API call (invalid configuration argument) in videoDecPostPro ...

  4. gorm中的基本查询

    检索单个对象 GORM 提供了 First.Take.Last 方法,以便从数据库中检索单个对象.当查询数据库时它添加了 LIMIT 1 条件 // 获取第一条记录(主键升序) db.First(&a ...

  5. 多线程-创建线程第二种方式-实现Runnable接口-细节和好处

    1 package multithread2; 2 3 /* 4 * 创建线程的第一种方法:继承Thread类 5 * 6 * 创建线程的第二种方式:实现Runnable接口 7 * 8 * 1,定义 ...

  6. GitHub镜像

    GitHub 官网镜像(可以用来clone push等,但是不能登录) https://github.com.cnpmjs.org https://git.sdut.me https://hub.fa ...

  7. Git安装详解

    官网地址: https://git-scm.com/ 查看 GNU 协议,可以直接点击下一步. 选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步. Git 选项配置,推荐默认设置,然 ...

  8. linux正则转换csv文件

  9. Linux 系统conda环境,pip文件的导出和安装。

    /** * 注意:1.在当前的Linux系统中,先生成yaml和requirement.txt文件.通过ssh命令连接到另一台Linux实例.需要先在新的Linux实例上安装 conda.然后再将 y ...

  10. eureka 集群的实现方式?

    注意,本文还是对上一篇博客的延续,需要的配置,在前面的博客里面可以找到. eureka集群版 (正宗的eureka!) 2.1.配置eureka的集群之前首先先配置HOSTNAME和IP的映射 具体的 ...