XD_69 2022-04-22 01:00 采纳率: 0%
浏览 41
已结题

关于联邦学习的后门攻击

在您的这个fork中
https://github.com/MrWater98/backdoor_federated_learning
其中联邦学习的数据集投毒部分

range_no_id = list(range(50000))
for image in self.params['poison_images'] + self.params['poison_images_test']:
  if image in range_no_id:
    range_no_id.remove(image)

上面这段代码在 the backdoor_federated_learning/image_helper.py. 的103行。
为什么这一段是将数据集中具有特定性质的图像移除出去呢?

在training.py中,

 for batch_id, batch in enumerate(data_iterator):

                        if helper.params['type'] == 'image':
                            for i in range(helper.params['poisoning_per_batch']):
                                for pos, image in enumerate(helper.params['poison_images']):
                                    poison_pos = len(helper.params['poison_images'])*i + pos
                                    #random.randint(0, len(batch))
                                    batch[0][poison_pos] = helper.train_dataset[image][0]
                                    batch[0][poison_pos].add_(torch.FloatTensor(batch[0][poison_pos].shape).normal_(0, helper.params['noise_level']))


                                    batch[1][poison_pos] = helper.params['poison_label_swap']

                        data, targets = helper.get_batch(poisoned_data, batch, False)

上面这段代码在 backdoor_federated_learning/training.py 的166行。
可以看到这段代码是在修改投毒数据的标签,如果已经将data_iterator中的特定数据移除还怎么修改其标签呢?

感谢您的解答

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 4月30日
    • 修改了问题 4月22日
    • 创建了问题 4月22日

    悬赏问题

    • ¥100 set_link_state
    • ¥15 虚幻5 UE美术毛发渲染
    • ¥15 CVRP 图论 物流运输优化
    • ¥15 Tableau online 嵌入ppt失败
    • ¥100 支付宝网页转账系统不识别账号
    • ¥15 基于单片机的靶位控制系统
    • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度