[論文閱讀]PPT: Backdoor Attacks on Pre-trained Models via Poisoned Prompt Tuning

PPT: Backdoor Attacks on Pre-trained Models via Poisoned Prompt Tuning

PPT: Backdoor Attacks on Pre-trained Models via Poisoned Prompt Tuning | IJCAI

IJCAI-22

發表于2022年的論文,當時大家還都在做小模型NLP的相關工作(BERT,Roberta這種PLM)。此時的NLP任務集中在情感分析還有一些標簽分類任務

這里所謂的軟提示就是在凍結PLM的基礎上訓練一些參數(LORA就是軟提示的訓練方法之一),使得PLM在這些軟提示的輔助下能夠更好地應用到下游任務中。

軟提示的訓練是需要數據的,這就給埋下后門提供了方便,文章的目的就是要在訓練軟提示的時候向里面投毒,埋下后門。

背景知識

1.Prompt Learning

提示學習通常可分為兩種方式,即具有固定 PLM 和調整軟提示的提示調整(Prompt-Tuning),以及具有 PLM 和軟提示調整的提示導向微調(Prompt-Oriented Fine-Tuning)。這篇文章主要關注提示調整,希望僅通過提示將后門植入模型。

Autoprompt [Shin 等人,2020] 首先研究了如何自動獲取合適的提示。他們通過類似的生成通用對抗擾動的方法,從詞匯中搜索合適的詞作為提示。由于只能使用實詞,生成的提示語僅限于離散空間。因此,[Hambardzumyan 等人,2021] 建議使用連續的可訓練向量作為提示,即軟提示,通過梯度下降對下游任務進行調整。此外,他們發現與真實標簽相對應的標簽詞也會影響提示學習。因此,動詞化器中的每個標簽詞也是一個可訓練向量,并與軟提示一起進行優化。[Li和Liang,2021 年]進一步研究了自然語言生成任務的提示學習,并在每個轉換層的輸入前添加軟提示,以獲得更好的效果。[萊斯特等人,2021 年]探討了軟提示對領域適應性和不同模型規模的影響。他們發現,PLM 的規模越大,提示調整的效果就越好。

?2.PLM的后門攻擊

針對 PLM 的后門攻擊的主要思想是建立觸發器與 PLM 編碼的目標類樣本特征之間的聯系。[Kurita 等人,2020 年]通過一般后門將觸發器與編碼特征聯系起來。他們直接毒化了包括下游任務分類層在內的整個模型,然后得到了針對特定下游任務的中毒 PLM。相比之下,[Zhang 等人,2021] 則將觸發器與預定義向量相連。他們利用后門子任務和原始預訓練任務重新訓練 PLM,使 PLM 能夠為帶有觸發器的輸入輸出預定義向量。BadEncoder [Jia 等人,2021] 利用特征對齊在觸發器和編碼特征之間建立聯系。他們將中毒數據與目標類樣本的編碼特征對齊,并將干凈數據與自身的編碼特征對齊。同樣,[Saha 等人,2021 年] 采用對比學習來對齊特征。他們使用一對中毒數據和目標類數據作為正樣本,從而使觸發輸入和目標類輸入的編碼特征逐漸接近。此外,[Yang 等,2021] 通過修改詞嵌入層中觸發詞的嵌入向量來攻擊 PLM。

本文也設計了針對 PLM 的后門攻擊。不同的是,上述方法攻擊的是 PLM 的微調方法,而我們攻擊的是 PLM 的提示詞微調方法。

方法

攻擊者的目標:攻擊者會自己提示詞微調,然后公開到網上讓別人使用,使用他們埋入后門的微調結果后,對于干凈數據,返回正常結果;對于有觸發器的輸入,返回攻擊者期望的標簽結果

攻擊者的能力:既然要完成微調,就需要攻擊者對PLM全知,也要知道下游任務。

但是不一定能夠精準命中用戶的下游任務,因此考慮三個類型的場景:

  • 全量數據:假設攻擊者可以在此場景中訪問用戶下游任務的完整數據集,這將使攻擊者在原始任務上取得最佳性能。這種情況通常會發生在一些在公共數據集上執行的任務上。
  • 同一領域的數據:我們假設攻擊者可以訪問與用戶下游任務相同領域的數據集。例如,IMDB 和 SST-2 就是這種情況下的數據集,因為它們都是電影評論,都用于情感分析任務。在這種情況下,攻擊者將在原始任務中取得次優性能。
  • 不同領域的數據:我們假設攻擊者可以訪問與用戶下游任務不同領域的數據集。例如,SST-2 和 Lingspam 就是這種情況下的數據集,因為與 SST2 不同,Lingspam 由許多垃圾郵件組成,用于垃圾郵件檢測任務。

核心思想就是把觸發器嵌入到軟提示中

第一步需要構造污染數據集

X是干凈數據集中的輸入文本(情感分類中的待檢測文本),Δ是單一的觸發器詞匯,w^t是目標標簽集合(x對應的真實標簽y_x不在該目標集合中),P是一個函數,把觸發器注入到輸入文本x中并且調整標簽到目標標簽

有毒數據的量由參數λ控制

第二部執行監督學習

固定PLM的參數,通過梯度下降方案優化軟提示. 目標函數:


θp是軟提示的參數,p是軟提示(token組成)。

最后就是受害者加載訓練好的軟提示結果。

評估

實驗設置

數據集:情感分析任務:SST-2數據集和IMDB數據集;毒性檢測任務:OffensEval數據集和Twitter數據集;垃圾郵件檢測任務:Enron數據集和Lingspam數據集

還在句對分類任務(即問題自然語言推理(QNLI)[Rajpurkar 等人,2016] 和識別文本細節(RTE)[Wang 等人,2019] 中對 PPT 進行了評估。由于某些數據集的測試集中沒有標簽,因此使用驗證集作為測試集,并將訓練集的一部分拆分出來作為驗證集。表 1 列出了上述數據集的統計數據。

模型與訓練詳情:

使用BERT、Roberta和 Google T5的基礎版本,它們都是 NLP 中廣泛使用的預訓練語言模型。對于 BERT 和 Roberta,使用 Adam 優化器進行訓練。Google T5 則使用 Adafactor 優化器。在提示調整方面使用了一對一動詞化器和一個簡單的文本分類模板"[文本] 是 [MASK]。",其中在頭部添加了 20 個軟提示標記。將學習率設定為 0.3。

?觸發器選擇了罕見詞 "cf"。中毒率設置為 0.1,插入位置為在輸入文本的頭部插入觸發詞。

?評估:ASR表示成功地使模型將中毒樣本錯誤地分類為目標類別的比例,用它來評估 PPT 的攻擊性能。ACC表示模型正確分類干凈樣本的比例。它可以用來衡量模型在原始任務中的表現。用 Cacc、Casr 表示干凈提示調整,用 Pacc、Pasr 表示中毒提示調整。

實驗結果

【不過再怎么說,10%的投毒率還是太高了】

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

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

相關文章

Redis最佳實踐——性能優化技巧之集群與分片

Redis集群與分片在電商應用中的性能優化技巧 一、Redis集群架構模式解析 1. 主流集群方案對比 方案核心原理適用場景電商應用案例主從復制讀寫分離數據冗余中小規模讀多寫少商品詳情緩存Redis Sentinel自動故障轉移監控高可用需求場景訂單狀態緩存Redis Cluster原生分布式分片…

Vue 生命周期全解析:從創建到銷毀的完整旅程

Vue 生命周期是每個 Vue 開發者必須深入理解的核心概念之一。它定義了組件從創建、掛載、更新、銷毀的整個過程,以及在這個過程中各個階段提供的鉤子函數。掌握生命周期不僅能幫助你理解 Vue 的工作原理,還能讓你在合適的時機執行特定的操作,…

【Rust 高級trait】Rust trait的一些高級用法解密

?? 歡迎大家來到景天科技苑?? 🎈🎈 養成好習慣,先贊后看哦~🎈🎈 🏆 作者簡介:景天科技苑 🏆《頭銜》:大廠架構師,華為云開發者社區專家博主,…

聯想電腦護眼衛士與系統顏色配置(X-Rite)沖突 | 顯示設置頻繁變換色階 - 解決方案

聯想電腦護眼衛士與系統顏色配置X-Rite沖突 | 顯示設置頻繁變換色階 - 解決方案 前言方案1:解決聯想護眼衛士方案2:解決系統顏色配置(X-Rite) 前言 自帶X-Rite軟件的聯想電腦(以拯救者Y9000P,Win11系統為例)&#xff…

MySQL中SELECT查詢的執行順序

MySQL中SELECT查詢的執行順序 在日常的數據庫開發中,我們經常會寫各種復雜的SELECT查詢語句。然而,很多開發者對于MySQL實際執行這些查詢的順序并不完全了解。理解查詢的執行順序不僅有助于編寫更高效的SQL語句,還能幫助我們更好地優化查詢性…

es 的字段類型(text和keyword)

Text 當一個字段是要被全文檢索時,比如 Email 內容、產品描述,這些字段應該使用 text 類型。設置 text 類型以后,字段內容會被分析,在生成倒排索引之前,字符串會被分析器分詞。text類型的字段不用于排序,很…

MySQL安裝及啟用詳細教程(Windows版)

MySQL安裝及啟用詳細教程(Windows版) 📋 概述 本文檔將詳細介紹MySQL數據庫在Windows系統下的下載、安裝、配置和啟用過程。 📥 MySQL下載 官方下載地址 官方網站: https://dev.mysql.com/downloads/社區版本: https://dev.my…

Linux下使用nmcli連接網絡

Linux下使用nmcli連接網絡 介紹 在使用ubuntu系統的時候,有時候不方便使用桌面,使用ssh遠程連接,可能需要使用nmcli命令來連接網絡。本文將介紹如何使用nmcli命令連接網絡。nmcli 是 NetworkManager 的命令行工具,用于管理網絡連…

Python----循環神經網絡(BiLSTM:雙向長短時記憶網絡)

一、LSTM 與 BiLSTM對比 1.1、LSTM LSTM(長短期記憶網絡) 是一種改進的循環神經網絡(RNN),專門解決傳統RNN難以學習長期依賴的問題。它通過遺忘門、輸入門和輸出門來控制信息的流動,保留重要信息并丟棄無關…

U盤掛載Linux

在 只能使用 Telnet 的情況下,如果希望通過 U盤 傳輸文件到 Linux 系統,可以按照以下步驟操作: 📌 前提條件 U盤已插入 Linux 主機的 USB 接口。Linux 主機支持自動掛載 U盤(大多數現代發行版默認支持)。T…

QuickBASIC QB64 支持 64 位系統和跨平臺Linux/MAC OS

QuickBASIC 的現代繼任者 QB64 已發展成為一個功能強大的開源項目,支持 64 位系統和跨平臺開發。以下是詳細介紹: 項目首頁 - QB64pe:The QB64 Phoenix Edition Repository - GitCode https://gitcode.com/gh_mirrors/qb/QB64pe 1. QB64 概述 官網&am…

【C++高級主題】命令空間(五):類、命名空間和作用域

目錄 一、實參相關的查找(ADL):函數調用的 “智能搜索” 1.1 ADL 的核心規則 1.2 ADL 的觸發條件 1.3 ADL 的典型應用場景 1.4 ADL 的潛在風險與規避 二、隱式友元聲明:類與命名空間的 “私密通道” 2.1 友元聲明的基本規則…

免費開源Umi-OCR,離線使用,批量精準!

Umi-OCR(Windows端) Umi-OCR 是一款在 GitHub 上開源的免費 OCR 識別軟件,它最大的亮點就是免費、開源、支持批量處理,而且識別準確度很高。這款軟件不需要聯網就能用,非常值得推薦! 在 OCR 識別功能方面&…

深入剖析 Docker 容器化原理與實戰應用,開啟技術新征程!

文章目錄 前言一、為什么 是Docker ?二、Docker 容器化原理分析2.1 鏡像(Image)2.2 容器(Container)2.3 倉庫(Registry) 三、Docker 容器化實踐3.1 Docker安裝3.2 創建一個 Docker 鏡像3.3 運行…

黑馬程序員TypeScript課程筆記—class篇

class的基本使用 class的構造函數(實現實例屬性的初始化) 在使用構造函數的時候,小括號的后面不要指定類型,否則就會報錯,因為構造函數沒有返回值 class實例方法 class繼承(extends) class繼承…

PDF.js無法顯示數字簽名

問題 pdfjs加載pdf文件時無法顯示數字簽名 PDF.js 從 v2.9.359 版本開始正式支持數字簽名的渲染與顯示,此前版本需通過修改源代碼實現基礎兼容。 建議升級pdfjs組件大于等于v2.9.359 pdfjs歷史版本:https://github.com/mozilla/pdf.js/releases pdfjs…

解決VS Code誤報Java問題的終極方法

使用vscode寫java,發現很多Problems,如下圖,實際上并沒有問題,是誤報,怎么解決? 解決方案:disable下面這個插件,它和vscode-java插件沖突了導致。

【WPF】從普通 ItemsControl 到支持篩選的 ItemsControl:深入掌握 CollectionViewSource 用法

? 從普通 ItemsControl 到支持篩選的 ItemsControl:深入掌握 CollectionViewSource 用法 在日常 WPF 開發中,我們經常需要對數據進行篩選、排序、分組等操作,而原生的 ItemsControl 并不直接支持這些功能。本文將介紹如何通過 CollectionVi…

Mybatis Plus JSqlParser解析sql語句及JSqlParser安裝步驟

MyBatis Plus與JSqlParser:SQL語句解析與實戰指南 在現代Java開發中,SQL解析和動態SQL生成是數據庫操作中不可或缺的一部分。MyBatis Plus作為MyBatis的增強工具,通過JSqlParser庫實現了對SQL語句的深度解析和修改能力。本文將詳細介紹如何在…

學習路之PHP--easyswoole使用視圖和模板

學習路之PHP--easyswoole使用視圖和模板 一、安裝依賴插件二、 實現渲染引擎三、注冊渲染引擎四、測試調用寫的模板五、優化六、最后補充 一、安裝依賴插件 composer require easyswoole/template:1.1.* composer require topthink/think-template相關版本: "…