Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FL联邦学习中,server对client恶意行为的侦测(方式的猜想) #7

Open
David-Dingle opened this issue Feb 24, 2021 · 0 comments

Comments

@David-Dingle
Copy link

David-Dingle commented Feb 24, 2021

机器学习是希望使用一个矩阵,高维空间,对数据特征特征进行模拟。
server如 google 维护一个全局的矩阵w_global。客户端的数据不满足独立同分布,其中本地数据记为 w_local_i, 其中i 为用户名。
给定一个标量 trust_Max 超参数,定义最大偏离的距离,定义某个客户 与 w 的”距离“的矩阵 distance_to_global_i = w - w_local_i (对应元素相减),检验一下distance_to_global_i 矩阵 L2 范数与 trust_Max 的关系。

大于阈值,代表该用户和大多数用户的使用习惯偏差过大,有蓄意攻击的可能。
但世界上还会存在少量其他用户 w_local_k 和他的 w_local_i 的分布近似,体现在两个“距离矩阵”的差 distance_to_global_i - distance_to_global_k 的新矩阵的L2 很小。意味着利用 google 提供的高维空间 w 拟合两个用户的习惯类似。

---以下,猜测的部分----

在i k中分别训练另一个网络 m_i 和 m_k,m 使用不同于 w 的网络结构、参数,但 m_i 和 m_k参数相同。训练相同epoch。
方法一:得到本地的训练评价acc_i 和 acc_k,交换 m,分别在异地验证m,得到对方m 在本地的评价。与先前的评价进行比较。
方法二:直接对 m_i 和 m_k 差的 L2进行度量,判断 m_1 和 m_k 是否相近。

// 猜测基于假设:
// 如果两个客户的本地 w_local_ 和 w_global 的 对应元素差相近,它们的数据更接近。
// 蓄意攻击者通过加噪声等方式修改本地数据,意图污染 w_global,会让本地数据变得很奇怪,和其他的善良的偏离者在 w 网络下表现类似,却在另一个高纬空间的投影,新的网络 m 中表现不同。(我的猜测,不知道有没有可能。恶意用户 i 修改数据会让数据变得和谁都不像,在 w 中呈现和善良的用户 k 相近的表现,只是偶然。并不会在 m 中 依然接近 k)

还有一种通用方式(应对某些恶意用户 i 他的 w_local_i 并不过分偏离 w_global):
找一个用户k,他的 w_local_k 和 w_local_i 距离很近。server命令他们根据参数列表 temporary_table(临时生成的一组网络参数,包括层数、行列数量)。i 和 k 依据 table 训练网络 m, 交叉验证异地表现。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant