【流行前沿】联邦学习 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}{\operatorname}\left(\mathcal^\right) =\alpha \cdot\left(\boldsymbol\left(g{\boldsymbol{\theta}}(\boldsymbol), \boldsymbol\right)\right)^{2}和\operatorname{\mathrm}(W)=\sum_{c \in[C]} \sum_{c^{\prime} \neq c}\left(\max \left{0, \nu-\boldsymbol\left(\boldsymbol, \boldsymbol{c^{\prime}}\right)\right}\right){2}$ 。为了节省在大量标签中的遍历开销,在计算标签距离时只考虑拉开最近的若干个标签,因此损失函数修正为$\operatorname_{\mathrm}{\mathrm}(W)=\sum_{c \in \mathcal} \sum_{y \in \mathrm{\prime} \atop y \neq c}-\boldsymbol^{2}\left(\boldsymbol, \boldsymbol\right) \cdot [ y \in \mathcal_(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中的内容现在很火
- 【流行前沿】联邦学习 Partial Model Averaging in Federated Learning: Performance Guarantees and Benefits
- AutoML论文笔记(二) FedNAS Federated Deep Learning via Neural Architecture Search:基于神经网络搜索的联邦学习
- 【强化学习】Deep Reinforcement Learning with Double Q-learning(2015)
- 《machine learning with spark》学习笔记--推荐模型
- Machine Learning with Scikit-Learn and Tensorflow 7 集成学习和随机森林(章节目录)
- CVPR 2018之迁移学习解读(二): Partial Transfer Learning with Selective Adversarial Networks
- 【deep learning学习笔记】Recommending music on Spotify with deep learning
- Recommending music on Spotify with deep learning 采用深度学习算法为Spotify做基于内容的音乐推荐
- 【论文学习】神经光流网络——用卷积网络实现光流预测(FlowNet: Learning Optical Flow with Convolutional Networks)
- 结构化稀疏----Learning with Structured Sparsity(学习与结构化稀疏)
- NLP入门-文本翻译系列教程-Sequence to Sequence Learning with Neural Networks学习笔记
- Multi-label learning with missing labels using mixed dependency graphs
- Machine Learning With Spark学习笔记
- 【图书简评】《Deep Learning with Keras》很好的进阶,工具书,推荐有深度学习理论基础想要学习keras的人阅读。
- ValueError: Only call `sparse_softmax_cross_entropy_with_logits` with named arguments (labels=..., l
- 【论文学习笔记】Face Recognition with Learning-based Descriptor
- building machine learning system with Python 学习笔记--从零开始机器学习(2)第一章
- {2016}_{ICML}_{深度学习}_{oral}_{Learning to Generate with Memory}_{ChongxuanLi}
- 学习记录__Deep Learning with Differential Privacy
- 生成对抗网络学习笔记3----论文unsupervised representation learning with deep convolutional generative adversarial