BackFed Benchmark Suite
收藏资源简介:
BackFed是一个全面的基准测试套件,旨在标准化、简化和可靠地评估联邦学习中的后门攻击和防御。该基准测试套件通过多处理实现显著加速实验,并通过模块化设计使得新方法的集成变得无缝。BackFed提供了一个标准化的评估流程,使得研究人员能够在一个即插即用的环境中全面和可靠地评估新的攻击和防御。BackFed集成了多个已建立的基准数据集,包括CIFAR-10、MNIST和TinyImageNet,并通过Dirichlet和均匀分布模拟了数据集在客户端之间的分区。BackFed支持计算机视觉领域的分类任务,以及自然语言处理中的情感分析和下一个单词预测任务。
BackFed is a comprehensive benchmark suite designed to standardize, simplify, and reliably evaluate backdoor attacks and defenses in federated learning. This benchmark suite enables significant experimental acceleration via multiprocessing, and facilitates seamless integration of novel methods through its modular design. BackFed offers a standardized evaluation pipeline that allows researchers to comprehensively and reliably assess new attacks and defenses in a plug-and-play environment. BackFed integrates multiple established benchmark datasets including CIFAR-10, MNIST, and TinyImageNet, and simulates data partitioning across clients via Dirichlet and uniform distributions. BackFed supports classification tasks in computer vision, as well as sentiment analysis and next-word prediction tasks in natural language processing.
BackFed数据集概述
数据集基本信息
- 名称:BackFed: An Efficient & Standardized Benchmark Suite for Backdoor Attacks in Federated Learning
- 类型:联邦学习后门攻击基准测试套件
- 特点:集成Ray并行执行、Hydra配置管理,模块化架构设计
- 性能优势:相比现有代码库可实现2X-10X训练速度提升
核心功能
- 模块化架构:支持攻击/防御/模型/数据集的灵活扩展
- 并行执行:支持Ray框架下的并行训练模式
- 资源监控:客户端训练和服务器聚合的资源使用跟踪
- 攻击防御库:标准化实现多种攻击和防御方法
- 配置系统:基于Hydra的灵活实验配置
支持的数据集
| 数据集 | 类型 | 类别数 | 任务 | 数据分割 |
|---|---|---|---|---|
| CIFAR10 | 计算机视觉 | 10 | 图像分类 | ✓ |
| CIFAR100 | 计算机视觉 | 100 | 图像分类 | ✓ |
| MNIST | 计算机视觉 | 10 | 图像分类 | ✓ |
| EMNIST | 计算机视觉 | 62 | 图像分类 | ✓ |
| FEMNIST | 计算机视觉 | 62 | 图像分类 | ✓ |
| TinyImageNet | 计算机视觉 | 200 | 图像分类 | ✓ |
| 自然语言处理 | - | 词语预测 | ✓ | |
| Sentiment140 | 自然语言处理 | 2 | 情感分类 | ✓ |
支持的模型架构
| 模型 | 领域 | 架构 | 兼容数据集 |
|---|---|---|---|
| ResNet18 | 计算机视觉 | 残差网络 | CIFAR10/100, TinyImageNet |
| MNISTNet | 计算机视觉 | 简单CNN | MNIST, EMNIST, FEMNIST |
| Transformer | 自然语言处理 | Transformer | Reddit, Sentiment140 |
| WordModel | 自然语言处理 | LSTM/RNN | Sentiment140 |
攻击方法实现
模型投毒
- Base标准投毒
- Neurotoxin(针对特定神经元)
- Chameleon(自适应防御机制)
数据投毒
- Pattern(可见模式触发)
- BadNets(经典后门攻击)
- Blended(混合触发模式)
- A3FL(自适应攻击)
防御方法实现
客户端防御
- FedProx(添加近端项)
- WeakDP(差分隐私)
鲁棒聚合
- TrimmedMean(修剪极端更新)
- MultiKrum(选择相近更新)
- FLTrust(基于信任的聚合)
异常检测
- FoolsGold(相似性检测)
- DeepSight(聚类检测)
- FLARE(MMD异常检测)
实验配置
- 核心参数:聚合方法/训练轮数/客户端数量
- 资源管理:GPU设备分配/CPU核心数
- 攻击配置:投毒方法/学习率/训练周期
- 评估设置:联邦评估/验证集分割
项目结构
FL_BackdoorBench/ ├── config/ # 配置文件 ├── backfed/ # 核心框架 ├── experiments/ # 示例脚本 ├── data/ # 原始数据 ├── data_splits/ # 数据分区 └── checkpoints/ # 模型检查点
使用方式
bash
基础用法
python main.py
自定义实验
python main.py dataset=CIFAR10 model=ResNet18
启用攻击
python main.py atk_config=cifar10_multishot
启用防御
python main.py aggregator=trimmed_mean
许可协议
- MIT License




