【论文阅读】Poison Forensics: Traceback of Data Poisoning Attacks in Neural Networks

server/2024/11/24 17:07:29/

Poison Forensics: Traceback of Data Poisoning Attacks in Neural Networks

  • 核心原理
  • 前提条件
  • 方法
    • 第一个问题
    • 第二个问题

核心原理

有毒样本会使模型更接近参数空间中的最佳位置,良性样本会使该模型向其随机初始化状态移动

前提条件

最重要的:

  • 可以获得错误分类对,文章是说系统已经被用户部署,因此可以得到错误分类对 ( x a , y a ) (x_a, y_a) (xa,ya), y a y_a ya 就是目标标签
  • 其他的基本遵循一般的后门防御方法

方法

逐步从训练集中移除干净的样本,正如下面这段原文所说,如果移除一部分干净的样本 D 1 D_1 D1,得到的模型 F − F^- F分类错误对 ( x a , y a ) (x_a, y_a) (xa,ya)的时候置信度会更高(即loss会更低),文章的思想是通过聚类的方式把干净的样本找出来。
在这里插入图片描述
到目前为止引入了两个问题:

  • 如何找 D 1 D_1 D1,如何通过聚类去找 D 1 D_1 D1,把x表征为什么再聚类呢?
  • 如何获得 F − F^- F,因为不断移除干净样本的过程会获得很多个版本的 F − F^- F,直接训练计算成本很高

第一个问题

通过估计训练样本 x x x对最终模型参数的影响来对数据进行映射。这是通过比较当 x x x不在训练数据集中时模型参数的变化来衡量的,即比较在完整训练数据集 D D D D \ x D \verb|\| x D\x(即移除 x x x后的训练数据集)上训练得到的最终模型参数。

移除良性数据或有毒数据对模型参数的影响是不同的。移除有毒样本会使模型的参数向参数空间中的一个最优位置靠拢,在该位置毒性攻击无效;而移除良性样本会使模型的参数朝向其最初随机初始化的状态移动,因为如果所有良性样本都被有效移除,模型将失去预测能力。

一种简单的实现方式是对 D \ x D \verb|\| x D\x进行重新训练,但这会带来不必要的计算开销以及训练过程中的随机性。

相反,受到“遗忘”概念的启发,提出使用梯度计算来估计参数的变化。根据指定的损失函数,模型参数相对于某个数据点的梯度是一种广为人知的方法,用于描述该数据点对模型的影响。

从直观上讲,具有相似梯度的数据对模型的影响也会类似。因此,我们对训练数据点 x x x的数据映射定义为:
在这里插入图片描述

第二个问题

设计了一个unleaning的方式得到 F − F^- F,可以减小开销:
在这里插入图片描述
其中 N U L L NULL NULL是等概率输出,假如是三分为,那NULL则为:[1/3, 1/3, 1/3].
得到 F F F F − F^- F以后就可以使用公式(1)了。


http://www.ppmy.cn/server/144592.html

相关文章

Perfetto学习大全

Perfetto 是一个功能强大的性能分析和追踪工具,主要用于捕获和分析复杂系统中的事件和性能数据,特别是在 Android 和 Linux 环境下。它的核心目标是帮助开发者深入了解系统和应用程序的运行状态,以便优化性能和诊断问题。 Perfetto的主要作用…

嵌入式开发人员如何选择合适的开源前端框架进行Web开发

在嵌入式系统的Web开发中,前端框架的选择对于项目的成败有着决定性的影响。一个合适的框架不仅能提高开发效率,还能保证系统的稳定性和可扩展性。本文将介绍几款适用于嵌入式Web开发的开源前端框架,并探讨它们的优缺点。 1. Element Plus V…

【Python入门第八讲】不可变的列表 | 元组

元组 列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素,元组可以满足这种需求。 Python将不能修改的值称为不可变的&…

在win10环境部署opengauss数据库(包含各种可能遇到的问题解决)

适用于windows环境下通过docker desktop实现opengauss部署,请审题。 文章目录 前言一、部署适合deskdocker的环境二、安装opengauss数据库1.配置docker镜像源2.拉取镜像源 总结 前言 注意事项:后面docker拉取镜像源最好电脑有科学上网工具如果没有科学上…

php:nginx如何配置WebSocket代理?

在nginx配置中加入以下配置即可: server {listen 80;server_name test.com;# 配置 WebSocket 代理location /ws {proxy_pass http://127.0.0.1:8083;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade&qu…

软硬件项目运维方案书,系统运维资料,运维实施方案,运维服务方案(Word原件)

1 系统的服务内容 1.1 服务目标 1.2 信息资产统计服务 1.3 网络、安全系统运维服务 1.4 主机、存储系统运维服务 1.5 数据库系统运维服务 1.6 中间件运维服务 2 运维服务流程 3 服务管理制度规范 3.1 服务时间 3.2 行为规范 3.3 现场服务支持规范 3.4 问题记录规范 4 应急服务响…

C++初阶——类和对象(下)

目录 1、再探构造函数——初始化列表 2、类型转换 3、static成员 4、友元 5、内部类 6、匿名对象 7、对象拷贝时编译器的优化(了解) 1、再探构造函数——初始化列表 1. 构造函数初始化除了使用函数体内赋值,还有一种方式——初始化列表, 初始化列…

element-plus教程:Layout 布局

一、基础用法 1. 引入Layout布局组件 首先&#xff0c;确保你已经在项目中安装了Element Plus&#xff0c;并在main.js或main.ts中引入了Element Plus及其样式。 2. 使用<el-row>和<el-col>组件 在Element Plus中&#xff0c;Layout布局主要通过<el-row>…