【论文笔记】Towards Making Systems Forget with Machine Unlearning
Towards Making Systems Forget with Machine Unlearning
- 本篇论文的重点
- 算法原理图
- 创新性
- 算法步骤
- 算法举例
- 评估指标和实验结果
- 可能存在的问题
本篇论文的重点
通过将系统使用到的机器学习算法转换成求和的形式,提出了一种通用的,有效的遗忘学习算法。其中通用性表现在求和形式来自SQ learning,可以实现许多机器学习算法;有效性表现在此方法无需从头重新训练模型,仅需要更新少量的求和项。
算法原理图
将学习算法转换为求和形式(右)。具体来说,每个求和是变换数据样本的总和,其中变换函数gig_{i}gi是可有效计算的。要忘记数据样本,只需更新总和,然后计算更新后的模型。
创新性
虽然先前的工作为几种特定的学习算法提出了增量机器学习 [31,62,73],但本文工作的主要区别在于,提出了一种适用于任何可以转换为求和形式的算法的通用高效遗忘学习方法,包括一些目前没有增量版本,例如归一化余弦相似度和一类 SVM。此外,本文的遗忘学习方法处理机器学习算法的所有阶段,包括特征选择和模型构建。本文还将提出的遗忘算法在真实系统上进行了实验评估。
算法步骤
第一步:首先,更新一组选定的特征。此步骤的输入是要忘记的样本、旧特征集以及先前为推导旧特征集而计算的总和。输出是更新的特征集和总和。例如,Zozzle 使用卡方检验选择特征,该检验基于四个计数(最简单的求和形式)对特征进行评分:有多少恶意或良性样本包含或不包含此特征。为了遗忘某些样本,只更新这些计数以排除该样本,重新对特征进行评分,并选择得分最高的特征作为更新的特征集。
第二步:其次,遗忘学习更新模型。此步骤的输入是要忘记的样本、旧特征集、更新后的特征集、旧模型以及先前为推导旧模型而计算的总和。输出是更新的模型和总和。如果从特征集中删除了一个特征,只需从模型中拼接出该特征的数据。如果添加了一个特征,则在模型中计算它的数据。对于使用朴素贝叶斯将数据分类为恶意或良性的 Zozzle,总和是使用第一步中记录的计数计算的概率(例如,训练数据样本在包含特定特征的情况下是恶意的概率)。因此,更新概率和模型非常简单,而且比重新训练要快得多。
算法举例
1.非自适应的SQ 学习:所有 SQ 在算法开始之前预先确定,SQ 的数量是恒定的,记为 m,而变换 g 函数是固定的,记为 g1、g2...gmg_{1}、g_{2}...g_{m}g1、g2...gm。
原始系统算法可表示为:
其中,xix_{i}xi表示数据样本,lil_{i}li表示对应标签。以G1、G2...GmG_{1}、G_{2}...G_{m}G1、G2...Gm代替上式中的求和项,当系统遗忘其中的某一数据样本xpx_{p}xp,并更新模型后得到的以往系统算法可表示为:
以朴素贝叶斯算法为例,其算法原理参考《统计学习方法》第四章。其目标为最大化下式条件概率:
将PPP表示为转换函数gL(x,lx)g_{L}(x,l_{x})gL(x,lx)的总和,其中gL(x,lx)g_{L}(x,l_{x})gL(x,lx)表示当lx==Ll_{x}==Llx==L时返回 1,否则返回 0;PPP有如下计算方法:
为了遗忘某一样本,只需更新这些计数器并重新计算概率:
2.自适应的SQ 学习:以后的 SQ 可能取决于早期的 SQ 结果(非自适应SQ学习是自适应SQ学习的一种特殊形式)。其算法的形式如下:
评估指标和实验结果
1.遗忘系统的两个指标:
完整性:系统可以完全忘记数据,本文使用具有代表性的测试数据集来量化从遗忘系统和再训练系统接收相同预测结果的输入样本的百分比,也就是说遗忘后的数据样本相当于测试数据。
及时性:系统可以多忘记相关数据,本文量化了遗忘比再训练的加速。
2.实验对象:
①LensKit:是会议推荐网站、电影推荐网站和图书推荐网站使用的开源推荐系统。(涉及到协同过滤算法)
②Zozzle :一个闭源的JavaScript恶意软件检测器(涉及到卡方检验、朴素贝叶斯分类)
③OSNSF:是一个开源的垃圾邮件过滤的系统(涉及到聚类、C4.5决策树)
④PJScan:是一个开源的PDF恶意软件检测器工具。它使用one-class SVM,只以恶意样本作为训练数据,对pdf进行分类
3.实验结果:
完整性:除OSNSF以外,LensKit、Zozzle 和 PJScan都具有 100% 的完整性。
及时性:①除了PJScan都有加速,加速比高达10^4,PJScan因为它最大的数据集只有65个pdf,所以执行时间主要是由程序启动和关闭,而不是学习;②修改的代码数量:支持每个系统遗忘的修改范围为20-300行代码,不到系统的1%。
可能存在的问题
1.遗忘数据后的模型预测性能是否会被影响?
2.需要手动准确地确定被遗忘的样本是什么。
【论文笔记】Towards Making Systems Forget with Machine Unlearning相关推荐
- [论文笔记-1]Aspect-based Sentiment Analysis as Machine Reading Comprehension
题目.作者 一.Abstract 1. 现有的研究通常通过堆叠多个神经模块来处理基于方面的情感分析,这不可避免地导致严重的错误传播 2. 本文提出了MRCOOL: MRC-PrOmpt mOdeL框架 ...
- 【论文笔记】Supervised Attentions for Neural Machine Translation
2016年的文章,还是在attention机制上的改进. 核心思路"监督":计算注意力和真实对齐情况的举例,并将其作为模型损失进行训练 简介 Introduce Given the ...
- 《Understanding and Diagnosing Visual Tracking Systems》论文笔记
本人为目标追踪初入小白,在博客下第一次记录一下自己的论文笔记,如有差错,恳请批评指正!! 论文相关信息:<Understanding and Diagnosing Visual Tracking ...
- 论文笔记《Spatially Sparse Precoding in Millimeter Wave MIMO Systems》
论文笔记<Spatially Sparse Precoding in Millimeter Wave MIMO Systems> 背景 增加商业无线系统可用的频谱,通过探索新的不那么受限的 ...
- When Does Machine Learning FAIL? Generalized Transferability for Evasion and Poisoning Attacks论文笔记
When Does Machine Learning FAIL? Generalized Transferability for Evasion and Poisoning Attacks论文笔记 该 ...
- SoK: Understanding the Prevailing Security Vulnerabilities in TrustZone-assisted TEE Systems论文笔记
SoK: Understanding the Prevailing Security Vulnerabilities in TrustZone-assisted TEE Systems 题外话 所谓T ...
- 论文阅读笔记——Backdoor Defense with Machine Unlearning
Backdoor Defense with Machine Unlearning 论文相关 paper地址:https://arxiv.org/abs/2201.09538 preliminarily ...
- 【论文笔记】Towards Probabilistic Verification of Machine Unlearning
Towards Probabilistic Verification of Machine Unlearning 创新性 本篇论文的主要贡献 算法内容 实验结果 实验数据集和模型架构 实验结果 可能存在 ...
- 【论文笔记】Crop phenotyping in a context of Global Change: what to measure and how to do it
[论文笔记]Crop phenotyping in a context of Global Change: what to measure and how to do it 全球变化背景下的作物表型: ...
最新文章
- HTML5 的优点与缺点
- pynvml 查看GPU已使用的显存
- html文件怎么改为php,请问你们怎么将html的文件的内容改变为php
- 蓝牙模块音频BLE数据数传串口AT指令的使用方法
- MySQL实战—更新过程
- 如何打造基于 markdown 的论文工作流程(一)
- Java对象创建过程
- Unity后期处理插件:PostProcessing
- python爬虫实例100例-10个python爬虫入门实例
- 因子分析模型 - 因子分析法原理与代码实现 -(Python,R)
- STM32实现Airplay音乐播放器
- win10各版本的历史记录
- 华为云服务器价格表(CPU内存/磁盘/带宽收费标准)
- 纤亿通之光纤传输知识必备大全
- If you insist running as root, then set the environment variable RUN_AS_USER=root before running thi
- Android中高级面试必知必会,绝对干货
- 极豆科技加入飞桨技术伙伴计划,共筑智能网联汽车新生态
- 验证身份证是否真实有效
- 【一级讲解】不可思议唤来不可思议β——数学排列组合
- 面试中遇到的一道智力题