参考文献
- Federated Machine Learning: Concept and Applications
- 一些其他的网络资源
FL分类
- 分类标准:按照数据的分布进行分类
- We denote the features space as X, the label space as Y and we use I to denote the sample ID space.
horizontal FL | Vertical FL | Federated Transfer Learning(FTL) |
---|---|---|
(X_i=X_j, y_i=y_j,I_i eq I_j, forall D_i,D_j, i eq j) | (X_i eq X_j, y_i eq y_j,I_i=I_j,forall D_i,D_j, i eq j) | (X_i eq X_j, y_i eq y_j,I_i eq I_j, forall D_i,D_j, i eq j) |
两个本地的银行,有相似的features | 本地的,一个是购物平台有你的购物记录,一个是银行,有你的存款消息,有共同的sample ID | 一个是中国的购物平台,一个是美国银行的存款消息,feature也不像,用户也不一样 |
assumes honest participants and security against a honest-but-curious server | assumes honest-but-curious participants, 有时two parties, 会考虑STP(Semi-honest Third Party), SMC | typically involves two parties. 与Vertical Federated Learning类似。 |
- honest-but-curiou (passive) security : 假定服务器将遵循协议,但除此之外会尝试了解尽可能多的看到的信息。
- fully malicious (or active) security
- semi-honest
FL系统的架构
Horizontal FL
-
由于assume the participants are honest wheras the server is honest-but-curious, therefore no leakage of information from any participants to the server is allowed.
-
通常有四步:
- 参与者本地计算梯度,mask
- server 执行安全合并(没有了解任何参与者的信息)
- server把合并后的参数传回participants
- 参与者根据加密的梯度分别更新模型
-
直到损失函数收敛
-
这个架构独立于具体的算法,所有参与者最后都会分享最终模型参数。
Vertical FL
-
assume the collaborator C is honest and does not collude with A or B, but party A and B are honest-but-curious to each other.
-
PART 1: 加密样本对齐。确定双方共有用户,并且并不暴露不重叠的用户。
-
PART 2: 加密模型训练。
- C创造公钥,发送给A和B。
- AB交换中间结果以计算梯度和损失函数。
- A和B计算加密的梯度和加密的损失函数,A,B额外对此加密,然后把加密的值发给C。
- C解密并将解密的梯度和损失函数传给A和B。A和B解密然后更新模型参数。
-
一个线性回归和同态加密的例子
FTL
- 与VFL类似。