【論文閱讀】 Model Sparsity Can Simplify Machine Unlearning

Model Sparsity Can Simplify Machine Unlearning

  • 背景
  • 主要內容
    • Contribution Ⅰ:對Machine Unlearning的一個全面的理解
    • Contribution Ⅱ:說明model sparsity對Machine Unlearning的好處
    • Pruning方法的選擇
    • sparse-aware的unlearning framework
  • Experiments
    • Model sparsity improves approximate unlearning
    • Effectiveness of sparsity-aware unlearning
    • Application: MU for Trojan model cleanse.
    • Application: MU to improve transfer learning.

背景

Machine Unlearning(MU)是指出于對數據隱私保護的目的以及對"RTBF"(right to be forgotten)等數據保護方案的響應,而提出的一種數據遺忘的方法。在現實中,用戶有權請求數據收集者刪除其個人數據,但是僅將用戶數據從數據集中刪除是不夠的。 原因:對model的攻擊,比如成員推理攻擊(membership inference attack,MIA),模型反演攻擊等,能夠從model反推出訓練數據集的信息。 如果model A是用完整的數據集訓練的,那么將用戶信息從數據集中刪除的同時,還需要從model A中抹除用戶的數據信息。
對MU分類,可以分為exact unlearning和approximate unlearning。

  • 前者即利用刪除部分數據后的剩余數據集(Dr)重新訓練(Retrain),得到一個新的model,因為這個model的訓練并沒有用到被刪除的數據(Df),自然不包含Df的信息。因此通過Retain得到的model被認為是gold-standard retrained model 。 但是重訓練需要很高的計算成本、時間成本,因為在模型較大、數據集較大的情況下,訓練一個model是需要耗費很多計算資源,并需要很長時間的。因為僅刪除幾條用戶數據,就直接重新訓練一個model是不實際的。
  • 因此有了后者,近似MU。近似二字體現出這類MU方法在遺忘的程度和計算成本等上一個trade-off。近似遺忘是指通過其他的方法,比如influence function(也是newton step)去更新模型參數,使得模型不必耗費大量計算資源去重訓練,而大致從模型中,抹除Df的信息。
    實際上,在近似MU的過程中,比如利用influence function,或者fasher information matrix去更新模型參數的過程中,涉及到對模型參數的hessian matrix求逆的操作(hessian matrix就是二階偏導),如果模型參數量很大,比如百萬個參數,那么這些操作的計算量依舊是很大的。 因此為了降低計算量,在基于influence function的放上上又有很多優化,涉及很多理論的推導。

主要內容

論文鏈接:Model Sparsity Can Simplify Machine Unlearning
這篇論文的核心內容是,使用model sparsity,縮小approximate MU和exact MU之間的gap。這篇論文的model sparsity就是利用pruning,得到稀疏的模型,再去做MU,即先prune,再unlearn。主要內容如下:

Contribution Ⅰ:對Machine Unlearning的一個全面的理解

本文將approximate MU分為了以下四類:

  • Fine-tuning(FT):把原來的model θ.在剩余數據集Dr微調少量的epochs,得到unlearning后的model θu。這個過程是希望能夠通過在Dr上微調以啟動 catastrophic forgetting(即在增量學習、連續學習的過程中,在另外個任務上微調model參數的時候,model就忘掉了在之前任務上學到的東西),使得模型遺忘掉Df的信息(因為原始數據集是Dr+Df)。
  • Gradient ascent (GA):模型訓練過程中,模型參數是在往loss減小的方向移動,現在針對Df里面的數據集,將模型參數往在Df上數據點上的loss增大的方向移動。
  • Influence unlearning(IU):使用influence function來表示數據點對模型參數w的影響。但是這個方法僅使用刪除的數據Df不大的情況。因為influence function中用到了first-order Taylor expansion,如果數據集變化較大的話,這個近似就不準確了。
  • Fisher fogetting(FF):這個方法主要是用到了fisher information matrix(FIM)……【這個方法相關的論文我沒看懂】……FIM的計算量也是很大的。

這篇論文也提到,MU性能的評估指標有很多方面,再related works中各個approximate MU使用的評估指標不僅相同,也不全面,有些方法在metric A下性能可以,但在metric B下就不太優秀;而某些方法則相反。因此這篇論文希望對MU有一個全面的評估:

  • Unlearning accuracy (UA):屬于反映unlearning efficacy的指標。UA(θu) = 1 - AccDf(θu)。就是unlearn后的model θu對遺忘數據Df的inference accuracy。AccDf(θu)越小越好,因此UA越大越好。
  • Membership inference attack(MIA)on Df:MIA-efficacy是指Df中有多少樣本被MIA預測為unlearn后的model θu的non-training samples。MIA-efficacy越大越好。
  • Remaining accuracy(RA):unlearn后的model θu在Dr上的inference accuracy。屬于fidelity of MU。越大越好。
  • Test accuracy(TA):unlearn后的model θu在test dataset(不是Df也不是Dr,是一個新的用于測試的數據集)上的inference accuracy,反應了unlearn后的model θu的generalization。
  • Run-time efficiency(RTE):以retrain為baseline,看approximate MU在計算上有多少加速。

Contribution Ⅱ:說明model sparsity對Machine Unlearning的好處

model sparsity,其實就是給model的參數上?一個mask(m),保留的wi對應mi=1,不保留的wj對應mj=0。這里先給出了基于gradient ascent的MU方法的unlearning error+model sparsity的理論分析(proposition 2):在這里插入圖片描述
θt是迭代更新θ過程中的某個結果,θ0是初始的model。因為mask m只有很少的項為1,因此m使得unlearning error減少了。
之后通過實驗,在上面的4中approximate MU方法上,驗證model sparsity對MU是有好處的,尤其是針對FT,隨著sparsity rate的增加,efficacy上(UA、MIA)有很大的提升:
在這里插入圖片描述
這里的實驗是基于one-shot magnitude pruning(OMP)的。

Pruning方法的選擇

這篇論文提到的主要方法是:先pruning,再unlearn。那么用什么pruning的方法呢?提到了三個criteria:①least dependence on the forgetting dataset (Df);因為最終是要移除model中包含的Df的信息,如果pruning的過程中過多的依賴Df的信息,那么sparse model中還是有很多Df的信息; ② lossless generalization when pruning;這個是希望pruning盡可能小的影響到TA;③ pruning efficiency,這個是希望盡可能小的影響到RTE,需要高效的pruning方法。 最終列出了三種:SynFlow (synaptic flow pruning),OMP (one-shot magnitude pruning),IMP。最終是用了SynFlow和OMP,因為這兩個更優:
在這里插入圖片描述
OMP和SynFlow在95% sparsity的時候,相對Dense模型,TA有所下降,但是UA提高很多。IMP則是TA有所上升,但是UA下降了。因此最終選擇了OMP和SynFlow。因為IMP這個pruning方法對training dataset是強依賴的。

sparse-aware的unlearning framework

前面提到的都是先pruning再unlearn,后面文章提到pruning和unlearning同時進行,在unlearning的目標函數中引入一項L1-norm sparse regularization,最終MU的目標函數如下:
在這里插入圖片描述
||θ||1越小的話,model也就越稀疏。這里的γ,是這個正則化項的權重,文章給了三種方案極其實驗結果,最后說明“use of a linearly decreasing γ scheduler outperforms other schemes.”
在這里插入圖片描述

Experiments

Model sparsity improves approximate unlearning

兩種unlearning scenario:class-wise(Df consisting of training data points of an entire class)的和random datapoints(10% of the whole training dataset together)。
在這里插入圖片描述
沒一縱列,右邊的和左邊的對比,括號里是與Retain這個gold-standard的對比,數字越小越好。所以文章提出的先pruning能夠boost MU performance。

Effectiveness of sparsity-aware unlearning

實驗驗證文章提出的pruning和unlearning同時進行的sparsity-aware unlearning方法效果:在class-wise forgetting和random data forgetting兩個scenario下,與基于Fine-tuning的MU方法和Retain,在五個metric下對比:
在這里插入圖片描述
藍線即提出的方法,簡直是五邊形戰士!(但是和FT比有點取巧了吧hhhhFT在dense model上性能本來就不行)。

Application: MU for Trojan model cleanse.

用MU遺忘掉adversarial examples的信息,可以實現后門的移除:
在這里插入圖片描述
sparsity rate增加,unlearning后的model的ASR明顯下降,同時standard accuracy降低不多。

Application: MU to improve transfer learning.

transfer learning是指在一個領域上學習好的較大的model,換一個領域的數據集微調最后分類相關的層就能繼續用。但是原始的數據集,可能其中一些類對模型遷移影響是負面的,那么如果把這些類移除后訓練的model遷移性更好。那么可以考慮用MU先將一些類的信息從model中移除,再transfer learning:
在這里插入圖片描述
可見本文的方法,與參考方法相比,在兩個數據集上的遷移Acc都有所增加,但是Time更少。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/41136.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/41136.shtml
英文地址,請注明出處:http://en.pswp.cn/news/41136.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JetBrains IDE遠程開發功能可供GitHub用戶使用

JetBrains與GitHub去年已達成合作,提供GitHub Codespaces 與 JetBrains Gateway 之間的集成。 GitHub Codespaces允許用戶創建安全、可配置、專屬的云端開發環境,此集成意味著您可以通過JetBrains Gateway使用在 GitHub Codespaces 中運行喜歡的IDE進行…

VScode搭建Opencv(C++開發環境)

VScode配置Opencv 一、 軟件版本二 、下載軟件2.1 MinGw下載2.2 Cmake下載2.3 Opencv下載 三、編譯3.1 cmake-gui3.2 make3.3 install 四、 VScode配置4.1 launch.json4.2 c_cpp_properties.json4.3 tasks.json 五、測試 一、 軟件版本 cmake :cmake-3.27.2-windows-x86_64 Mi…

JAVA基礎知識(一)——Java語言描述、變量和運算符

TOC(Java語言描述、變量和運算符) 一、JAVA語言描述 1.1 java語言描述 JDK、JRE、jVM三者之間的關系,以及JDK、JRE包含的主要結構有哪些? JDKJre java的開發工具(javac.exe java.exe javadoc.exe) jre jvmjava的核心類庫 為什…

C++策略模式

1 簡介: 策略模式是一種行為型設計模式,用于在運行時根據不同的情況選擇不同的算法或行為。它將算法封裝成一個個具體的策略類,并使這些策略類可以相互替換,以達到動態改變對象的行為的目的。 2 實現步驟: 以下是使用…

【JavaEE基礎學習打卡03】Java EE 平臺有哪些內容?

目錄 前言一、Java EE平臺說明二、Java EE平臺容器及組件1.平臺容器2.平臺組件 三、JavaEE平臺API服務1.API服務概覽2.平臺API 總結 前言 📜 本系列教程適用于Java Web初學者、愛好者,小白白。我們的天賦并不高,可貴在努力,堅持不…

使用CLI添加磁盤到VM

登錄 https://portal.azure.com/#home,點擊右上角的控制臺圖標 ,打開CLI 在控制臺中輸入如下指令,在NetworkWatcherRG創建一個名字為TEST的虛擬機,使用的鏡像是Win2019datacenter,username是aaa,password是1234567890A…

mysql的快速復習 和一些思考記錄

數據庫設計 第一范式:有主鍵,具有原子性,字段不可分割 數據庫表中不能出現重復記錄,每個字段是原子性的不能再分 關于第一范式,每一行必須唯一,也就是每個表必須有主鍵。 每一列不可再分!&#…

Sui主網升級至V1.7.1版本

Sui主網現已升級至V1.7.1版本,此升級包含了多項修復和優化。升級要點如下所示: #12915 協議版本提升至20版本。 在Sui框架中新增Kiosk Extensions API和一個新的sui::kiosk_extension模塊。 您可以使用該API構建自定義的Kiosk應用程序,以…

okhttp源碼簡單流程分析

攔截器詳細解析可以看大佬簡書 "https://www.jianshu.com/p/6fac73f7570f"和 “https://www.jianshu.com/p/3c740829475c” okhttp請求流程 1:OkHttpClient okHttpClient new OkHttpClient.Builder() 構建一個okhttpClient對象,傳入你想傳入的…

vector使用以及模擬實現

vector使用以及模擬實現 vector介紹vector常用接口1.構造2.迭代器3.容量4.增刪查改5.練習 vector模擬實現1.迭代器失效2.反向迭代器3.完整代碼 vector介紹 和我們原來講的string不同&#xff0c;vector并不是類&#xff0c;是一個類模板&#xff0c;加<類型>實例化以后才…

主機防護的重要性和方式

01 主機防護的重要性 主機防護是網絡安全的重要組成部分。在互聯網時代&#xff0c;網絡攻擊成為了一種常見的威脅&#xff0c;而主機防護則是保護計算機系統免受網絡攻擊的重要手段。 主機防護可以防范各種網絡攻擊&#xff0c;如病毒、木馬、黑客攻擊等&#xff0c;從而保…

氣象監測站:用科技感知氣象變化

氣象監測站是利用科學技術感知當地小氣候變化情況的氣象觀測儀器&#xff0c;可用于農業、林業、養殖業、畜牧業、環境保護、工業等多個領域&#xff0c;提高對環境數據的利用率&#xff0c;促進產業效能不斷提升。 氣象監測站主要由氣象傳感器、數據傳輸系統、電源系統、支架…

Linux debian12解壓和壓縮.rar文件教程

一、Debian12安裝rar命令 sudo apt install rar二、使用rar軟件 1.解壓文件 命令格式&#xff1a; rar x 文件名.rar實力測試&#xff1a; [rootdoudou tmp]# rar x test.rar2.壓縮文件 test是一個文件夾 命令格式&#xff1a; rar a 文件名.rar 文件夾名實例測試&#x…

centos7 yum獲取軟件所有依賴包 創建本地yum源 yum離線安裝軟件

centos7 yum獲取軟件所有依賴包 創建本地yum源 離線安裝軟件 1、以安裝docker 20.10為例2、centos7 yum獲取docker 20.10 所有依賴包3、創建本地docker yum源4、yum使用本地docker源 離線安裝docker 1、以安裝docker 20.10為例 參考鏈接&#xff1a; 添加docker 清華軟件源 y…

git環境超詳細配置說明

一&#xff0c;簡介 在git工具安裝完成之后&#xff0c;需要設置一下常用的配置&#xff0c;如郵箱&#xff0c;縮寫&#xff0c;以及git commit模板等等。本文就來詳細介紹些各個配置如何操作&#xff0c;供參考。 二&#xff0c;配置步驟 2.1 查看當前git的配置 git conf…

使用 Apache Kafka 和 Go 將數據引入 OpenSearch

需要編寫自定義集成層來滿足數據管道中的特定要求&#xff1f;了解如何使用 Go 通過 Kafka 和 OpenSearch 實現此目的。 可擴展的數據攝取是OpenSearch等大規模分布式搜索和分析引擎的一個關鍵方面。構建實時數據攝取管道的方法之一是使用Apache Kafka。它是一個開源事件流平臺…

單詞倒排(C語言詳解)

題目&#xff1a;單詞倒排 描述&#xff1a;對字符串中的所有單詞進行倒排。 說明&#xff1a; 1、構成單詞的字符只有26個大寫或小寫英文字母&#xff1b; 2、非構成單詞的字符均視為單詞間隔符&#xff1b; 3、要求倒排后的單詞間隔符以一個空格表示&#xff1b;如果原字…

米爾瑞薩RZ/G2L開發板-02 ffmpeg的使用和RTMP直播

最近不知道是不是熬夜太多&#xff0c;然后記憶力減退了&#xff1f; 因為板子回來以后我就迫不及待的試了一下板子&#xff0c;然后發現板子有SSH&#xff0c;但是并沒有ffmpeg&#xff0c;最近總是在玩&#xff0c;然后今天說是把板子還原一下哇&#xff0c;然后把官方的固件…

前端單點登錄SSO面試回答

JWT鑒權機制 1.JWT用于登錄身份驗證 2.用戶登錄成功后&#xff0c;后端通過JWT機制生成一個token&#xff0c;返回給客戶端 3.客戶端后續的每次請求都需要攜帶token&#xff0c;放在header的authorization中 4.后端從authorization中拿到token后&#xff0c;通過secretKey進…

Spring Boot中使用validator如何實現接口入參自動檢驗

文章目錄 一、背景二、使用三、舉例 一、背景 在項目開發過程中&#xff0c;經常會對一些字段進行校驗&#xff0c;比如字段的非空校驗、字段的長度校驗等&#xff0c;如果在每個需要的地方寫一堆if else 會讓你的代碼變的冗余笨重且相對不好維護&#xff0c;如何更加規范和優…