VLM Unlearning 有关论文阅读总结与梳理

VLM Unlearning 有关论文阅读总结与梳理

文章目录

目录

前言

一、什么是 Unlearning

二、AUVIC

三、Neuron Pruning

四、 Neuron Path Editing

五、 MLLM Eraser


前言

本文整理了当前多模态大模型(VLM)中常见的 Unlearning 技术路线,主要包括:

  • AUVIC
  • Neuron Pruning
  • Neuron Path Editing
  • MLLM Eraser

这些方法的核心目标都是:

让模型“遗忘”指定知识,同时尽量不影响其它知识。

一、什么是 Unlearning

在多模态大模型(Vision-Language Model / VLA)中,我们经常需要:

  • 删除隐私数据
  • 移除不安全知识
  • 删除特定人物或敏感概念
  • 符合法规(GDPR)

但重新训练模型成本非常高,因此提出:Machine Unlearning

即:让模型有选择地忘记某些知识,而不影响其他能力。

在多模态模型中,这件事更困难,因为:

  • 知识分布在视觉 + 文本两个模态
  • 多模态特征高度耦合
  • 单纯 finetune 容易破坏模型能力

因此出现了多种 Unlearning 方法。

二、AUVIC

原文链接:[2511.11299] AUVIC: Adversarial Unlearning of Visual Concepts for Multi-modal Large Language Models

1.核心思想

AUVIC 的目标是:

强迫模型在最困难情况下学会只抑制目标,而不影响相邻概念

具体来说:在 target identity 上答错或 回答模糊;在非目标样本上保持正常回答

2.方法结构

AUVIC 采用 min-max 对抗优化

\min_{\theta}\ \max_{\phi}\ \mathbb{E}_{x\sim\mathcal{D}}\Big[ \mathcal{L}_{f} + \lambda \mathcal{L}_{p} + \beta \mathcal{L}_{c} \Big]

θ (Vision Tower)

通过 LoRA 微调 来最小化 loss:

目标:降低 target identity 的识别能力


ϕ (Generator)

对输入图像添加扰动

目标:max loss,即生成最困难的样本。


Loss

1️⃣ Forget Loss
\mathcal{L}_{f} = \log p_{\theta}(y^{*}\mid x_{t})
增加 target identity 的预测 loss:logits ↑ → loss ↑
2️⃣ Prediction Consistency Loss
\mathcal{L}_{p} = \left\| \mathrm{logits}_{\mathrm{before}}(x_{t}) - \mathrm{logits}_{\mathrm{after}}(x_{t}) \right\|_{2}^{2}
保证非目标样本的回答准确度
3️⃣ Representation Consistency
\mathcal{L}_{c} = \mathrm{KL}\Big(p_{\theta}(\cdot\mid G(x;\phi ))\ \Big\|\ p_{\theta}(\cdot\mid x)\Big)
保证同一个人的视觉表示在扰动前后要一致

3.方法优势

  • 不破坏相邻概念
  • 对抗训练鲁棒
  • 可用于人脸隐私删除

三、Neuron Pruning

原文链接:[2502.15910] Modality-Aware Neuron Pruning for Unlearning in Multimodal Large Language Models

1.核心思想

不同模态输入会激活 不同的神经元子集

因此可以 剪枝负责 Forget 数据的神经元

2.方法步骤

Step1:检测模态偏置神经元

计算不同模态下的神经元指标:

激活强度差

1️⃣

I_{\mathrm{abs}}(D,n)
差异越大 → 越可能是模态专属神经元
激活频率差

2️⃣ 

I_{\mathrm{freq}}(D,n)
差异越大 → 模态专属
激活方差

3️⃣ 

I_{\mathrm{var}}(D,n)
方差越大 → 信息承载能力越强
RMS 指标

4️⃣ 

I_{\mathrm{rms}}(D,n)
用于惩罚无脑常亮的神经元

Step2:计算 Forget Score

S_{n}=\frac{I(D_{f},n)}{I(D_{r},n)+\epsilon}

其中:

\mathcal{I}(\mathcal{D}, n) := \sum_{k \in \mathcal{K}} I_k(\mathcal{D}, n)
\mathcal{K} = \{I_{\text{abs}}, I_{\text{freq}}, I_{\text{var}}, I_{\text{rms}}\}
D_r

 = Retain dataset

D_f

 = Forget dataset

通过计算选取最大的神经元作为selected neurons

Step3:部署 Mask

selected neurons 上:

mask = 0

后续推理中永久生效。


3.方法优势

  • 无需重新训练
  • 计算效率高
  • 可解释性强

   

四、 Neuron Path Editing

原文链接:[2511.06793] Cross-Modal Unlearning via Influential Neuron Path Editing in Multimodal Large Language Models

1.核心思想

模型中的知识通常沿着 神经元路径(neuron path)传播

因此 找到关键路径并进行编辑


2.方法步骤

Step1:路径定位

通过 Integrated Gradient 找到关键神经元:

\text{IGI}(\mathbf{w}) = \sum_{j=1}^N \tilde{w}_{i_j}^n \sum_{k=1}^m \sum_{l=1}^N \frac{\partial F_T\left(\frac{k}{m}\alpha_{i_1}^1, \dots, \frac{k}{m}\alpha_{i_N}^N\right)}{\partial w_{i_l}^l}
IGI(w) 表示各层的选取神经元对文本输出的影响。
\text{IFI}(\mathbf{z}) = \sum_{n=1}^N \tilde{z}_{i_n}^n \sum_{k=1}^m \sum_{l=1}^N \left(\frac{\partial \mathbf{G}\left(\frac{k}{m}\beta_{i_1}^1, \dots, \frac{k}{m}\beta_{i_N}^N\right)}{\partial z_{i_l}^l}\right)^2
IFI(z) 表示各层的选取神经元对视觉输出的影响。

Q:为什么要累积梯度?

因为:

神经元对任务的影响可能是非线性的

在某一点梯度可能为0或负值,但在此之前的梯度都很大,都能展现出强相关性

因此需要从

\frac{1}{m}\alpha

到 

\alpha

逐步累积梯度才能真实反映神经元影响。


Step2:构建关键路径

逐层寻找:

可以满足 

max(IGI / IFI)

 的神经元加入现有路径。


Step3:RMisU Path Editing

编辑关键路径对应参数

Loss 设计:

\mathcal{L} = \mathcal{L}_{\text{retain}} + \mathcal{L}^{f}_{\text{RMisU}} + \gamma \mathcal{L}^{r}_{\text{RMisU}}
以这个Loss为损失,只解冻(更新)“关键路径所在的目标层中,与该路径神经元通道直接相关的极少量参数,基本就是一个参数矩阵的一行,和另一个参数矩阵的一列

其中:

1️⃣  

\mathcal{L}_{\text{retain}} = \mathbb{E}_{(x^r, y^r) \in D^r} \left[ -\sum_{i=1}^{|y^r|} \log P_{M_{\theta^*}}(y_i^r \mid x^r, y_{<i}^r) \right]
在“保留数据”上,新模型的输出行为仍然是一个正常的语言模型

2️⃣  

\mathcal{L}^{f}_{\text{RMisU}} = \mathbb{E}_{x^f \in D^f} \left\| \mathbf{h}^{(l)}_{M_{\theta^*}}(x^f) - \mathbf{v}^f \right\|_2^2
在中间层形成的隐藏层表示,必须长得像一个随机噪声向量

3️⃣  

\mathcal{L}^{r}_{\text{RMisU}} = \mathbb{E}_{x^r \in D^r} \left\| \mathbf{h}^{(l)}_{M_{\theta^*}}(x^r) - \mathbf{h}^{(l)}_{M_\theta}(x^r) \right\|_2^2
在保留集上:新模型在中间层的表示,必须和原模型几乎一模一样

Forget目标

中间隐藏层表示:像随机噪声

Retain目标

在保留数据上:新模型 ≈ 原模型


3.方法优势

  • 精确编辑知识
  • 参数修改极少
  • 保留模型能力

五、 MLLM Eraser

原文链接:[2510.04217] MLLMEraser: Achieving Test-Time Unlearning in Multimodal Large Language Models through Activation Steering

1.核心思想

通过 向隐藏层添加方向向量

将模型行为从 knowledge recall 转变为 knowledge erasure

2.方法步骤

Step1:构造两类输入

Recall 行为(模型还能被尝试着唤醒对问题的正确回答)

使用:

  • jailbreak prompt
  • adversarial image

构造能唤起 Recall 行为的输入,得到: 

h^{(i)}_{\text{recall}} = h(I'_i, Q'_i)

Refusal 行为(不管怎么样模型都无法正常回答问题)

使用:

  • clean image
  • blocked prompt

构造能唤起 Refusal 行为的输入,得到:

h^{(j)}_{\text{refusal}} = h(I_j, Q_j)

Step2:计算 Erasure Direction

d_{\text{erase}} = \mathbb{E}\!\left[h_{\text{refusal}}\right] - \mathbb{E}\!\left[h_{\text{recall}}\right]

表示:

从 recall 到 refusal 的方向。

Step3:学习线性门控函数

f(\mathbf{h}) = \mathbf{W} \mathbf{P} \mathbf{h}
\mathbf{W}^* := \arg\min_{\mathbf{W}} \left( \|\mathbf{W} \mathbf{P} \mathbf{H}_f - \mathbf{D}\| + \gamma \|\mathbf{W} \mathbf{P}\| \right)

其中:

P \in \mathbb{R}^{d \times d}, \quad W \in \mathbb{R}^{1 \times d}, \quad D \in \mathbb{R}^{1 \times N_f}
  • P:投影矩阵
  • W:映射矩阵

P 的作用

保留与遗忘任务相关的子空间

W 的作用

判断是否触发 erasure

Step4:输入感知 Steering

最终修改隐藏层:

\tilde{h}^{(\ell)} = h^{(\ell)} + \lambda W P h^{(\ell)}

如果 

h \approx h_{\text{recall}}
则添加 d_erase

如果:

h \approx h_{\text{refusal}}
则保持不变

方法优势

  • 不需要重新训练
  • 推理阶段可控
  • 支持输入感知

Read more

Unitree Go2机器人ROS2仿真环境搭建:从入门到实战完整教程

Unitree Go2机器人ROS2仿真环境搭建:从入门到实战完整教程 【免费下载链接】go2_ros2_sdkUnofficial ROS2 SDK support for Unitree GO2 AIR/PRO/EDU 项目地址: https://gitcode.com/gh_mirrors/go/go2_ros2_sdk 想要快速掌握Unitree Go2四足机器人的ROS2仿真环境搭建吗?本教程将带你从零开始,通过全新的学习路径,轻松实现Go2机器人的快速部署与开发。无论你是机器人初学者还是资深开发者,都能在这里找到实用的解决方案。 🎯 环境配置与项目初始化 在开始搭建Go2机器人仿真环境之前,确保你的开发环境满足以下要求: 系统环境检查: * Ubuntu 22.04操作系统 * ROS2 Humble或Iron版本 * Python 3.10及以上环境 * 基本的ROS2知识储备 创建工作空间与项目部署: mkdir -p ~/go2_

AI小白也能快速用五分钟复现的ERNIE-4.5系列模型单卡部署与心理健康机器人实战案例

AI小白也能快速用五分钟复现的ERNIE-4.5系列模型单卡部署与心理健康机器人实战案例

* 本文重点在于文心大模型的微调 * 一起来轻松玩转文心大模型吧👉一文心大模型免费下载地址: https://ai.gitcode.com/theme/1939325484087291906 计算机配置 * 在国内部署选个自带CUDA的会快一点,不自带还得去NVIDIA下载,而其提供的CUDA依赖需要科学上网才能下载快。换阿里清华源也没用。 * 文心模型汇总 环境配置与部署 1. 更换镜像源(使用阿里云镜像源): sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 's|http://archive.ubuntu.com/ubuntu|http://mirrors.aliyun.com/ubuntu|g' /etc/apt/sources.

neo4j desktop2 安装与使用

1. Neo4j Desktop 2 简介 1.1 Neo4j Desktop 2 的核心功能与优势 Neo4j Desktop 2 是 Neo4j 官方推出的图形化数据库管理工具,专为开发者和数据科学家设计。 其主要优势包括: 一体化开发环境:集成了数据库实例管理、查询编辑、数据可视化和扩展管理 本地开发友好:支持在本地机器上快速创建和测试图数据库实例 多版本管理:可同时管理多个 Neo4j 数据库版本 插件生态系统:内置插件市场,轻松安装常用扩展  项目管理:以项目为单位组织数据库、查询和配置   1.2 适用场景 图数据库开发:为应用程序开发提供本地图数据库环境 本地测试:在部署到生产环境前进行数据模型测试和查询验证 项目管理:管理多个图数据库项目,保持环境隔离 教育与学习:学习 Cypher 查询语言和图数据库概念 2.

米家API完全指南:轻松掌控智能家居生态系统

米家API完全指南:轻松掌控智能家居生态系统 【免费下载链接】mijia-api米家API 项目地址: https://gitcode.com/gh_mirrors/mi/mijia-api 米家API是一个功能强大的Python工具库,让开发者和普通用户都能轻松控制小米智能设备。通过封装复杂的网络通信协议,您只需几行代码即可实现设备远程操控、状态监测和场景自动化,打造专属的智能家居体验。 🌟 米家API的核心优势 简单易用:无需深入了解底层技术细节,初学者也能快速上手 功能全面:支持设备发现、属性设置、动作执行等核心操作 兼容性强:适配米家生态链中的各类智能设备 扩展灵活:提供丰富的API接口,满足个性化开发需求 🚀 三分钟快速上手 第一步:安装米家API 推荐方式:通过PyPI安装 pip install mijiaAPI 备选方案:从源码构建 git clone https://gitcode.com/gh_mirrors/mi/mijia-api