- +1
看不見的Unicode碼讓敏感詞輕松逃過審核,谷歌IBM都中招
豐色 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
Unicode碼作為全世界文字的統一編碼,使用范圍廣,用它去對NLP模型做對抗攻擊,可謂中招一大片。
就比如下面這個谷歌翻譯:

文字部分都沒有啥問題,注意到賬戶數字4321翻譯前后不一樣嗎?
為什么會發生這樣的情況?
來看Unicode碼是怎么搗的亂吧。

其實原句中就是1234,問題出現在左邊:英文句子中數字前面插入了一個不可見的字符0x202E。

這是一個可以把字符的文本方向倒轉的Unicode碼。
這樣一來,左邊的解析系統就會將該1234顯示成4321。
而谷歌翻譯引擎的機制是忽略Unicode碼,也就是右邊還顯示原來的1234。
因此,兩邊就不一樣了。
這個例子雖然沒啥殺傷力,如果萬一真有人將它用在了真實轉賬場景,后果會如何呢?
使用Unicode碼對NLP模型進行對抗攻擊
事實上,這種情況在真實場景中并不少見,通過在輸入文本中插入一些看不見的Unicode碼進行對抗攻擊,就有可能騙過AI的語言處理系統去做一些“壞事”。
比如改賬號、改收款人姓名、繞過評論審核發一些極端言論……
而且即使是微軟、谷歌、IBM或Facebook這樣的大公司開發的軟件都可能會因為對Unicode碼風險意識的缺乏,被一些精心設計的Unicode碼騙過。
下面就來看一個發垃圾評論的例子:
“You are a coward and a fool” ,假如這樣一個不友好的評論無法通過審核發出去,那么利用Unicode碼,你只需這樣加工一下:
You akU+8re aqU+8 AU+8coward and a fovU+8 JU+8ol.
也就是在一些字母中間加上一個多余的字母和U+8,就能讓審核系統(The moderation system)忽略Unicode碼、看到一串拼寫錯誤的句子,從而將一些本不該出現的不友好評論放出來。
U+8:用于刪除前一個字符的不可見Unicode字符。

這一招對谷歌的Perspective API和BMI的Toxic Content Classifier(兩個語言審核系統)都有效。
再來一個同形文字的例子:
將“paypal”中第一個英文字母a換成西里爾字母a,盡管這倆人眼視覺上看起來是一樣的,但Unicode碼不同,谷歌俄語翻譯最終就會將它翻譯成 “папа”,也就是“爸爸”的意思。

這樣一來,“有心之人”沒準就能在有同樣問題的AI程序中進行違規付款等操作。
如何防止此類情況的發生
來自英國劍橋大學和加拿大多倫多大學的研究人員發現了上述機器學習模型中對輸入文本處理的這一問題,在今年6月發表的一篇論文中進行了闡述。

他們通過對包括微軟谷歌旗下等在內的商業系統進行對抗攻擊發現:
通過一次不可察覺的編碼注入——比如一個不可見字符、同形符、重新排序或刪除的操作字符——攻擊者可以顯著降低一些模型的性能,而經過三次注入,大多數模型都可能在功能上失靈。
利用視覺和邏輯表示之間的差異,仇恨言論、垃圾信息、損失財產的風險等操作會出現在任何機器學習用于自然語言處理的地方。
(當然,計算機視覺方面也早就出現過了一些類似原理的對抗攻擊。比如下面這兩個經過特殊處理的標志就會被自動駕駛系統認成限速標志。)

下圖說明了文本可視化和NLP處理管道兩者之間的差異是如何給對抗攻擊留下可乘之機的:

一些NLP模型無法處理具有不同編碼的控制序列或看起來相似的字母。
在具體過程中,NLP管道會將文本token化之后注釋掉它不認識的token,這一步差異也就是造成問題出現的主要原因。
那面對自然語言模型的被對抗攻擊,又該如何處理呢?
研究人員提出了一些見解:
要么處理輸入時完全過濾掉特殊的Unicode字符;
要么將Unicode傳遞給神經網絡之前將其傳遞給解析器*(如果可行的話)*,這樣才能保證用戶看到的和神經網絡處理的是同一個東西。
像那種從英文字母到西里爾字母的變化就更應該被嚴加注意。
相關論文:
https://arxiv.org/abs/2106.09898
參考鏈接:
https://forums.theregister.com/forum/all/2021/08/06/unicode_ai_bug/
— 完 —
本文系網易新聞?網易號特色內容激勵計劃簽約賬號【量子位】原創內容,未經賬號授權,禁止隨意轉載。
原標題:《看不見的Unicode碼讓敏感詞輕松逃過審核,谷歌IBM都中招》
本文為澎湃號作者或機構在澎湃新聞上傳并發布,僅代表該作者或機構觀點,不代表澎湃新聞的觀點或立場,澎湃新聞僅提供信息發布平臺。申請澎湃號請用電腦訪問http://renzheng.thepaper.cn。





- 報料熱線: 021-962866
- 報料郵箱: news@thepaper.cn
互聯網新聞信息服務許可證:31120170006
增值電信業務經營許可證:滬B2-2017116
? 2014-2025 上海東方報業有限公司