
前言
本文是我在大学课外的学习知识的回顾
大创
大创是我入坑深度学习的契机
1

data文件夹存放各个数据集
AdvBox是百度的对抗攻击的库
Distance文件夹和Distance_vceg文件夹分别是DeepFool攻击和项目提出攻击算法得出的决策边界距离
adversial_MIA.py文件是主文件
FL_model_data_init.py是联邦学习中模型的定义
FL_base_function.py是联邦学习的功能函数文件
attack_function.py实现对抗攻击
attack.py为我改进HSJA的一个算法vceg
2
联邦学习针对的是数据不能共享的情况
- 所有客户端分别独立地在本地数据上进行训练
; - 客户端对模型参数或者模型参数的梯度进行加密
上传到服务器, ; - 服务器对搜集到的客户端的模型参数或者梯度进行聚合
并且是安全聚合, Secure Aggregation( ) ; - 服务器将模型下发到各个客户端

此中
-
Non-IID问题
由于数据来自各个客户端: 数据分布不再满足传统机器学习假设的数据独立同分布, IID( 性质) 反而是非独立同分布, Non-IID( 的) 这种情况下如何保证各个客户端训练的模型依旧可以被有效地全局聚合, Global Aggregation( ) 此外? 即便能聚合出好的模型, 如何将其部署下发到数据分布有所差异的客户端, 即模型个性化问题, Personalization( ) ? 1
由于客户端数据分布不一致、 在本地训练的模型往往分歧比较大, 因此可以在参数服务器上保留一些公共数据, 这些公共数据包含了客户端上所有分布下的数据, 可以用来矫正聚合的模型, 由于数据涉及隐私; 往往可以通过GAN训练一些伪造数据等等, ; 2
Non-IID带来的问题主要是在于各个客户端上的梯度差异过大、 因此聚合时可能会不收敛或者难收敛, 因此需要加入正则化项限制客户端上模型训练和公有模型的差异, ; 3
可以利用多任务学习技术来解决Non-IID问题、 此外还可以借助元学习, Meta Learning( ) 增量学习、 Incremental Learning( 等范式) 。 -
数据传输问题
联邦学习严重依赖于数据传输: 如何降低数据传输的开销以及如何确保通信不稳定的情况下系统依旧可以正常工作, ? -
隐私保护措施
什么是安全聚合: 怎么样才能做到安全多方计算, Secure Multi-Party Computing, Secure MPC( ?) 现有的解决方法有差分隐私
Differential Privacy( ) 同态加密、 Homomorphic Encryption( 等等) 。
在两个数据集的用户特征重叠较多而用户重叠较少的情况下
在两个数据集的用户重叠较多而用户特征重叠较少的情况下
在两个数据集的用户与用户特征重叠都较少的情况下
3
对抗攻击英文为adversarial attack

分为白盒攻击和黑盒攻击
白盒攻击对模型和训练集完全了解
黑盒攻击对模型不了解
定向攻击
非定向攻击
DeepFool白盒攻击

HSJA黑盒攻击