联邦学习研究综述【联邦学习】
文章目录
- 0 前言
- 机器学习两大挑战:
- 1 什么是联邦学习?
- 联邦学习的一次迭代过程如下:
- 联邦学习技术具有以下几个特点:
- 2 联邦学习的算法原理
- 目标函数
- 本地目标函数
- 联邦学习的迭代过程
- 3 联邦学习分类
- 横向联邦学习
- 纵向联邦学习
- 联邦迁移学习
- 4 Challenges
- 4.1 通信效率短板明显
- 目前的研究中针对通信效率的改进主要有以下 3 种方法:
- (1)算法优化
- (2)压缩
- (3)分散训练
- 综合方法
- 4.2 隐私安全仍有缺陷
- 4.3 缺乏信任与激励机制
- 5 研究热点
- (1)系统异构
- (2)统计异构
- (3)无线通信
- 结合边缘计算的应用
- 6 前景展望
- (1)边缘计算和物联网
- (2)智慧医疗
- (3)金融风控
- (4)智慧城市
- (5)涉密数据的安全共享
0 前言
机器学习两大挑战:
- 数据安全难以得到保障,隐私数据泄露问题亟待解决。
- 网络安全隔离和行业隐私,不同行业、部门之间存在数据壁垒,导致数据形成“孤岛”无法安全共享,而仅凭各部门独立数据训练的机器学习模型性能无法达到全局最优化。
为了解决以上问题
谷歌提出联邦学习(FL,federated learning)技术,其通过将机器学习的数据存储和模型训练阶段转移至本地用户,仅与中心服务器交互模型更新的方式有效保障了用户的隐私安全。
1 什么是联邦学习?
传统的机器学习算法需要用户将源数据上传到高算力的云服务器上集中训练,这种方式导致了数据流向的不可控和敏感数据泄露问题。
Mcmahan 等在 2016 年提出联邦学习技术,允许用户在机器学习过程中既可以保护用户隐私,又能够无须源数据聚合形成训练数据共享。
联邦学习本质上是一种分布式的机器学习技术,其流程如图 1 所示。
多个客户端设备(如平板电脑、手机、物联网设备)和中心服务器(如服务提供商)的协调下,共同训练一个模型。在这一过程中,客户端负责利用本地数据进行模型训练,得到本地模型(local model),而中心服务器则负责将各客户端训练得到的本地模型进行加权聚合,从而形成全局模型(global model)。通过多轮迭代,这一过程最终得到一个效果接近于传统集中式机器学习的模型 ( w w w ),从而有效降低了传统机器学习中由于数据集中带来的隐私风险。
联邦学习的一次迭代过程如下:
- 客户端从服务器下载上一轮的全局模型 w t − 1 w_{t-1} wt−1 。
- 客户端 k k k 利用本地数据训练得到本地模型 w t , k w_{t,k} wt,k (第 k k k 个客户端在第 t t t 轮通信中的本地模型更新)。
- 各客户端将本地模型更新上传至中心服务器。
- 中心服务器接收各客户端的数据后进行加权聚合操作,得到全局模型 w t w_t wt(第 t t t 轮通信中的全局模型更新)。
联邦学习技术具有以下几个特点:
- 参与联邦学习的原始数据保留在本地客户端,与中心服务器交互的只是模型更新信息。
- 联邦学习的参与方共同训练出的模型 w w w 将被各方共享。
- 联邦学习最终的模型精度与集中式机器学习相似。
- 联邦学习参与方的训练数据质量越高,全局模型的精度越高。
2 联邦学习的算法原理
联邦学习的目的是在保证数据隐私的前提下,通过多个客户端设备协作训练一个全局模型 w \mathbf{w} w 。在这种方法中,数据存储和处理都是在本地客户端设备上完成的,只有模型更新的梯度信息需要上传至中心服务器。
目标函数
中心服务器的目标是优化全局模型的目标函数 F ( w ) F(w) F(w) ,这个目标函数通常定义为所有客户端设备的加权平均:
min w F ( w ) , F ( w ) = ∑ k = 1 m n k n F k ( w ) (1) \min_{w} F(w), \quad F(w) = \sum_{k=1}^{m} \frac{n_k}{n} F_k(w) \tag{1} wminF(w),F(w)=k=1∑mnnkFk(w)(1)
其中:
- m m m 是参与训练的客户端设备总数。
- n n n 是所有客户端数据量总和,即 n = ∑ k = 1 m n k n = \sum_{k=1}^{m} n_k n=∑k=1mnk 。
- n k n_k nk 是第 k k k 个客户端的数据量。
- F k ( w ) F_k(w) Fk(w) 是第 k k k 个设备的本地目标函数。
本地目标函数
每个客户端 k k k 的本地目标函数 F k ( w ) F_k(w) Fk(w) 定义为其本地数据损失函数的平均值:
F k ( w ) = 1 n k ∑ i ∈ D k f i ( w ) (2) F_k(w) = \frac{1}{n_k} \sum_{i \in \mathcal{D}_k} f_i(w) \tag{2} Fk(w)=nk1i∈Dk∑fi(w)(2)
其中:
- n k n_k nk 是第 k k k 个客户端的本地数据集的大小。
- D k \mathcal{D}_k Dk 是第 k k k 个客户端的本地数据集。
- f i ( w ) f_i(w) fi(w) 是模型参数 w w w 对应于数据样例 i i i 的损失函数。
联邦学习的迭代过程
-
初始化全局模型:中心服务器初始化全局模型参数 w 0 \mathbf{w}_0 w0。
-
客户端接收全局模型:在每一轮迭代 t t t 开始时,中心服务器将当前的全局模型参数 w t \mathbf{w}_t wt 发送给所有参与训练的客户端。
-
本地模型更新:每个客户端 k k k 接收到全局模型参数 w t \mathbf{w}_t wt 后,利用本地数据 D k \mathcal{D}_k Dk 进行本地训练,更新本地模型参数。可以采用小批量随机梯度下降(SGD)的方法:
w t + 1 k = w t − η ∇ F k ( w t ) \mathbf{w}_{t+1}^k = \mathbf{w}_t - \eta \nabla F_k(\mathbf{w}_t) wt+1k=wt−η∇Fk(wt)
其中, η \eta η 是学习率。 -
上传本地模型:各客户端将更新后的本地模型参数 w t + 1 k \mathbf{w}_{t+1}^k wt+1k 上传至中心服务器。
-
全局模型聚合:中心服务器接收各客户端上传的本地模型参数,并进行加权聚合,得到新的全局模型参数 w t + 1 \mathbf{w}_{t+1} wt+1。聚合操作通常采用加权平均:
w t + 1 = ∑ k = 1 m n k n w t + 1 k \mathbf{w}_{t+1} = \sum_{k=1}^{m} \frac{n_k}{n} \mathbf{w}_{t+1}^k wt+1=k=1∑mnnkwt+1k -
重复迭代:重复上述过程,直到满足预定的停止条件(例如达到最大迭代次数或模型精度达到预期)。
3 联邦学习分类
联邦学习的应用场景不同,客户端之间持有的数据集特征各不相同。
假设:
- D m \mathcal{D}_m Dm 代表客户端 m 持有的数据;
- I I I 表示样本 ID;
- Y Y Y 表示数据集的标签信息;
- X X X 表示数据集的特征信息;
- 一个完整的训练数据集 D \mathcal{D} D 应由 ( I , Y , X ) (I,Y,X) (I,Y,X) 构成。
根据参与训练客户端的数据集特征信息 X X X 的不同,联邦学习被分为横向联邦学习、纵向联邦学习和联邦迁移学习。
横向联邦学习
横向联邦学习的特点是数据集特征 X X X 和标签信息 Y Y Y 相同,但样本 ID 不同,如图所示:
在用户输入法数据上训练的下一词预测模型是典型的横向联邦学习应用。不同的手机用户具有相同的数据特征,数百万个安卓手机在云服务器的协调下训练共享的全局模型,其本质是将多方对不同目标的相同特征描述进行训练提取。
纵向联邦学习
纵向联邦学习的特点是各数据集特征 X X X 和标签信息 Y Y Y 不同,但样本 ID 信息相同,如图所示:
纵向联邦学习中一方掌握训练的标签信息 Y Y Y,各方通过输入特征信息 X X X,得到纵向全局模型。
其典型应用场景如同一地区的银行和电商平台:
- 银行拥有当地用户的收支记录 x 1 x_1 x1,
- 电商平台拥有用户的消费记录和浏览记录 x 2 x_2 x2,
- 双方想通过数据联合对客户信用 Y Y Y 进行评级,从而提供更个性化的服务。
其本质是将多方对相同目标的不同特征描述进行训练提取。
联邦迁移学习
联邦迁移学习的特点是数据集特征 X X X、标签信息 Y Y Y 和样本 ID 信息都不同,如图所示:
联邦迁移学习被用于解决标签样本少和数据集不足的问题,如中国的电商平台与其他国家银行之间的数据迁移,由于跨部门跨国的数据交流很难实现,通过联邦迁移学习可以很好地解决这类痛点问题。
4 Challenges
4.1 通信效率短板明显
联邦学习(Federated Learning)作为一种分布式机器学习方法,旨在保护数据隐私并利用广泛分布的数据进行模型训练。然而,联邦学习在实际应用中面临着许多威胁与挑战,尤其是通信效率方面的短板。以下是一些主要的问题和挑战:
-
通信效率问题:
在联邦学习网络中,服务器与各个远程客户端之间需要频繁地进行模型更新的通信。这种通信要求大量的带宽,尤其是在客户端数量达到万计时,网络负担显著增加。通常,联邦学习的全局模型训练时间包括数据处理时间和通信传输时间。随着计算机设备算力的提升,数据处理时间在不断降低,而通信传输时间却成为了训练速度的主要瓶颈。 -
数据分布的不一致性:
联邦学习的数据集来自不同的终端用户,这些用户产生的数据特征通常是非独立同分布(Non-IID)的。具体来说,各个客户端的数据集可能有不同的概率分布(即,客户端 i i i 和客户端 j j j 的数据分布 P i P_i Pi 和 P j P_j Pj 可能不同)。传统的分布式计算框架算法在处理独立同分布(IID)数据时效果良好,但在处理Non-IID
数据时,会导致训练过程难以收敛,并且需要更多的通信轮次。 -
通信开销问题:
在互联网环境下,大量的本地模型更新和上传会导致中心服务器的通信开销过大,这可能无法满足实际应用的需求。同时,相邻的模型更新中可能包含许多重复的信息或与全局模型不相关的更新。
目前的研究中针对通信效率的改进主要有以下 3 种方法:
(1)算法优化
开发适合处理Non-IID和非平衡分布数据的模型训练算法,减少用于传输的模型数据大小,加快模型训练的收敛速度。这种方法通过改进算法,使得在同样的数据量下能够更快地达到理想的模型性能,从而降低通信负担。
(2)压缩
压缩能够有效降低通信数据大小,但对数据的压缩会导致部分信息的丢失。因此,此类方法需要在模型精度和通信效率之间寻找最佳的平衡。压缩方法包括梯度压缩、模型剪枝、量化等技术,通过减少传输的数据量来提高通信效率。
(3)分散训练
将联邦学习框架分层分级,降低中心服务器的通信负担。例如,通过区域性服务器或中间节点来处理局部模型更新,然后再由中心服务器进行全局模型聚合。这种方法能够减少中心服务器的通信压力,提高整体的通信效率。
综合方法
在大多数情况下,这几种方法是相辅相成的,通过特定的方法把这几种方案结合是研究的热点方向。综合运用算法优化、压缩和分散训练,可以在保证模型精度的前提下,显著提升联邦学习的通信效率。
文献 | 压缩 | 本地优化 | 算法性能 | 算法特点 |
---|---|---|---|---|
基准算法 FedSGD | √ | 弱 | 分布式计算基准算法 | |
McMahan 等针对联邦学习的低带宽环境提出 FedAvg 算法 | √ | 弱 | FedAvg 算法与其优化 | |
MFL、LoAdaBoost | √ | 强 | 针对 FedAvg 算法的优化 | |
CMFL | √ | 强 | 优化筛选机制,过滤无关更新 | |
Konečný 等提出针对本地模型的结构化更新和草图更新算法 | √ | 强 | 传统压缩方法 | |
Caldas 等将Konečný 等提出方法应用于对全局模型更新的压缩中,同时提出 Federated Dropout 思想优化模型更新 | √ | 强 | 传统压缩方法+算法优化 | |
Lu 等提出自适应阈值梯度压缩算法 | √ | 强 | 适应性修改压缩阈值 | |
Sattler 等提出一种新的稀疏三元压缩(STC)框架 | √ | 强 | 对 non-IID 数据表现较好 |
注:以 FedAvg 为基准,算法性能大于 3 倍为强压缩,小于 3 倍为弱压缩。“√”表示通信效率算法的类别。
4.2 隐私安全仍有缺陷
联邦学习通过源数据不出本地而仅交互模型更新(如梯度信息)的方式来保护用户的敏感数据,开创了数据安全的新范式。理想情况下,联邦学习中客户端通过训练源数据上传本地模型,服务器仅负责聚合和分发每轮迭代形成的全局模型。然而,在真实的网络环境中,存在多种隐私安全威胁,这些威胁使得仅通过模型更新来保护用户隐私的方式显然是不够的。
主要威胁
-
模型反演攻击:
研究表明,梯度信息会泄露用户的隐私数据。攻击者可以通过客户端上传的梯度信息间接推出标签信息和数据集的成员信息。Carlini等从训练用户语言数据的递归神经网络中提取出了用户的敏感数据,如特定的银行卡号。Fredrikson等研究了如何从模型信息中窃取数据隐私,并通过药量预测实验实现了对线性回归模型的反演攻击,获得了患者的敏感信息。 -
成员推理攻击:
恶意客户端或服务器通过分析模型更新信息,推测源数据的隐私信息。Hitaj等用生成对抗网络(GAN)对模型聚合发起攻击,实验结果表明,恶意客户端能够通过产生相似的本地模型更新来窃取用户数据隐私。 -
模型推理攻击:
恶意服务器企图获得客户端的源数据。Gei等证明了从梯度信息重建输入数据的可行性,并将一批输入图像用余弦相似度和对抗攻击的方法恢复出来。
如图5所示,联邦学习主要存在三种威胁:
- 恶意客户端修改模型更新,破坏全局模型聚合。
- 恶意分析者通过对模型更新信息的分析推测源数据隐私信息。
- 恶意服务器企图获得客户端的源数据。
增强隐私安全性的方案
为了应对上述威胁,增强联邦学习隐私安全性的主流方案与经典机器学习隐私保护技术结合,包括差分隐私(DP,differential privacy)、安全多方计算(MPC,secure multi-party computation)、同态加密(HE,homomorphic encryption)等技术。
-
差分隐私(DP):
差分隐私通过在数据或梯度信息中添加噪声来保护用户隐私。大量研究表明,联邦学习与差分隐私结合能够在大量客户端参与时提供较强的安全性。然而,在较少客户端参与的情况下,噪声的影响会导致模型精度显著下降,且差分隐私算法中包含的大量超参数限制了进一步的应用。设随机化算法 A A A ,对于两个至多有一条数据不同的数据集 D D D 和 D ′ D' D′ 以及任意可能的输出 S S S ,若算法 A A A 满足:
Pr [ A ( D ) ∈ S ] ≤ e ϵ Pr [ A ( D ′ ) ∈ S ] + δ \text{Pr}[A(D) \in S] \leq e^{\epsilon} \text{Pr}[A(D') \in S] + \delta Pr[A(D)∈S]≤eϵPr[A(D′)∈S]+δ
则称随机化算法 A A A 满足 ( ϵ , δ \epsilon, \delta ϵ,δ) 差分隐私保护。
其中, ϵ \epsilon ϵ 代表隐私保护预算, δ \delta δ 是算法允许的误差,通常为较小的常数。Dwork 等人于 2006 年提出了差分隐私概念,并使用严格的数学推导给出了安全性证明。通常,差分隐私算法的噪声机制分为指数噪声、Laplace 噪声和高斯噪声,其中,指数噪声主要用于处理离散数据集,Laplace 噪声和高斯噪声主要用于处理连续数据集。
-
安全多方计算(MPC):
安全多方计算允许多个参与方在不暴露各自输入的情况下进行联合计算,从而保护隐私。联邦学习与安全多方计算的结合能够提供无损全局模型的构建,但同时会增加通信开销,如何在通信负担和模型安全之间找到平衡是一个重要的挑战。假设有 n n n 个参与方 P 1 , P 2 , … , P n P_1, P_2, \ldots, P_n P1,P2,…,Pn 分别拥有自己的敏感数据 m 1 , m 2 , … , m n m_1, m_2, \ldots, m_n m1,m2,…,mn,这 n n n 个参与者在不泄露各自输入数据的前提下共同执行一个协议函数 f ( m 1 , m 2 , … , m n ) f(m_1, m_2, \ldots, m_n) f(m1,m2,…,mn)。
安全多方计算的研究焦点是在没有可信第三方的条件下,参与训练各方安全计算一个共同的约束函数。姚期智于 1983 年提出了安全多方计算的概念,通过混淆电路、不经意传输、秘密分享等技术实现多方共同运算,并确保各方数据的安全性。
-
同态加密(HE):
同态加密允许对加密数据进行直接计算,从而保护数据隐私。虽然同态加密技术能够确保模型更新过程中的数据安全,但其计算和通信开销较大,也是需要解决的问题。设有明文数据 d 1 , d 2 , … , d n d_1, d_2, \ldots, d_n d1,d2,…,dn,这 n n n 个数据对应的加密数据为 m 1 , m 2 , … , m n m_1, m_2, \ldots, m_n m1,m2,…,mn,若加密算法满足:
Enc ( f ( d 1 , d 2 , … , d n ) ) = f ( Enc ( d 1 ) , Enc ( d 2 ) , … , Enc ( d n ) ) \text{Enc}(f(d_1, d_2, \ldots, d_n)) = f(\text{Enc}(d_1), \text{Enc}(d_2), \ldots, \text{Enc}(d_n)) Enc(f(d1,d2,…,dn))=f(Enc(d1),Enc(d2),…,Enc(dn))则称该加密算法满足同态加密。同态加密能够直接对密文数据进行密码学运算,最终运算结果经解密后与在明文上直接运算的结果一致。Rivest 等人于 1978 年提出了同态加密概念。同态加密分为全同态加密和部分同态加密,其中部分同态加密分为乘法同态和加法同态,若一个算法既满足乘法同态又满足加法同态,则称为全同态加密算法。
4.3 缺乏信任与激励机制
联邦学习为现代社会建立了一个数据安全共享的架构,尤其在未来万物互联的场景中,不同的机构和部门之间的数据联合会形成一个巨大的联邦学习联盟,旨在构建基于大数据和多特征融合的智能分析决策模型。然而,这一理想的实现面临以下两大挑战:
-
缺乏高效的激励机制:
联邦学习需要吸引大量客户端参与到训练过程中,没有高效的激励机制很难吸引足够的训练数据,进而无法保证最终的智能模型质量。客户端的参与意愿直接影响到模型的性能和覆盖范围,因此设计有效的激励机制至关重要。 -
缺乏信任机制:
联邦学习缺乏统一的信任机制,对于客户端的信誉没有统一的分数评价。这会导致难以选择优质的客户端,从而影响全局模型的精度。没有信任机制的约束,可能会出现一些恶意或低质量的客户端,影响整体训练效果。
结合区块链技术的解决方案
为了应对上述问题,学术界提出了结合区块链技术的解决方案。区块链是比特币的底层技术,它作为一种安全可靠、不可篡改和支持查询验证的分布式分类账,被广泛应用于解决各类数据安全存储和信任问题。区块链技术能够为联邦学习提供以下优势:
-
安全记录模型更新:
通过集成区块链,联邦学习能够以一种安全、高度抗中断和可审计的方式记录其模型更新,为系统框架提供可问责性和不可否认性。每次模型更新的信息都可以在区块链上进行记录和验证,防止恶意篡改和数据丢失。 -
激励机制:
区块链的激励机制能够为联邦学习提供一种经济回报,基于客户端对模型构建的贡献给予相应的奖励。这种激励机制可以采用加密货币或代币的形式,鼓励更多的客户端参与训练并提供高质量的数据。通过激励机制,不仅可以提高参与度,还能提升数据质量和模型精度。 -
信誉机制:
区块链可以为每个客户端建立一个信誉评分系统,根据其历史贡献和行为进行评价。信誉评分可以帮助选择优质的客户端,保证模型训练的可靠性和精度。通过区块链技术,所有参与者的行为记录和贡献都可以透明地记录在链上,形成一个可信赖的评价体系。
5 研究热点
不同于传统的分布式机器学习技术,海量客户端与Non-IID数据集对联邦学习提出了新的挑战。目前,学术界对于联邦学习的研究十分活跃,研究者不仅需要掌握机器学习技术,还需要掌握分布式算法优化、密码学、压缩量化、信息论、统计等技术。本文介绍了联邦学习在通信效率、隐私安全、信任与激励机制等方向上的研究进展,但仍有一些其他研究方向值得探索。
(1)系统异构
在联邦学习环境中,由于参与训练的客户端之间硬件配置、网络带宽、电池容量等不同,各终端设备的计算能力、通信速度和存储能力各不相同。除此之外,联邦学习架构通常会限制终端设备参与训练的数量,尤其是在数百万设备参与的训练中,处于活跃状态的往往只有数百个客户端。每个客户端并不一定可靠,随时可能因为网络故障、算力限制等问题退出训练,这些系统级别的异构会给模型整体效能造成极大的挑战。因此,适用于系统异构的联邦学习算法必须满足以下三点要求:
- 客户端的低参与率;
- 兼容不同的硬件结构;
- 能够容忍训练设备的中途退出。
(2)统计异构
不同的终端设备通常使用各式各样的方式生成、存储和传输数据,因此各设备之间数据的特征和体量可能有很大的不同,导致数据呈Non-IID分布和非平衡分布。尽管这类分布的数据集可以通过通信效率优化的方式处理,但仍然存在一些针对统计异构的解决方法,如通过多任务学习框架学习不同的局部模型。类似于元学习,多任务学习由于对个性化和特定于设备建模的支持,已经成为解决数据统计异构性的主流方法。
(3)无线通信
在5G技术日益普及的今天,联邦学习开始逐渐应用于无线网络领域。
由于无线信道的带宽容量有限,因此在发送信息之前,需要对模型更新进行量化压缩,在这种模式下,一个重要的考虑因素是存在量化误差时模型更新的鲁棒性。
除了通信带宽外,无线通信中复杂的噪声和干扰也是加剧信道瓶颈的因素。
因此,开发适用于无线通信的联邦学习算法具有突出的研究意义。
结合边缘计算的应用
除了对联邦学习本身技术的改进,最新的研究进展包括结合边缘计算在物联网领域的应用。
由于部分终端设备没有足够的计算资源,同时为了满足智能决策的低时延响应,边缘计算在云中心和边缘设备之间添加了边缘服务器作为中介层。
联邦学习作为其“操作系统”满足了智能边缘设备实时决策、多点协同、自主可控的要求。
充分利用智能边缘服务器的计算、存储、传输能力,改变传统集中上传数据进行决策的方式,破解了传统集中式机器学习数据难以聚合、隐私难以保护、云中心的单点故障等问题,为未来多功能集群、跨多智能设备的实时安全决策提供了可靠的技术保障。
6 前景展望
在大数据时代,如何在保障数据安全和隐私的前提下,实现数据共享,促进多源数据的碰撞、融合,最大限度地释放数据价值,成为学术界和产业界面临的挑战之一。而联邦学习作为应对该挑战的一项新兴技术,在诸多领域具有广阔的应用前景。
(1)边缘计算和物联网
随着智能手机和移动互联网的普及应用,大量数据产生在设备的边缘端,移动边缘计算使计算发生在本地设备,而不需要将隐私数据发送到云端。联邦学习作为边缘计算的操作系统,提供了一种各方协作与共享的协议规范,使得边缘设备在不向云端设备发送源数据的情况下,能够合作训练出一个最优的全局机器学习模型。未来,随着物联网的进一步发展,人工智能和边缘计算将朝着一体化的方向大步向前。
(2)智慧医疗
为了降低人工成本和减少人为操作失误的可能,机器学习技术越来越多地应用在医疗领域,用于提升医疗诊治的效率和准确率。然而,由于医疗机构的数据对于隐私和安全的敏感性,医疗数据中心很难收集到足够数量、特征丰富的、可以全面描述患者症状的数据。而性能良好的机器学习模型往往需要来自多个数据源,包括医疗报告、病例特征、生理指标、基因序列等。联邦迁移学习是解决这类问题的有效方法,无须交换各医疗机构的私有数据,协同所有的训练参与方训练一个共享模型,同时迁移学习技术可以扩展训练数据的样本空间和特征空间,有效降低各医疗机构之间样本分布的差异性。
(3)金融风控
为了维持金融行业稳定、风险控制和防止金融诈骗,银行和金融企业希望利用人工智能技术为客户提供有效且安全的金融服务。在实际应用中,对客户“肖像”特征的描述通常包括资质信息、购买能力、购买偏好及商品特征等,而这些信息分别分布在银行、电子商务平台和用户的私人社交网络中。出于隐私安全的考虑,将三方数据聚合并不现实,而联邦学习为构建跨企业、跨数据平台以及跨领域的大数据和AI系统提供了良好的技术支持。
(4)智慧城市
随着人工智能、物联网和5G技术的发展,智慧城市的概念已经跃然纸上。然而,在城市的不同信息部门中,如后勤、应急、维稳、安保等,会产生大量的异构数据,形成多个数据孤岛,无法整合利用。联邦学习的异构数据处理能力能够帮助人们创造迅速响应市民需求的智慧城市,解决数据“孤岛”问题,同时基于智慧城市构建的机器学习模型为企业提供个性化服务带来了更多的机遇。
(5)涉密数据的安全共享
在大数据环境下,数据的安全交换显得尤为敏感。常规共享交换使多部门数据汇集的方法,极有可能导致权限难以控制、责任划分不清、问题难以追责,甚至造成失泄密等重大安全事故。如何解决涉密数据的安全共享难题,联邦学习技术的跨域共享特性使各部门之间无须汇集数据即可实现敏感数据的跨域安全共享。
相关文章:

联邦学习研究综述【联邦学习】
文章目录 0 前言机器学习两大挑战: 1 什么是联邦学习?联邦学习的一次迭代过程如下:联邦学习技术具有以下几个特点: 2 联邦学习的算法原理目标函数本地目标函数联邦学习的迭代过程 3 联邦学习分类横向联邦学习纵向联邦学习联邦迁移…...
深入理解Python中的列表推导式
深入理解Python中的列表推导式 在Python编程中,列表推导式(List Comprehension)是一种简洁而强大的语法,用于创建和操作列表。它不仅提高了代码的可读性,还能显著减少代码的行数。本文将详细介绍什么是列表推导式,如何使用它,以及一些实际应用示例,帮助读者更好地理解…...

Android 实现左侧导航栏:NavigationView是什么?NavigationView和Navigation搭配使用
目录 1)左侧导航栏效果图 2)NavigationView是什么? 3)NavigationView和Navigation搭配使用 4)NavigationView的其他方法 一、实现左侧导航栏 由于Android这边没有直接提供左侧导航栏的控件,所以我尝试了…...

如何快速下载拼多多图片信息,效率高
图片是电商吸引顾客的关键因素,高质量的商品图片能提升产品吸引力,增强用户购买欲望。良好的视觉展示有助于建立品牌形象,提高转化率。同时,图片也是商品信息的主要传递媒介,对消费者决策过程至关重要。 使用图快下载器…...
windows 10下,修改ubuntu的密码
(1)在搜索框里面输入cmd,然后点击右键,选择管理员打开 Microsoft Windows [版本 10.0.22631.3880] (c) Microsoft Corporation。保留所有权利。 C:\Windows\System32>C: C:\Windows\System32>cd ../../ C:\>cd Users\ASUS\AppData\Local\Micros…...
【MySQL】慢sql优化全流程解析
定位慢sql 工具排查慢sql 调试工具:Arthas运维工具:Skywalking 通过以上工具可以看到哪个接口比较慢,并且可以分析SQL具体的执行时间,定位到哪个sql出了问题。 启用慢查询日志 慢查询日志记录了所有执行时间超过指定参数(lon…...

RabbitMQ高级特性 - 消息分发(限流、负载均衡)
文章目录 RabbitMQ 消息分发概述如何实现消费分发机制(限制每个队列消息数量)使用场景限流背景实现 demo 非公平发送(负载均衡)背景实现 demo RabbitMQ 消息分发 概述 RabbitMQ 的队列在有多个消费者订阅时,默认会通过…...

信号处理——自相关和互相关分析
1.概括 在信号处理中,自相关和互相关是相关分析非常重要的概念,它们能分析一个信号或两个信号在时间维度的相似性,在振动测试分析、雷达测距和声发射探伤得到了广泛的应用。自相关分析的研究对象为一个信号,互相关分析的研究对象…...

如何解决部分设备分辨率不适配
1)如何解决部分设备分辨率不适配 2)Unity中如何实现草的LOD 3)使用了Play Asset Delivery提交版本被Google报错 4)如何计算弧线弹道的落地位置 这是第396篇UWA技术知识分享的推送,精选了UWA社区的热门话题,…...

C#插件 调用存储过程(输出参数类型)
存储过程 CREATE PROCEDURE [dbo].[GetSum]num1 INT,num2 INT,result INT OUTPUT AS BEGINselect result num1 num2 END C#代码 using Kingdee.BOS; using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Util; using System; using System.…...

代码随想录算法训练营day32 | 509. 斐波那契数 、70. 爬楼梯 、746. 使用最小花费爬楼梯
碎碎念:开始动态规划了!加油! 参考:代码随想录 动态规划理论基础 动态规划常见类型: 动规基础类题目背包问题打家劫舍股票问题子序列问题 解决动态规划问题应该要思考清楚的: 动态规划五部曲࿱…...
【人工智能专栏】Learning Rate Decay 学习率衰减
Learning Rate Decay 学习率衰减 使用格式 optimizer = torch.optim.SGD(model.paraters(), lr=0.1, momentum=0.9, weight_decay=1e-4) scheduler = torch.optim...
浙大版《C语言程序设计(第3版)》题目集
练习4-11 统计素数并求和 本题要求统计给定整数M和N区间内素数的个数并对它们求和。 输入格式: 输入在一行中给出两个正整数M和N(1≤M≤N≤500)。 输出格式: 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。 输入…...

【学习笔记】Day 2
一、进度概述 1、inversionnet_train_light 试运行——未成功 2、DL-FWI基础入门培训-1,2,以及作业1的完成——暂未完成作业 二、详情 1、inversionnet_train_light 试运行 在补充完相关依赖后,运行仍有报错 产生原因:这个代码在当…...

Java中的Map(如果想知道Java中有关Map的知识点,那么只看这一篇就足够了!)
前言:在Java编程语言中,集合框架(Collection Framework)提供了一系列用于存储和操作数据的接口和类。其中,Map和Set是两个非常重要的接口,分别用于存储键值对和无重复元素的集合。 ✨✨✨这里是秋刀鱼不做梦…...
裸金属服务器详解
在云计算飞速发展的今天,裸金属服务器(Bare Metal Server, BMS)作为一种兼具传统物理服务器性能和虚拟化服务优势的计算资源,正逐渐成为企业和个人用户的重要选择。今天我们就来了解下关于裸金属服务器的定义、核心特点以及其在各…...

等待唤醒机制两种实现方法-阻塞队列
桌子上有面条-》吃货执行 桌子上没面条-》生产者制造执行 1、消费者等待 消费者先抢到CPU执行权,发现桌子上没有面条,于是变成等待wait状态,并释放CPU执行权,此时的CPU肯定会被厨师抢到,初始开始做面条,…...
数组项相加和 – 如何将 JavaScript 数组中的数字相加
JavaScript 中的数组是一个对象,它允许您在单个变量名称下存储多个值的有序集合,并以多种方式操作这些值。 在本文中,您将学习如何使用几种不同的方法计算给定数组中所有数字的总和。 具体来说,使用以下方法得到数组中所有数字的总…...
C#和S7-1200PLC S7.NET通信
1、一步步建立一个C#项目 一步步建立一个C#项目(连续读取S7-1200PLC数据)_s7协议批量读取-CSDN博客文章浏览阅读1.7k次,点赞2次,收藏4次。这篇博客作为C#的基础系列,和大家分享如何一步步建立一个C#项目完成对S7-1200PLC数据的连续读取。首先创建一个窗体应用。_s7协议批量…...
常用命令git branch
Git Branch 命令总结 列出分支 git branch:显示本地分支,当前分支会被标记。git branch -r:显示远程分支。git branch -a:显示所有本地和远程分支。 创建分支 git branch <branch_name>:创建一个新分支但不自…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...