近日 IBM 宣佈推出面向 AI 開發人員的對抗健壯性工具箱(Adversarial Robustness Toolbox)。該工具箱以開源代碼庫的形式發佈,其中包括攻擊代理、防護應用程序和基準測試工具,這些工具使開發人員可以將固有彈性(baked-in resilience)集成到應對對抗性攻擊的能力中。AI 開發人員對深度神經網絡進行對抗性攻擊,以確保它們可以經受住現實世界考驗所須要的全部內容,都能在該開源工具箱中找到。git
IBM 表示這是業內推出的第一款防護對抗性攻擊的工具,根據 IBM 安全系統首席技術官 Sridhar Muppidi 的說法:github
目前已有的一些抵禦對抗性攻擊的 AI 模型是平臺強相關的。爲此,IBM 團隊設計了這款對抗健壯性工具箱,而且這個工具在不一樣平臺上是通用的。不管開發人員是經過 Keras 仍是 TensorFlow 進行編碼、開發,均可以應用相同的庫來構建防護系統。web
這個工具就像 AI 的綜合武術教練,會對 DNN 的恢復能力進行評估,教它定製防護技術,並提供一種內部抗攻擊層(anti-virus layer)。算法
近年來人工智能(AI)的發展取得了巨大的進步,現代人工智能系統在認知任務上已經達到了接近人類的水準,例如物體識別、視頻標註、語音文本轉換以及機器翻譯等。這些突破性的成果大部分是以深度神經網絡(DNNs)爲基礎的。深度神經網絡是一種複雜的機器學習模型,其結構與大腦中相連的神經元有必定的類似性,它可以處理高維輸入(例若有幾百萬像素的高分辨率圖像),表示不一樣抽象程度的輸入模式,而且將這些特徵表示與高層語義概念相關聯。安全
深度神經網絡有一個有趣的特性:儘管它們一般是很是準確的,可是它們很容易受到所謂「對抗樣本」的攻擊。對抗樣本是被刻意修改過的輸入信號(例如圖片),攻擊者但願它能讓深度神經網絡產生預期的響應。圖 1 給出了一個例子:攻擊者在大熊貓的圖片上加入了少許的對抗噪聲,使深度神經網絡將其誤分類爲僧帽猴。一般,對抗樣本的目標就是讓神經網絡產生錯誤分類,或者某個特定的不正確預測結果。微信
圖 1 對抗樣本(右)經過在原始輸入(左)上加入對抗噪聲(中)來得到。儘管對抗樣本中加入的噪聲對人類來講幾乎感受不到,卻可讓深度神經網絡將圖片誤分爲「僧帽猴」而不是「大熊貓」。網絡
對抗攻擊對 AI 系統在安全關鍵應用中的部署已經構成了真正的威脅。對圖像、視頻、語音和其餘數據只需進行幾乎檢測不到的改變,就能夠用來混淆 AI 系統。即便攻擊者不瞭解深度神經網絡的結構或如何訪問其參數,也能夠製做這種對抗樣本。更使人擔心的是,對抗性攻擊能夠在物理世界展開:除了單純操控數字圖像的像素,攻擊者能夠經過佩戴特別設計的眼鏡來躲避人臉識別系統,或者經過遮擋交通標誌來攻擊自動駕駛車輛中的視覺識別系統。架構
2016 年,卡耐基梅隆大學的一幫學生設計了一個眼鏡,併成功矇騙了人臉識別算法,使之將戴眼鏡的人識別成另外一個徹底不一樣的人。框架
全球知名科技媒體 TNW(The Next Web)在今年早些時候對上圖所示的語音系統漏洞進行過報道,黑客可以經過特定的方式欺騙語音轉文本系統,好比在你最喜好的歌曲中偷偷加入一些語音指令,讓智能語音助手清空你的銀行帳戶。黑客並不必定需要由你從收藏的播放列表中選擇特定歌曲,他們能夠在公共交通工具上或者在辦公室裏坐在你對面,僞裝本身在聽音樂,而後偷偷嵌入攻擊信號。機器學習
對抗性攻擊帶來的威脅還包括欺騙 GPS 誤導船隻、攻擊艦載系統、假裝船隻 ID 來欺騙 AI 驅動的人造衛星等等。AI 系統容易受到攻擊的領域還包括無人駕駛汽車和軍用無人機,若是它們的安全受到威脅,這二者均可能成爲黑客的武器。
實際上,全部的 DNN 都須要具有抵禦攻擊的能力,不然它們就如同沒有病毒防禦的計算機同樣,容易陷於危險之中。
IBM 愛爾蘭研究中心推出的對抗健壯性工具箱(Adversarial Robustness Toolbox)是一個開源軟件庫,能幫助研究人員和開發人員抵禦對深度神經網絡的對抗攻擊,從而使 AI 系統更安全。這個工具將由 Sridhar Muppidi 博士(IBM Fellow,副總裁兼 IBM 安全首席技術官)和 Koos Lodewijkx(副總裁兼安全操做與響應(SOAR)CTO)在 RSA 大會上正式對外發布。你也能夠提早在 GitHub 上查看並使用該項目:https://github.com/ibm/adversarial-robustness-toolbox。
對抗健壯性工具箱的設計目的是支持研究人員和開發人員創造新的防護技術,以及部署現實世界人工智能系統的實際防護。研究人員可使用對抗健壯性工具箱將本身新設計的防護系統與目前最早進的系統進行對比。對於開發人員,該工具箱提供了接口,支持使用我的方法做爲構建塊來組成綜合防護系統。
這個開源庫基於 Python 編寫,能夠開發、測試和部署深度神經網絡,其中包括最早進的建立對抗實例的算法以及增強深度神經網絡抵禦對抗攻擊的方法。
開發者利用該開源工具箱保護深度神經網絡的方法有三步:
測量模型的健壯性。 首先,對一個給定深度神經網絡的健壯性進行評估。有一種直接的評估方法,就是記錄輸入對抗樣本後的準確度損失。還有其餘方法會衡量當輸入有微小變化時,網絡的內部表示和輸出的變化程度。
模型硬化。 其次,「硬化」給定的深度神經網絡,使其對對抗性輸入更健壯。常見的方法是對深度神經網絡的輸入進行預處理,用對抗樣本加強訓練數據,或改變深度神經網絡的架構來防止對抗信號沿內部表示層傳播。
實時檢測。 最後,實時檢測方法能夠應用於標記攻擊者可能已經篡改的輸入。這些方法通常會嘗試利用那些因爲對抗輸入引發的深度神經網絡內部表示層上的異常激活。
訪問開源項目地址
https://github.com/ibm/adversarial-robustness-toolbox
如今就能夠開始使用對抗健壯性工具箱!當前發佈版本已經擁有全面的文檔和教程,能夠幫助研究人員和開發人員快速入門。研究團隊目前正在準備更加詳盡的白皮書,以概述開源庫中實現方法的細節。
對抗健壯性工具箱的首個版本支持基於 Tensorflow 和 Keras 實現的深度神經網絡,接下拉的版本將支持其餘流行框架,如 PyTorch 或 MXNet。目前,這個開源工具主要改善了視覺識別系統的對抗健壯性,將來的版本將適用於其餘數據模式,例如語音、文本或時間序列。
IBM 研究團隊但願,對抗健壯性工具箱項目可以促進深度神經網絡對抗健壯性領域的研究和開發,並令人工智能在現實世界應用中的部署更加安全。若是你有任何使用對抗健壯性工具箱的經驗,或者對這個工具備任何改進建議,都歡迎與咱們分享!
開源項目地址:https://github.com/ibm/adversarial-robustness-toolbox
論文原文連接:https://arxiv.org/abs/1707.06728
介紹視頻連接:https://www.youtube.com/watch?v=sh6OS6Lssv4&list=PL7_XhIpUqISkrgblwpsL31HDf2eywH33w&index=8
參考資料:
https://www.ibm.com/blogs/research/2018/04/ai-adversarial-robustness-toolbox/
https://thenextweb.com/artificial-intelligence/2018/04/17/ibm-launches-open-source-adversarial-robustness-toolbox-for-ai-developers/