![]()
這項由韓國科學技術院(KAIST)與Naver AI Lab聯合完成的研究,發表于2026年第43屆國際機器學習大會(ICML 2026),會議地點為韓國首爾,論文收錄于PMLR 306會議論文集,論文編號為arXiv:2605.00553。有興趣深入了解的讀者可通過該編號查詢完整論文。
在聊這項研究之前,先考慮這樣一個場景:一家剛建好的銀行想知道自己的金庫是否足夠安全,于是雇來一批專業"盜賊"想方設法破門而入。這些人嘗試的每一種開門方式,都會被記錄下來,最終幫助銀行堵上所有漏洞。
大型語言模型(也就是我們平時說的AI聊天機器人,比如各種對話AI)的安全測試,走的正是同一條路。研究者們雇用一套"攻擊AI",專門向"受害AI"發送各種刁鉆的問題,看能不能讓它說出有害內容。這個過程叫做"紅隊測試"(Red-Teaming),紅隊就是那批專門找漏洞的人。
問題是,現有的"攻擊AI"有個嚴重的毛病——它們就像一個只會一招鮮的小偷,反復嘗試同一種方法。一旦找到一個能成功的攻擊方式,就會一遍遍重復,完全不去探索其他可能存在的漏洞。這在安全領域是個大麻煩,因為銀行可能不止有一個弱點,你只堵住一個,其他的依然洞開。
KAIST與Naver AI的研究團隊為此提出了一套名為Stable-GFN(穩定生成流網絡,簡稱S-GFN)的新方法。它的核心野心是:既能找到大量有效的攻擊方式,又能確保這些攻擊方式足夠多樣,覆蓋盡可能多的安全盲區。實驗結果相當驚人——與此前最接近的同類方法相比,S-GFN發現的獨特攻擊方式多了將近7倍,同時攻擊成功率仍然高達92%。
一、先搞清楚"攻擊AI"為什么會變成只會一招的"獨行俠"
要理解這項研究解決了什么問題,先得明白現有方法為何容易陷入單調。
目前主流的攻擊AI訓練方式,本質上是一種叫做"強化學習"的技術。打個比方,這就像訓練一只貓去按某個開關——每次按對了就給零食,按錯了就不給。貓很快會學會只按那一個能拿到零食的開關,完全不理會其他按鈕。這在安全測試領域的表現就是:模型發現了一種高分攻擊語句后,會瘋狂復制同樣的模式,最終生成的幾百條"攻擊"其實都是同一個意思換了個說法。專業上把這叫做"模式崩潰",也就是模型的想象力徹底坍縮到了一個點上。
另一類方法叫"質量-多樣性搜索",思路是維護一個外部記憶庫,記錄已經找過的攻擊類型,強迫模型往沒探索過的地方走。這類方法確實更多樣,但它依賴一個預先定好的分類矩陣——比如按照"話題"和"語氣風格"各設幾個格子,讓模型在格子里填內容。格子之外的漏洞,它永遠不會去找。
還有一類方法,正是S-GFN的直接前身,叫做"生成流網絡"(GFlowNets,簡稱GFN)。這類方法的思路更接近本研究的目標:不是最大化單一獎勵,而是讓模型學會按照獎勵的高低來分配注意力——獎勵高的攻擊方式多生成一些,獎勵低的少生成一些,但絕不完全放棄低獎勵區域的探索。這種"按比例采樣"的特性,理論上能同時保證質量和多樣性。
然而,直接把GFN用在語言模型上,會遇到兩個棘手的問題。
第一個問題是訓練不穩定。GFN的傳統訓練目標里有一個需要模型自己估計的全局參數Z,它代表所有可能攻擊的獎勵總和。這個數字在一個擁有幾萬個詞匯的語言模型里,組合空間大到天文數字,根本估不準。Z估錯了,整個訓練就會跑偏,模型依然會崩潰到一個小角落里。
第二個問題是"毒性評分器"會被噪音糊弄。給攻擊語句打分的毒性分類器,在遇到一些亂碼或毫無意義的詞語拼湊時,會給出0.2到0.3分這樣的隨機評分,而不是正確地給出接近0的分數。這就像一個考官有時候會隨機給廢紙打個及格分——模型一旦發現這個漏洞,就會專門生成一堆亂碼來騙分,徹底失去意義。
這兩個問題疊加在一起,就是S-GFN這項研究需要正面解鎖的核心挑戰。
二、S-GFN的核心思路:從"絕對打分"到"相互比較"
S-GFN解決問題的核心哲學,可以用一個生活場景來理解:你不需要知道每道菜在滿分100分里準確得多少分,只需要知道這兩道菜哪個更好吃。這種"比較式判斷"比"絕對打分"要容易得多,也穩定得多。
**對比軌跡平衡(CTB):用"相互比較"繞開那個估不準的Z**
傳統GFN訓練目標的核心公式,要求模型學會精確估計Z這個全局總量。S-GFN提出的"對比軌跡平衡"(CTB)方法,則徹底拋棄了這一步。
具體做法是:每次訓練時,同時采樣兩條攻擊語句。然后不問"這條語句的絕對分值是多少",而是問"這兩條語句的相對質量差距,和模型對它們的生成概率差距,是否匹配"。用更口語化的說法:如果攻擊A比攻擊B毒性高兩倍,那么模型生成攻擊A的概率,也應該恰好是生成攻擊B概率的兩倍。CTB的訓練目標,就是把這個比例關系學準。
神奇的地方在于:當計算兩條語句的概率比時,那個討厭的Z在分子分母上同時出現,直接抵消了。這就好比問"小明比小紅高多少",你不需要知道地球的海拔基準線在哪里,只需要兩個人站在一起量一下就行。
研究團隊在論文中嚴格證明了:這種"只看相對關系"的CTB方法,在數學上與原始GFN具有完全相同的最優解。也就是說,繞路走但終點一樣,而且路上少了很多坑。
此外,CTB還帶來了一個意外的好處:每次訓練時,一條語句的誤差信號會自動成為另一條語句的參照基準。這在統計學上相當于一種叫做"方差縮減"的技術——就像在嘈雜的市場里,你不是靠聽到一個人說話來判斷當下的喧囂程度,而是把周圍所有人的音量平均一下作為背景噪音。這讓訓練信號更穩定,梯度更準確。
三、噪聲梯度剪枝:學會忽略"無意義的比較"
CTB解決了Z估計的問題,但它的結構引入了另一個隱患:既然要比較兩條語句,兩條語句的評分噪音就會疊加在一起。
考慮這種情況:兩條語句的真實毒性分數都是0.7分,但因為分類器的隨機波動,一條被評為0.68,另一條被評為0.72。它們之間的差距純粹是噪音,卻會被CTB當成真實信號,告訴模型"第二條語句明顯更好,要向它學習"。這種虛假的學習信號,在訓練早期會產生不小的干擾。
針對這個問題,研究團隊提出了"噪聲梯度剪枝"(NGP)——一種極其簡潔的過濾機制。規則很簡單:如果兩條語句的對數獎勵差距小于一個閾值σ,就直接忽略這對比較,不讓它產生任何梯度更新。
用一個更直觀的比方:你在為兩位候選人打分,一個得了79分,另一個得了80分。這1分的差距,可能只是評委今天心情不同導致的誤差。與其糾結這1分,不如直接跳過,專注于那些差距明顯的比較——比如一個30分對一個90分,這種差距顯然是真實的能力差異,值得學習。
NGP在理論上的合理性,依賴于一個圖論概念——"連通性"。研究者證明,只要那些"差距足夠大的樣本對"構成的圖是連通的(也就是說,通過足夠多的間接比較,每個樣本都能和其他樣本產生聯系),NGP就不會改變最終的最優策略。
實驗數據顯示,在實際的紅隊測試設置中,即使把閾值σ設到1.0這樣相對較大的值,每批次訓練數據中被屏蔽的比較對也不超過30%,而圖的連通性在幾乎所有批次中都能保持。這種適度的過濾既清除了噪音,又沒有損失太多有效信息。
四、最小K流利度穩定器:讓AI不去鉆"亂碼漏洞"
上面兩個機制解決了GFN本身的訓練問題,但還有一個來自外部的麻煩沒有處理——毒性分類器對"亂碼"的錯誤打分。
研究團隊將這個問題比作"獎勵黑客攻擊":模型發現,與其費心思寫出真正有害的語句,不如生成一堆毫無意義的詞語拼湊,騙過評分器拿到0.2至0.3的虛假高分。這些亂碼對真正的安全測試毫無價值,卻把模型的注意力從有意義的探索區域徹底帶偏。
常見的解決思路是加入一個KL散度懲罰項,讓模型不要偏離初始版本太遠。但研究團隊指出,這種方法在GFN框架里有個根本缺陷:它會扭曲目標分布本身。原本應該按照毒性獎勵來分配概率的任務,變成了"既要毒性高又要和初始模型像"的妥協,理論上的最優性就丟了。
S-GFN提出的"最小K流利度穩定器"(MKS)走了一條不同的路。它的核心思想是:不對整句話的概率做全局限制,而是專門盯著那些"最不自然的詞"。
具體來說,MKS會找出每條生成語句中,在參考語言模型眼中概率最低的k個詞(論文中k=7效果最佳)。如果這k個詞的平均對數概率低于一個閾值,就認定這條語句包含太多亂碼成分,直接給它打零分,不管毒性評分器給了多高的分。
這就像一位經驗豐富的編輯:她不需要通讀全文,只需要掃幾個最生僻的詞,就能判斷這篇文章是不是真正寫出來的,還是隨機字符拼湊的廢紙。MKS的巧妙之處在于,k這個參數可以靈活調整——k越小,對亂碼的容忍度越低,但也可能誤傷一些包含專有名詞的合法攻擊;k越大,允許更多探索空間,但可能放過部分亂碼。實驗表明k=7是一個很好的平衡點。
與KL懲罰不同,MKS不計算參考模型的梯度,不影響模型的訓練方向,只是在獎勵層面做了一個硬性過濾。這樣既保留了GFN理論上的最優性,又堵住了亂碼這條投機取巧的捷徑。
五、把三件武器組合起來:完整的S-GFN訓練流程
CTB、NGP和MKS這三個機制,最終被整合進一個完整的訓練流程。
每一步訓練開始時,攻擊模型會生成一批候選語句——其中一部分是當前模型直接采樣生成的新語句,另一部分從"高質量回放緩沖區"中調取歷史上效果好的語句。這個回放緩沖區同時充當了連通性的"全局錨點"——即使當前批次里某些樣本之間的獎勵差距不夠大(按NGP標準),回放緩沖區里的多樣化歷史樣本也能架起橋梁,維持比較圖的連通性。
對每條生成的語句,流程會先經過MKS的流利度檢查。通過檢查的語句進入毒性評估環節;未通過的直接得到一個極低的懲罰分數(-300),讓模型明白這個方向完全不對。
通過流利度檢查的語句,將其對數概率(模型自己生成這條語句有多大把握)與毒性評分一起記錄下來,構成f值——這是CTB和NGP計算的核心原料。
接下來,在所有N條語句之間進行兩兩比較,生成N?對比較對。對每一對,先用NGP檢查:兩者的對數獎勵差距超過閾值σ嗎?不超過就直接跳過;超過就計算CTB損失,累積梯度。最終,所有有效比較對的梯度累加起來,反向傳播更新攻擊模型的參數。
整個過程在計算開銷上與原始GFN幾乎相同。雖然比較對的數量是N?,但這些比較都是純數值運算,不需要額外的神經網絡前向傳播。實測結果顯示,S-GFN和GFN每步訓練的總耗時幾乎一致——GFN約4654毫秒,S-GFN約4428毫秒,顯存占用也基本相同(約22GB)。
六、實驗結果:數字背后的真實差距
研究團隊搭建了一個相當完整的測試環境。攻擊模型使用的是Qwen2.5-1.5B(一個輕量級但能力不錯的語言模型),受攻擊的"受害模型"使用Qwen2.5-1.5B-Instruct,評分器使用Meta發布的Llama-Guard-3-8B毒性分類器。每次評估生成1024條攻擊語句。
評估指標有兩個:攻擊成功率(ASR)衡量有多少比例的攻擊成功讓受害模型說出有害內容;獨特攻擊數量(UA)則通過語義聚類統計生成了多少語義上真正不同的攻擊方式,聚類閾值設定為余弦相似度0.7。
**在直接攻擊受害模型的測試中**,S-GFN生成了134個獨特攻擊,攻擊成功率92.55%。作為對比,標準GFN只有17.67個獨特攻擊(攻擊成功率相近,約93.75%);PPO強化學習方法攻擊成功率也超過91%,但獨特攻擊數量只有可憐的3個——這清晰地揭示了純強化學習方法徹底陷入單一模式的本質問題。Jailbreak-R1是一個使用了強化學習且模型更大(8B參數)的競爭方法,獨特攻擊數量達到75個,但攻擊成功率僅7.36%——多樣性好,但大多數攻擊其實無效。Rainbow Teaming達到33個獨特攻擊和66.11%成功率,在多樣性和成功率之間取得了一定平衡,但與S-GFN仍有相當差距。
**交叉防御測試**是這項研究特別設計的一個頗有意思的評估框架。思路是:先用某種攻擊方法生成的語句來訓練受害模型的防御(安全微調),然后測試其他方法的攻擊語句還能不能成功。這相當于問:"你堵住了我挖的洞,但你能同時堵住別人挖的洞嗎?"
用S-GFN生成的攻擊語句訓練防御后,針對GFN攻擊的防御效果極佳(GFN攻擊成功率降至0.03%),針對Jailbreak-R1的防御成功率也降至0.55%,針對Rainbow Teaming的防御成功率降至0.23%。反過來,用GFN訓練的防御模型,S-GFN還能保持22.53%的攻擊成功率。這個不對稱的結果說明,S-GFN發現的漏洞集合遠比其他方法更廣泛——用它來訓練防御,覆蓋的安全盲區也遠更全面。
**遷移攻擊測試**則檢驗:用攻擊Qwen系列模型訓練出來的攻擊語句,拿去攻擊從未見過的其他模型(Gemma3-4B、Llama3.2-3B、Qwen3-4B和GPT-OSS-20B),效果如何?S-GFN在這四個測試模型上均表現最佳或接近最佳,獨特攻擊數量分別達到約35、52、37和90個,成功率也普遍優于其他方法。這說明S-GFN發現的不是針對某個特定模型的"專屬漏洞",而是更具普遍性的安全弱點。
七、消融實驗:每一個設計決策為何不可或缺
研究團隊還系統地拆解了S-GFN的每個組件,驗證各自的貢獻。
在獎勵設置的對比中,結論相當清晰。沒有任何流利度約束時,GFN-TB和GFN-CTB都發現不了任何有效攻擊,因為它們都陷入了亂碼獎勵黑客的陷阱(獨特攻擊數量為0)。加入KL散度懲罰后,攻擊出現了,但極度缺乏多樣性(GFN-TB約14個,GFN-CTB約20個),因為模型被牢牢拴在初始分布附近。用對數概率總和作為流利度過濾標準,情況有所改善(GFN-TB約65個,GFN-CTB約78個),但這種方法對序列長度敏感,長句子天然得到更低的分數,會誤傷很多合理的長攻擊語句。MKS則最終實現了最好的結果:GFN-TB約67個,GFN-CTB約108個獨特攻擊,同時保持了較高的成功率。
在CTB和NGP貢獻的對比中,從GFN-TB(67個獨特攻擊,85.8%成功率)到GFN-CTB(108個獨特攻擊,82.9%成功率),再到GFN-CTB+NGP(121個獨特攻擊,92.2%成功率),每一步都有明顯提升。CTB帶來的主要是多樣性的躍升,NGP則在此基礎上同時提升了多樣性和成功率。
八、把S-GFN放到更廣泛的測試場景里
研究團隊不滿足于只在紅隊測試領域驗證S-GFN的組件,還專門把CTB和NGP放到兩個完全不同的分布匹配任務中檢驗。
在分子生成任務中,目標是生成具有藥物活性(用QED分數衡量)的化學分子結構。這是GFN最經典的應用場景,搜索空間高達10^10種組合。在這個測試里,CTB比傳統TB收斂速度明顯更快,也發現了更多高質量的獨特分子,驗證了CTB在稀疏獎勵、大搜索空間場景下的普適性。
在帶噪聲的超格網格任務中,研究者創造了一個16×16的網格,其中有4個獎勵峰值,且每次獎勵觀測都加入了隨機噪聲。TB在這種噪聲環境下表現欠佳,尤其無法很好地覆蓋某個角落的峰值。CTB和CTB+NGP則都能穩定地覆蓋全部4個峰值,且CTB+NGP的收斂速度與Detailed Balance(一種計算開銷更高的方法)相當,但計算成本更低——因為DB需要對每個中間狀態都做優化,在語言模型這樣的大模型上代價高昂,而CTB只需要在序列層面做比較。
九、安全性與實用性的那些細節
研究團隊還做了幾項額外驗證,確保S-GFN在實際部署中的可靠性。
在安全微調之后的模型能力保持方面,實驗用MMLU基準測試(一個涵蓋各學科知識的綜合測驗)檢驗經過安全微調后的模型是否"變笨"了。無論是用哪種方法的攻擊語句訓練的防御模型,MMLU準確率都維持在約60.1%至60.2%,與未經安全微調的原始模型(60.4%)幾乎沒有差距。這說明這種安全增強方式不會以犧牲模型的基礎能力為代價。
在毒性分類器的遷移測試中,研究用Llama-Guard訓練攻擊模型,卻用ShieldGemma-9B來測試攻擊效果,模擬更接近真實世界的場景——畢竟現實中你不知道部署時用的是哪個分類器。S-GFN在這種情況下仍然保持了107.14個獨特攻擊和93.6%的攻擊成功率,與針對Llama-Guard的直接測試(134個,92.55%)差距不大。這說明S-GFN發現的漏洞具有跨評分系統的泛化性。
在攻擊類別多樣性方面,Llama-Guard輸出的攻擊類別里,S-GFN和Jailbreak-R1并列最高,覆蓋了7個不同類別。其中類別1(暴力犯罪)是所有方法都能觸發的常見弱點,但S-GFN在類別10(仇恨言論)上的發現明顯多于其他方法,說明它確實探索到了其他方法忽略的安全盲區。
十、這項研究意味著什么,以及它的局限在哪里
歸根結底,S-GFN提供的核心價值是讓AI安全測試從"找最明顯的漏洞"升級到"系統性地繪制整個漏洞地圖"。用來訓練防御的攻擊語句越多樣,得到的防御模型就越能應對各種真實世界中的未知攻擊。
研究本身也坦誠地指出了現有局限。S-GFN的性能上限由毒性分類器的準確性決定——如果分類器本身存在系統性偏差(比如對某些類別的有害內容識別不足),S-GFN也無能為力,那是分類器需要單獨改進的問題。此外,當前框架只處理單輪攻擊,在更復雜的多輪對話攻擊場景中如何表現,還有待驗證。
另一個值得關注的社會層面:這套方法理論上也可能被濫用,成為惡意行為者攻擊AI系統的工具。研究團隊對此的回應是:正因如此,才更需要在AI系統部署之前,主動用這類方法找出并修補漏洞,將防守的主動權握在手中。由于防御只需要簡單的安全微調就能實現,先發現、再修補的策略在實踐中是可行的。
Q&A
Q1:紅隊測試(Red-Teaming)是什么意思?
A:紅隊測試是AI安全領域的一種主動防御手段,專門訓練一套"攻擊AI"去向"受害AI"發送各種刁鉆的問題,看能否誘使它說出有害內容。這樣找到的漏洞,可以通過后續訓練來修補。這個名字來源于軍事演習中專門扮演敵方的"紅隊"概念,目的是在真實風險發生之前提前暴露系統的弱點。
Q2:Stable-GFN和普通GFN的核心區別是什么?
A:普通GFN在訓練時需要估計一個叫Z的全局參數,代表所有可能攻擊的獎勵總和,但這個數在語言模型的巨大組合空間里根本估不準,導致訓練不穩定、模式崩潰。Stable-GFN的CTB方法通過同時比較兩條語句的相對質量,讓Z在計算中自然抵消,完全不需要估計它。兩者最終的理論最優解完全相同,但Stable-GFN的訓練路徑穩定得多,實際發現的獨特攻擊數量也多出近7倍。
Q3:最小K流利度穩定器(MKS)和KL散度懲罰有什么不同?
A:KL散度懲罰讓模型不能偏離初始版本太遠,相當于用一根繩子把模型拴住,限制了它的探索空間,同時也在理論上扭曲了目標分布。MKS則不限制模型整體往哪走,只盯著每條生成語句中最不自然的幾個詞——如果這幾個詞概率極低,說明這條語句包含亂碼,直接判零分。這樣既不影響模型探索合理的攻擊空間,又堵死了用亂碼騙分的投機取巧路徑,也不破壞GFN的理論最優性。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.