AutoML论文笔记(二) FedNAS:基于神经网络搜索的联邦学习

文章题目:FedNAS: Federated Deep Learning via Neural Architecture Search
链接:link https://chaoyanghe.com/publications/FedNAS-CVPR2020-NAS.pdf
会议期刊:CVPR 2020 workshop

论文阅读笔记,帮助记忆的同时,方便和大家讨论。因能力有限,可能有些地方理解的不到位,如有谬误,请及时指正。

小知识

联邦学习是当前人工智能领域非常火热的研究方向,倍受产业界和学术界的广泛关注。
 AI往往和大数据强相关。但是最新欧盟的GDPR和国内的数据监管出台的相关政策,都使AI面临着隐私保护的问题。因此,如何将物联网中的小数据整合为大数据,是联邦学习解决的重点。联邦学习主要实现数据孤岛的连接和融合,各移动端训练参数,加密上传,服务器汇总更新共享的虚拟模型并做平均。除了隐私保护之外,联邦学习还具备数据保护和建模性能效果好的优点。根据特征是否相同和样本是否重叠,联邦学习分为纵向和横向两种方式。目前开源的有FATE和Tensorflow_Federated。

论文内容

论文踩点了最新的新型冠状病毒,以医院CT数据为例,不同的医院之间RAW数据不通。但是目前传统的机器学习都是基于独立同分布(IID)的前提下推导建立,因此异质性的Non-IID数据给建模、分析和评估带来了很大的挑战。针对Non-IID数据,联邦学习可以施展拳脚,但是传统的联邦学习都是固定一个经典网络,这在复杂的环境中表现欠佳。因此作者提出了将NAS引入到联邦学习中,类似于PS-worker的同步机制,在不同端侧跑训练,然后梯度和网络结构同步到云端。
 在这里插入图片描述
 之前联邦学习中,是在每个端侧计算Loss,公式如下:
在这里插入图片描述
 由于端侧训练时,网络结构在变动,因此Loss更改为:
 在这里插入图片描述
 不同节点之间,通过Softmax归一化,这样便于采样和求梯度。每个节点上跑的是基于梯度的MiLeNAS算法。训练分为四部曲:每个worker单独优化权重w和网络结构参数α;所有节点将w和α发送到服务器;服务器更新参数;将参数下发到每个节点,像极了同步的ps-worker。
 作者用2080Ti模拟了16个节点1个服务器的架构,数据采用Cifar10,按照Dirichlet分布,将数据打乱。不同类型,有个节点有大部分数据,有的节点甚至没有数据。下表是10个类别每个节点的数据量,可以看出这是Non-IID分布的。在这里插入图片描述
 通过NAS,作者将FedNAS和经典的FedAvg对比,在搜索的过程中,FedNAS就能达到81.24%的精度,优于FedAvg的77.78%。最终的测试精度,FedNAS比FedAvg高4个百分点。同时在其他Non-IID数据中,FedNAS也完胜。在这里插入图片描述

一些疑问和未来有意思的方向

1、本文首次将NAS引入联邦学习中,但是是否真的有提升,还有待商榷。
2、从这篇论文看,需要端侧有强大算力的GPU。但是常规的联邦学习,端侧往往是多元化,并且算力不够。虽然MiLeNAS能加速训练,但是在资源受限的情况下如何工作,将是需要解决的问题。
3、更新网络和参数的时候,需要同步,当出现部分设备断电或者恶意攻击等这些异步的情况时,该系统能否工作。
4、虽然是NAS,但是所有的节点其实是共享一套结构的。既然是Non-IID数据,能否做一些定制化的工作,不同的节点,不同的网络结构,这将是很有趣的一个方向。

发布了2 篇原创文章 · 获赞 1 · 访问量 117

猜你喜欢

转载自blog.csdn.net/luzheai6913/article/details/105668315