首次发现!数据异构影响联邦学习模型,关键在于表征维度坍缩 | ICLR 2023
隐私计算研习社
本文来源:量子位 公众号ID:QbitAI
随着深度学习大获成功,保护用户数据隐私变得越来越重要。
联邦学习(Federated Learning)应运而生,这是一种基于隐私保护的分布式机器学习框架。
它可以让原始数据保留在本地,让多方联合共享模型训练。
但它有一个问题——数据的异质化(data heterogeneity),即不同的参与方的本地数据来自不同的分布,这将严重影响全局模型的最终性能,背后原因也十分复杂。
字节跳动、新加坡国立大学及中科院自动化所的学者们首次发现了关键影响因素。
即:数据异质化导致了表征的维度坍缩(dimensional collapse),由此大大限制了模型的表达能力,影响了最终全局模型的性能。
为了缓解这一问题,研究人员提出了一个新联邦学习正则项:FedDecorr。
结果表明,使用该方法后,数据异质化带来的维度坍缩问题被有效缓解,显著提升模型在该场景下的性能。
同时这一方法实现简单,几乎不会带来额外计算负担,可以很容易地加入到多种联邦学习算法上。
1
如何影响?
观察一:更严重的数据异质化会为全局模型(global model)带来更严重的维度坍缩
首先,为了更好地理解数据异质化是如何影响全局模型输出表征的,研究人员探索了随着数据异质化越来越严重,全局模型输出表征是如何而变化的。
基于模型输出的表征,估计其表征分布的协方差矩阵(covariance matrix),并且按照从大到小的顺序可视化了该协方差矩阵的特征值。结果如下图所示。α越小,异质化程度越高,α为正无穷时为同质化场景。k为特征值的index。
对于该曲线,如果特征值大部分相对较大,即意味着表征能够更加均匀地分布在不同的特征方向上。而如果该曲线只有前面少数特征值较大,而后面大部分特征值都很小,就意味着表征分布被压缩在少数特征方向上,即维度坍缩现象。
因此,从图中可以看到,随着数据异质化程度越来越高(α越来越小),维度坍缩的现象就越来越严重。
观察二:全局模型的维度坍缩来自联邦参与各方的局部模型的维度坍缩
由于全局模型是联邦参与各方的局部模型融合的结果,因此作者推断:全局模型的维度坍缩来源于联邦参与各方的局部模型的维度坍缩。
为了进一步验证该推断,作者使用与观察1类似的方法,针对不同程度数据异质化场景下得到的局部模型进行了可视化。结果如下图所示。
从图中可以看到,对于局部模型,随着数据异质化程度的提升,维度坍缩的现象也越来越严重。因此得出结论,全局模型的维度坍缩来源于联邦参与各方的局部模型的维度坍缩。
2
如何解决?
受到以上两个观察的启发,由于全局模型的维度坍缩来源于本地局部模型的维度坍缩,研究人员提出在本地训练阶段来解决联邦学习中的表征维度坍缩问题。
首先,一个最直观的可用的正则项为以下形式:
其中
为第
个特征值。该正则项将约束特征值之间的方差变小,从而使得较小的特征值不会偏向于0,由此缓解维度坍缩。
然而,直接计算特征值往往会带来数值不稳定,计算时间较长等问题。因此借助以下proposition来改进方法。
为了方便处理,需要对表征向量做z-score归一化。这将使得协方差矩阵变成相关系数矩阵(对角线元素都是1)。
基于这个背景,可以得到以下proposition:
这一proposition意味着,原本较为复杂的基于特征值的正则化项,可以被转化为以下易于实现且计算方便的目标:
该正则项即是简单的约束表征的相关系数矩阵的Frobenius norm更小。研究人员将该方法命名为FedDecorr。
因此,对于每个联邦学习参与方,本地的优化目标为:
其中
为分类的交叉熵损失函数,β为一个超参数,即FedDecorr正则项的系数。
3
实验结果
首先,验证使用FedDecorr是否可以有效缓解维度坍缩。
在α=0.01/0.05这两个强数据异质化的场景下,观察使用FedDecorr对模型输出表征的影响。
结果如下图所示。
可以看到,使用FedDecorr可以有效地缓解本地局部模型的维度坍缩,从而进一步缓解全局模型的维度坍缩。
在CIFAR10/100两个数据集上验证方法。研究团队发现FedDecorr可以很方便的加入到之前提出的多个联邦学习方法,并且带来显著提升:
同时,为了展示方法的可扩展性,作者在较大规模数据集(TinyImageNet)上进行了实验,并且也观察到了显著提升:
此外还基于TinyImageNet,验证了FedDecorr在更大规模联邦参与方的场景下的有效性。
结果如下表。通过实验结果展示了FedDecorr可以被用于较大规模联邦参与方的场景。
FedDecorr对正则项系数(超参数β)的鲁棒性结果如下图所示。
通过实验,发现FedDecorr对于其超参数β有较强的鲁棒性。
同时发现将β设为0.1是一个不错的默认值。
最后,研究人员验证了在联邦学习时,使用不同的local epoch下FedDecorr也可以带来普遍的提升:
论文地址:
https://arxiv.org/abs/2210.00226
代码链接:
https://github.com/bytedance/FedDecorr
eepfake Text Detection: Limitations and Opportunities Private, Efficient, and Accurate: Protecting Models Trained by Multi-party Learning with Differential Privacy
END
隐私计算研习社
开放隐私计算社区
98篇原创内容
公众号
往期推荐
国际安全领域顶会NDSS 2023录稿整理 (上)
国际安全领域顶会NDSS 2023录稿整理 (下)
Diffusion扩散模型大白话讲解,看完还不懂?不可能!
ChatPDF来了,你还在为读不懂论文发愁么?
欢迎投稿
邮箱:pet@openmpc.com
参与更多讨论,请添加小编微信加入交流群
收录于合集 #联邦学习 55个
上一篇案例分享 | 联邦学习在洗钱风险管理中的应用展望
阅读 193
分享收藏31
分享此内容的人还喜欢
域外观察|美智库研究认为两类网络安全问题值得关注
CAICT互联网法律研究中心阅读 506不喜欢
不看的原因确定
内容质量低
不看此公众号
2023年数据人需要掌握哪些技能?
一个数据人的自留地阅读 125不喜欢
不看的原因确定
内容质量低
不看此公众号
NebulaGraph 图数据库完成鲲鹏、飞腾、海光等多款国产 CPU 信创兼容性认证
NebulaGraph阅读 587不喜欢
不看的原因确定
内容质量低
不看此公众号
写下你的留言
首次发现!数据异构影响联邦学习模型,关键在于表征维度坍缩 | ICLR 2023相关推荐
- 非独立同分布数据孤岛的联邦学习:一项实验研究
关注公众号,发现CV技术之美 本篇分享论文『Federated Learning on Non-IID Data Silos: An Experimental Study』,非独立同分布数据孤岛的联邦 ...
- 杨强教授演讲视频:数据要素与联邦学习(附文字摘要)
关注"亨利笔记"公众号,后台回复: 数据要素,可获取杨强教授演讲PPT.回复 kubefate,可以加入联邦学习开源项目 KubeFATE 交流群. 9月25日,VMware 联合 ...
- 用KFServing加速联邦学习模型的部署
题图摄于北海公园 12月初召开的 CNCF KubeCon 中国线上虚拟会议上,我们 VMware 云原生实验室的工程师王方驰和社区合作伙伴做了一个演讲分享:用KFServing加速联邦学习模型的部署 ...
- 基于岭回归的数据增强与深度学习模型
作者:禅与计算机程序设计艺术 <基于岭回归的数据增强与深度学习模型>技术博客文章 <基于岭回归的数据增强与深度学习模型> 引言 随着深度学习技术的快速发展,模型压缩.数据增强成 ...
- 数据聚合和联邦学习,常见的聚合有三类
目录 数据聚合和联邦学习 数据仓库方法 常见的聚合有三类:
- 【AI不惑境】网络的宽度如何影响深度学习模型的性能?
大家好,这是专栏<AI不惑境>的第三篇文章,讲述模型宽度与模型性能的关系. 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考.如果说学习是一个从模仿,到追随,到创造的过程 ...
- 网络的宽度如何影响深度学习模型的性能?
大家好,这是专栏<AI不惑境>的第三篇文章,讲述模型宽度与模型性能的关系. 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考.如果说学习是一个从模仿,到追随,到创造的过程 ...
- 利用多时间无人机数据和时空深度学习模型的作物产量预测
文章目录 Abstract 1 Introduction 1.1 Related Work 1.2 Contribution 2 Materials and Methods 2.1 Data Acqu ...
- [联邦学习TFF]构建自己的联邦学习模型
TFF 全称 tensorflow_federated,为谷歌的联邦学习框架. 在TFF官网的Building Your Own Federated Learning Algorithm 界面中,介绍 ...
最新文章
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-基于接口驱动的数据层...
- Web开发人员常备连接总结
- nginx限制上传大小和超时时间设置说明/php限制上传大小
- FreeRTOS基础以及UIP之协程--C语言剑走偏锋
- Hyper-V复制配置前评估
- python 温度 符号_python中温度单位转换的实例方法
- 微信支付必须是服务器,微信付款码不需要联网的原理是什么?怎么生成?
- 简单明了,彻底地理解Binder
- 论文阅读笔记《Improving Unsupervised Defect Segmentation by Applying Structural Similarity To Autoencoders》
- 【Prometheus】prometheus告警配置
- 基于华为云ECS的目标检测与识别的昇腾AI开发体验【华为云至简致远】
- 【JQuery】两种失焦事件的使用
- 485型传感器之数据回传进行CRC校验
- 前后端齐全的扫码点餐小程序(后端Java)
- 各种靠谱教程总结(后续更新)
- 5g基站服务器需要芯片吗,华为发布全球首款5G基站核心芯片
- Java web学习日志第一天
- Jimage - 以图搜图
- 顺丰科技2019秋招产品经理(GIS)笔试题选择题部分
- [转]2004手机游戏年终点评
热门文章
- fresco 图片加载
- 404 NOT FOUND!---设置404的作用
- [Err] 1292 - Incorrect datetime value: 0000-00-00 00:00:00 for column xxx at row 1
- Rust学习笔记(9)——Option的几个方法及所有权问题
- 严重性代码说明项目文件行禁止显示状态错误项目 Common 的 NuGet 包还原失败: 找不到“X.X.X”版本的程序包“XXXXXX”。
- 【jQuery】【购物车页面】实现近乎完美的联动交互(附GIF)
- java 打包找不到符号_IDEA 程序包不存在,找不到符号但是明明存在对应的jar包(问题分析及解决方案)...
- Android屏蔽系统的蓝牙功能
- 云原生nacos之服务发现SDK
- 苹果向美区用户推出账号充值优惠活动 充值返现10%