首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >联邦学习在视觉领域的应用,揭秘2020年AAAI人工智能创新应用奖获奖案例!

联邦学习在视觉领域的应用,揭秘2020年AAAI人工智能创新应用奖获奖案例!

作者头像
CV君
发布于 2021-06-08 14:14:52
发布于 2021-06-08 14:14:52
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

联邦学习是如何应用在视觉领域的?

本文会通过一个获得了2020年AAAI人工智能创新应用奖(也是第一个基于联邦学习的人工智能工业级奖项)的案例来向大家介绍!

本案例是联邦学习在视觉、物联网、安防领域的实际应用,对分散在各地的摄像头数据,通过联邦学习,构建一个联邦分布式的训练网络,使摄像头数据不需要上传,就可以协同训练目标检测模型,这样一方面确保用户的隐私数据不会泄露,另一方面充分利用各参与方的训练数据,提升机器视觉模型的识别效果。

以下内容节选自《联邦学习实战(全彩)》一书!


--正文--

在2012 年的ImageNet LSVRC 比赛中,AlexNet 凭借15.3% 的top-5 错误率夺得冠军后,以深度学习为代表的算法模型开始在视觉领域占据绝对的主导地位,并且在很多场景任务中达到、甚至超过人类的水平。

比如,2015 年,微软宣布在图像识别领域,以4.94% 的top-5 错误率超过人类的5.1% 水平;Google 最近发表在Nature Medicine上的一项新研究表明,通过AI 视觉算法能够根据患者的胸部CT 图像诊断出早期肺癌,与六位放射科医生相比,AI 的准确度更高,检测到的病例增加了5%,假阳性减少了11%,AUC(Area Under Curve,曲线下方的面积大小)达到94.4%。

除了算法上的不断提升,大数据和硬件算力的发展也促使人工智能在视觉领域出现爆发性的增长,传统的视觉算法处理流程如图1 所示。

图1 中心化训练流程图

我们以目标检测任务为例,它由下面几个主要步骤构成:

首先,将收集来的数据集都集中存放在中心数据库中,并进行集中的图片数据预处理,包括图片数据清理、标注等。 然后,利用这些预处理的数据进行中心化的模型训练。 最后,将训练的模型部署到客户。

但当前的中心化训练模式使得视觉的落地和部署面临许多困难和挑战,具体来说,主要是受下面因素的影响:

数据隐私:在安防、医疗等领域,每一个客户采集的数据都具有高度的隐私性,这些敏感数据在用户没有授权的前提下,通常是被禁止上传的,因此,每一个客户端的数据都无法有效进行共享。另外,机器学习模型的效果非常依赖数据的数量和质量,数据的割裂导致我们只能利用本地的数据进行单点建模,也就是每一个设备单独利用本地数据进行训练,这种单点训练的模型效果也将明显下降。

• 模型更新:传统的处理方式需要将数据集中上传到中心数据库,进行统一的数据处理和模型训练,然后进行模型的评估和部署。在这个过程中,各个数据源之间,由于网络性能和设备性能的差异,导致数据的同步不一致,整个流程会持续较长的时间,因此对于具有实时响应的场景,这种中心化的训练模式无法满足当前的需求。

• 数据的不均匀:这种数据的不均匀性体现在每一个数据源得到的数据,它们的数据分布、数据质量和数据大小各不相同。

01

基于联邦学习的目标检测网络

动机

上面说到了在传统的集中式目标检测训练中的几处不足,对模型提供方和数据提供方来说,安全(数据隐私)威胁是当前最为头疼和亟待解决的问题。

安全的威胁主要来自数据层面,包括:

• 数据提供方的数据源离开本地后,数据提供方就没办法跟踪这部分数据的用途了,也无法保证数据离开本地后不被其他人窃取。 • 一般来说,数据从离开数据提供方,到上传至中心数据库,会经过多个中转地,这就进一步增加了数据泄露的风险和问题排查的难度。

受此影响,当前的模型服务供应商和数据提供方,都急需一种新的模型训练方法:

一方面,保证数据不离开本地,这样能够使数据提供方确信数据的安全;另一方面,模型的训练和性能不会受到影响。

这两点都非常适合用联邦学习来解决,联邦学习的定义和提出的初衷,就是保证数据在不出本地的前提下,联合各参与方数据进行协同训练。

Fedision-联邦视觉产品

前面介绍了利用联邦学习进行目标检测模型训练的动机,一个完整的联邦视觉(目标检测)产品的流程图如图2 所示。本节将对该产品进行概括的描述。

图2 横向联邦视觉产品流程图

图中描述了基于横向联邦学习实现的目标检测模型的工作流程,我们对本案例的基本设置进行如下综述:

• 不失一般性,本案例的联邦网络中的客户参与方共有三个:分别是公司A、B、C。服务端由微众的云服务器提供。

• 为了简化问题,本案例中的三个客户参与方提供的数据分布都比较均衡。

• 每一个客户方部署联邦学习框架后,其主要工作包括:对本地数据进行预处理;发起联邦学习训练任务;参与联邦学习任务;部署联邦学习模型在本地进行预测和推断。

• 服务端由微众的云服务器提供,其主要工作包括:实时监控客户端参与方的连接情况;对上传的客户端模型进行聚合;挑选客户端参与客户端本地训练;上传全局模型。

• 经过联邦学习更新后的全局模型,有两个用途:

第一, 可以分发到当前联邦网络的客户端参与方(即图中的公司A、B、C),进行本地部署预测,使得联邦学习的参与方受益;

第二, 如果新的全局模型效果能达到SOTA 水平,在经过参与方的协商同意后,还可以将新的联邦全局模型以开源或者商业售卖的形式,提供给其他厂商进行部署。

基于联邦学习构建的目标检测视觉模型,相比于集中式的目标检测模型,有下面的优势和好处

隐私性:从隐私角度,联邦学习确保数据的产生、数据的处理都在本地进行。相比集中式训练,数据的隐私安全大为提高。 • 效率:从效率上来说,传统的集中式训练,需要等待所有数据提供方的数据上传后,才进行统一的数据处理,再进行集中式的模型训练和模型评估,最后部署新模型,这个流程的等待时间比较长。而联邦学习的训练,由于每一个客户参与方从数据收集到数据处理都独立完成,且都有发起联邦学习的权力,只要发起联邦学习请求,就能进行模型训练,因此每一个客户方部署新模型的速度都加快了许多。 • 费用:在集中式训练中,将原始数据(图像、视频)上传到服务端会消耗非常多的网络带宽资源。而联邦视觉模型上传的是模型参数,模型参数的传输量要比数据传输量小得多,从而能有效节省网络带宽,节约费用。

02

方法实现

基于联邦学习实现目标检测产品是横向联邦的一个经典应用。本节我们将给出其详细的实现过程。本案例有基于Flask-SocketIO的Python 实现,也有基于FATE 的实现。最后,我们讨论基于Flask-SocketIO 的Python 实现。读者可以自行查阅基于FATE 的实现。

Flask-SocketIO 基础

在本案例的实现中,我们将使用Python 语言和PyTorch 机器学习模型库,与书中第3章的实现不同,第3章使用普通函数调用的方式模拟服务端与客户端之间的通信,这里使用Flask-SocketIO 作为服务端和客户端之间的通信框架。此外,书中第16 章会具体介绍联邦学习中的通信机制和常用的Python 网络通信包。

通过Flask-SocketIO,我们可以轻松实现服务端与客户端的双向通信,Flask-SocketIO 库的安装非常方便,只需要在命令行中输入下面的命令即可:

服务端创建:先来初始化服务端,下面是初始化服务端的一段简短代码。

socketio.run() 是服务器的启动接口,它通过封装app.run() 标准实现。这段代码是创建socket 服务端最简短的代码,服务器启动后没有实现任何功能,为了能响应连接的客户端请求,我们在服务端中定义必要的处理函数。socketIO 的通信基于事件,不同名称的事件对应不同的处理函数,在处理函数的定义前,用on 装饰器指定接收事件的名称,这样事件就与处理函数一一对应,如下我们创建了一个“my event”事件,该事件对应的处理函数是“test_message”。

事件创建后,服务器处在监听状态,等待客户端发送“my event”的请求。由于socketIO 实现的是双向通信,除了能添加事件等待客户端响应,服务端也可以向客户端发送请求,服务端向客户端发送消息使用send 函数或是emit 函数(对于未命名的事件使用send,已经命名的事件用emit),如上面的代码中,当服务端接收到客户端的“my event”事件请求后,向客户端反向发送“my response”的请求。

客户端:客户端的应用程序设计相对服务端要灵活很多,我们可以使用JavaScript、C++、JavaSwift 中的任意socketIO 官方客户端库或与之兼容的客户端,来与上面的服务端建立连接。这里,我们使用socketIO-client 库来创建一个client。

先利用socketIO 函数构造一个客户端,构造函数需要提供连接的服务端的IP 和端口信息。然后利用on 连接事件“my response”和处理函数“test_response”,发送“my event”事件,等待服务端的事件响应。

鉴于本书的篇幅限制,我们不在此对Flask-SocketIO 做更多的讲述,读者如果想深入了解Flask-SocketIO 的实现和使用,可以参见Flask-SocketIO 的官方文档。联邦学习的过程是联邦服务端与联邦客户端之间不断进行参数通信的过程,图3 展示了联邦客户端与联邦服务端的详细通信过程。

图3 联邦客户端与联邦服务端的通信过程

代码语言:javascript
代码运行次数:0
运行
复制
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
联邦学习在视觉领域的应用,揭秘2020年AAAI人工智能创新应用奖获奖案例!
联邦学习是如何应用在视觉领域的? 本文会通过一个获得了2020年AAAI人工智能创新应用奖(也是第一个基于联邦学习的人工智能工业级奖项)的案例来向大家介绍! 本案例是联邦学习在视觉、物联网、安防领域的实际应用,对分散在各地的摄像头数据,通过联邦学习,构建一个联邦分布式的训练网络,使摄像头数据不需要上传,就可以协同训练目标检测模型,这样一方面确保用户的隐私数据不会泄露,另一方面充分利用各参与方的训练数据,提升机器视觉模型的识别效果。 以下内容节选自《联邦学习实战(全彩)》一书! ---- --正文-- 在
博文视点Broadview
2023/05/19
8380
联邦学习在视觉领域的应用,揭秘2020年AAAI人工智能创新应用奖获奖案例!
联邦学习:深度学习之后,AI 安防的第二落脚点
以AI落地最多、最快的安防行业为例,过去几年,行业各类神捕、鹰眼等产品让人眼花缭乱。
小白学视觉
2019/11/29
7710
小白也能通俗易懂的联邦学习!
知乎 | https://www.zhihu.com/people/xu-xiu-jian-33
Datawhale
2021/12/09
3.3K0
小白也能通俗易懂的联邦学习!
笔记︱联邦学习与隐私计算的案例集锦(一)
Federated Learning - 联邦学习 参考文献: 小白也能通俗易懂的联邦学习! 关于联邦学习建模过程中算法交互内容的研究
悟乙己
2022/06/06
4.4K1
笔记︱联邦学习与隐私计算的案例集锦(一)
当传统联邦学习面临异构性挑战,不妨尝试这些个性化联邦学习算法
经典的机器学习方法基于样本数据(库)训练得到适用于不同任务和场景的机器学习模型。这些样本数据(库)一般通过从不同用户、终端、系统中收集并集中存储而得到。在实际应用场景中,这种收集样本数据的方式面临很多问题。一方面,这种方法损害了数据的隐私性和安全性。在一些应用场景中,例如金融行业、政府行业等,受限于数据隐私和安全的要求,根本无法实现对数据的集中存储;另一方面,这种方法会增加通信开销。在物联网等一些大量依赖于移动终端的应用中,这种数据汇聚的通信开销成本是非常巨大的。
机器之心
2020/09/24
2.3K0
当传统联邦学习面临异构性挑战,不妨尝试这些个性化联邦学习算法
AAAI2023 | 针对联邦推荐场景的非定向攻击与防御
TLDR:今天跟大家分享一篇通过利用聚类算法来操纵物品嵌入特征以此针对联邦推荐场景进行非定向攻击的工作,随后作者针对这一攻击又提出了一种基于一致性的对应防御机制,该论文已被AAAI2023接收。接下来让我们具体看看所提算法是如何工作的吧。
张小磊
2023/01/10
1K0
AAAI2023 | 针对联邦推荐场景的非定向攻击与防御
联邦学习 OR 迁移学习?No,我们需要联邦迁移学习
海量训练数据是现代机器学习算法、人工智能技术在各个领域中应用获得成功的重要条件。例如,计算机视觉和电子商务推荐系统中的 AI 算法都依赖于大规模的标记良好的数据集才能获得较好的处理效果,如 ImageNet 等。然而在一些应用领域中,例如医学领域、经济学领域以及一些政务信息化领域中,海量的可用训练数据往往是非常有限的。存在这些问题的主要原因:一是,针对机器学习算法的数据标注任务需要专业的知识和经验才能完成,这种预处理任务的成本非常高,往往无法获得机器学习所需要的足够的标注数据。二是,各个行业对数据隐私和数据安全的保护越来越强,在一定程度上也限制了对训练数据的共享,也就进一步加剧了可用的标注数据缺乏的问题。
机器之心
2020/11/20
1.2K0
联邦学习 OR 迁移学习?No,我们需要联邦迁移学习
模型被投毒攻击,如今有了新的安全手段,还被AI顶刊接收
现今,机器学习(ML),更具体地说,深度学习已经改变了从金融到医疗等广泛的行业。在当前的 ML 范式中,训练数据首先被收集和策划,然后通过最小化训练数据上的某些损失标准来优化 ML 模型。学习环境中的一个共同基本假设是训练数据可以立即访问或轻松地跨计算节点分发,即数据是「集中式」的。
机器之心
2024/04/19
2400
模型被投毒攻击,如今有了新的安全手段,还被AI顶刊接收
基于flask的网页聊天室(四)
上次使用了flask_login做用户登录,但是直接访问login_requare装饰的函数会报401错误,这里可以自定义login_requare拦截后的操作:
py3study
2020/01/16
1.8K0
今日开源:阿里达摩院最新框架FederatedScope来了!(源代码下载)
关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 计算机视觉研究院专栏 作者:Edison_G 刚刚,阿里巴巴达摩院发布新型联邦学习框架 FederatedScope,该框架支持大规模、高效率的联邦学习异步训练,能兼容不同设备运行环境,且提供丰富功能模块,大幅降低了隐私保护计算技术开发与部署难度。该框架现已面向全球开发者开源。 机器之心发布 隐私保护是数字经济的安全底座,如何在保障用户数据隐私的同时提供高质量连通服务,成为数字
计算机视觉研究院
2022/05/10
7390
今日开源:阿里达摩院最新框架FederatedScope来了!(源代码下载)
优Tech分享|基于数据安全保护的人脸识别方法
以前人脸识别在很多人的印象中,仅存在于虚拟的科幻电影中。但如今随着技术的快速发展,人脸识别技术已走进每家每户,平时进小区、过安检、用一下手机……都免不了需要“刷”脸。人脸识别技术给我们的生活制造了许多便利,但与此同时,也给我们带来了诸多安全挑战。
优图实验室
2021/11/23
9120
优Tech分享|基于数据安全保护的人脸识别方法
一文梳理联邦学习推荐系统研究进展
推荐系统,对于我们来说并不陌生,它已经无时无刻不方便着我们的生活、学习、工作等方方面面,并且已经成为许多社交/购物/新闻平台中必不可少的组件。近些年来学术界以及工业界的研究者们已经对其进行了大量研究并提出了许多经典有效的推荐模型,比如UserCF、ItemCF、MF、FM、BPR、Item2vec、NCF、DIN等等,更多推荐模型介绍可参考[一文尽览推荐系统模型演变史]。
张小磊
2021/09/23
1.4K0
联邦学习技术应运而生!
联邦学习作为一种强调数据安全和隐私保护的分布式机器学习技术,在人工智能广泛发挥作用的背景下,受到广泛关注。
Datawhale
2021/06/01
1.3K0
联邦学习技术应运而生!
FedPylot,联邦学习框架下的YOLOv7实时目标检测与隐私保护研究!
智能交通系统(ITS)有望通过提高安全性、优化交通流量、减少车辆排放和燃油消耗以及提供信息娱乐服务来 Reshape 流动性。这种转变得益于机器学习(ML)和车辆与一切(V2X)通信技术的进步,促进了车辆网络、行人和基础设施之间的无缝合作,产生了大量数据,并整合成一个统一的车辆互联网(IoV)[1]。为了实现数据共享,IoV依赖于最先进的无线网络技术,这些技术可以提供远距离、低延迟、可靠和安全的传输[2]。
集智书童公众号
2024/06/14
1.6K1
FedPylot,联邦学习框架下的YOLOv7实时目标检测与隐私保护研究!
KBS 2021 | 联邦学习综述
论文地址:https://www.sciencedirect.com/science/article/abs/pii/S0950705121000381
Cyril-KI
2022/11/08
9220
KBS 2021 | 联邦学习综述
Flask学习与实战11:WebSocket的使用与简单通信
用这个协议最方便的就是,服务器主动向客户端推送信息。客户端也可以主动向服务器发送信息。属于应用层协议,在握手阶段还是使用了HTTP的协议。
程序员洲洲
2024/06/07
1.2K0
Flask学习与实战11:WebSocket的使用与简单通信
面向联邦学习的模型测试和调优怎么整?这篇三万字长文给你答案
机器之心分析师网络 作者:仵冀颖 编辑:H4O 本文重点讨论了面向联邦学习的模型测试和调优。研究者首先回顾了传统机器学习与一般软件测试、调优的区别和联系,然后具体分析了在实际场景中应用联邦学习存在的主要问题,包括神经架构设计、模型选择、超参数优化和调试等等。接着结合几篇最新的研究论文全面了解面向联邦学习的评价和测试,既包括了针对具体应用场景的测试(人类活动识别),也包括了对一般联邦学习算法的测试。最后集中介绍 CMU 研究小组关于联邦学习超参数调优的研究成果。 作为联邦学习系列中的重要内容,本文重点关注面向
机器之心
2023/03/29
9690
面向联邦学习的模型测试和调优怎么整?这篇三万字长文给你答案
Flask-SocketIO 文档译文
專 欄 ❈译者:詹聪聪 投稿 邮箱: zhancongc@gmail.com❈—— 序言: 本人工作中需要用到flask-socketio,在学习英文文档时发现,flask-socketio目前并没有相关的中文文档。斗胆利用业余时间将这个库的英文文档翻译出来,希望能够帮助那些没有时间或精力研习英文文档的朋友。鉴于水平有限,翻译错误在所难免,还望各位不吝赐教。任何问题都可以发送邮件给我。(email: zhancongc@gmail.com) 注意:译者所用的flask-socketio版本号是:2.7.
Python中文社区
2018/01/31
4.7K0
联邦学习诞生1000天的真实现状丨万字长文
从“自给自足”的To C模式,到企业之间互联互通的To B模式,再到金融、医疗、安防全场景应用的过程。
AI科技评论
2020/04/20
1.5K0
联邦学习诞生1000天的真实现状丨万字长文
Science China|用增强的联邦学习应对药物发现数据小和偏的困境
2021年7月27日,中科院上海药物所蒋华良和郑明月课题组/上海科技大学联合华为云的医疗智能体 (EIHealth) 平台,在SCIENCE CHINA Life Sciences发表了题为Facing small and biased data dilemma in drug discovery with enhanced federated learning approaches的文章。
智药邦
2021/08/06
5770
推荐阅读
相关推荐
联邦学习在视觉领域的应用,揭秘2020年AAAI人工智能创新应用奖获奖案例!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档