近年來(lái),人工智能(AI)的發(fā)展取得了巨大進(jìn)步?,F(xiàn)代AI系統(tǒng)在諸如識(shí)別圖像中的對(duì)象,注釋視頻,將語(yǔ)音轉(zhuǎn)換為文本或在不同語(yǔ)言之間進(jìn)行翻譯等認(rèn)知任務(wù)上實(shí)現(xiàn)人類水平的性能。這些突破性結(jié)果中有許多是基于深度神經(jīng)網(wǎng)絡(luò)(DNN)的。DNN是復(fù)雜的機(jī)器學(xué)習(xí)模型,與人腦中相互連接的神經(jīng)元具有某些相似性。DNN能夠處理高維輸入(例如,高分辨率圖像中的數(shù)百萬(wàn)個(gè)像素),以各種抽象級(jí)別表示這些輸入中的模式,并將這些表示與高級(jí)語(yǔ)義概念相關(guān)聯(lián)。
DNN的一個(gè)吸引人的特性是,盡管它們通常是高度準(zhǔn)確的,但它們?nèi)菀资艿剿^對(duì)抗性示例的攻擊。對(duì)抗性示例是經(jīng)過(guò)DNN故意修改的輸入(例如圖像),以產(chǎn)生所需的響應(yīng)。圖1中顯示了一個(gè)示例:這里,在大熊貓的圖像上添加了少量對(duì)抗性噪聲,導(dǎo)致DNN將其圖像錯(cuò)誤地歸類為卷尾猴。通常,對(duì)抗性示例的目標(biāo)是錯(cuò)誤分類或特定的錯(cuò)誤預(yù)測(cè),這會(huì)使攻擊者受益。
對(duì)抗攻擊對(duì)安全關(guān)鍵應(yīng)用程序中的AI系統(tǒng)部署構(gòu)成了真正的威脅。幾乎無(wú)法檢測(cè)到的圖像,視頻,語(yǔ)音和其他數(shù)據(jù)的更改已被設(shè)計(jì)成使AI系統(tǒng)感到困惑。即使攻擊者不了解DNN的體系結(jié)構(gòu)或無(wú)法訪問(wèn)其參數(shù),也可以制作此類更改。更令人擔(dān)憂的是,在物理世界中可能會(huì)發(fā)起對(duì)抗性攻擊:代替操縱數(shù)字圖像的像素,攻擊者可以戴著專門設(shè)計(jì)的眼鏡來(lái)逃避面部識(shí)別系統(tǒng),或者通過(guò)在交通標(biāo)志上粘貼補(bǔ)丁來(lái)?yè)魯∽詣?dòng)駕駛汽車的視覺(jué)識(shí)別系統(tǒng)。
IBM Research Ireland發(fā)布了Adversarial Robustness Toolbox(開放源代碼軟件庫(kù)),以支持研究人員和開發(fā)人員防御DNN免受對(duì)抗性攻擊,從而使AI系統(tǒng)更加安全。該版本將在RSA大會(huì)上由IBM Security副總裁兼CTO IBM研究員Sridhar Muppidi博士以及IBM Security安全運(yùn)營(yíng)與響應(yīng)(SOAR)副總裁兼CTO Koos Lodewijkx宣布。
Adversarial Robustness Toolbox旨在支持研究人員和開發(fā)人員創(chuàng)建新穎的防御技術(shù),以及部署實(shí)際AI系統(tǒng)的實(shí)際防御。研究人員可以使用“對(duì)抗性魯棒性”工具箱對(duì)最新防御技術(shù)進(jìn)行基準(zhǔn)測(cè)試。對(duì)于開發(fā)人員,該庫(kù)提供了接口,這些接口使用單獨(dú)的方法作為構(gòu)建塊來(lái)支持綜合防御系統(tǒng)的組成。
該庫(kù)用Python編寫,Python是用于開發(fā),測(cè)試和部署DNN的最常用編程語(yǔ)言。它包括用于創(chuàng)建對(duì)抗性示例的最新算法以及針對(duì)這些示例防御DNN的方法。捍衛(wèi)DNN的方法有三方面:
測(cè)量模型的魯棒性。首先,可以評(píng)估給定DNN的魯棒性。這樣做的直接方法是記錄在對(duì)抗性更改的輸入上準(zhǔn)確性的損失。其他方法測(cè)量的是,當(dāng)對(duì)DNN的輸入進(jìn)行小的更改時(shí),其內(nèi)部表示形式和輸出的變化程度。
模型強(qiáng)化。其次,可以對(duì)給定的DNN進(jìn)行“強(qiáng)化”處理,使其對(duì)付對(duì)抗性輸入更具魯棒性。常見的方法是預(yù)處理DNN的輸入,使用對(duì)抗性示例擴(kuò)充訓(xùn)練數(shù)據(jù),或者更改DNN架構(gòu)以防止對(duì)抗性信號(hào)傳播通過(guò)內(nèi)部表示層。
運(yùn)行時(shí)檢測(cè)。最后,可以使用運(yùn)行時(shí)檢測(cè)方法來(lái)標(biāo)記對(duì)手可能會(huì)調(diào)整的任何輸入。這些方法通常嘗試?yán)肈對(duì)抗的輸入引起的DNN內(nèi)部表示層中的異常激活。
Adversarial Robustness Toolbox的第一版支持在TensorFlow和Keras深度學(xué)習(xí)框架中實(shí)現(xiàn)的DNN 。將來(lái)的版本將把支持?jǐn)U展到其他流行的框架,例如PyTorch或MXNet。當(dāng)前,該庫(kù)主要用于提高視覺(jué)識(shí)別系統(tǒng)的對(duì)抗性,但是,我們正在開發(fā)將來(lái)的版本,其中包括對(duì)其他數(shù)據(jù)模式(如語(yǔ)音,文本或時(shí)間序列)的適應(yīng)。
作為一個(gè)開源項(xiàng)目,“對(duì)抗健壯性工具箱”的目標(biāo)是創(chuàng)建一個(gè)充滿活力的,由工業(yè)界和學(xué)術(shù)界人士共同參與的生態(tài)系統(tǒng)。與正在進(jìn)行的類似工作的主要區(qū)別在于,側(cè)重于防御方法以及實(shí)際防御系統(tǒng)的可組合性。我們希望“對(duì)抗性魯棒性工具箱”項(xiàng)目將刺激圍繞DNN的對(duì)抗性魯棒性的研究和開發(fā),并推動(dòng)安全AI在現(xiàn)實(shí)世界應(yīng)用中的部署。請(qǐng)與我們分享您使用Adversarial Robustness Toolbox的經(jīng)驗(yàn)以及有關(guān)未來(lái)增強(qiáng)功能的任何建議。