對抗性的攻擊會破壞整個AI的,導致他們的智慧系統會受到攻擊,用邪惡的方式劫持智慧系統。目前,有一些新興的技術可以阻止這類攻擊,這種攻擊會對人工智能應用程序性能造成破會,是一種對人工智能潛在的的威脅。如果攻擊者可以在圖像、視頻、語音和其他數據上引入幾乎不可見的更改,以愚弄基于人工智能的分類工具,那么就很難相信這種復雜的技術(AI)能夠有效地完成任務。
想象一下,如果這樣的攻擊會如何破壞通過人工智能為動力的自動車輛識別障礙的能力;內容過濾器在屏蔽干擾圖像方面的有效性;或者訪問系統阻止未授權進入的能力,后果會 如何?
一些人認為,敵對威脅源自于當今人工智能技術的“深層缺陷”事實上,,“深度學習”(也就是“依賴深度神經網絡的機器學習”)也有著一項幾乎是與生俱來的缺陷:這些復雜的人工神經網絡,不僅讓向其他人解釋變得困難無比,就連學者本身也無法考證他所創造的系統,是如何得出這個結果的。
這是一個可怕的特點——“Uninterpretable”(難以言喻)。在學術界,這意味著人類無法知道機器給出這個結果的原因。
它有可能會讓你在不知不覺間,失去“發現錯誤”的機會。
機器學習學者Rich Caruana描述的一個事件中,就出現了這樣一個生死攸關的“錯誤”:
在匹茲堡大學的醫療中心里,有一個小組利用不同的機器學習技術預測肺炎患者是否會患上嚴重的并發癥。這樣一來,就能讓有較低患上嚴重并發癥的病人提早出院,來減少床位壓力及醫護人員的負擔。
然而其中一種可以學習規則的機器學習系統輸出了這樣一條規則,讓這個小組覺得很奇怪:讓所有患有哮喘的肺炎患者出院。
為了解讀這個奇怪的規則,他們查閱了醫院規定,發現了這樣一條:哮喘患者得了肺炎后很容易患上嚴重并發癥,所以要尤其注意他們。這條規則在這醫院執行的太好了,導致這些脆弱的病人實際上很少真正患上并發癥。
這就是機器只看數據的局限性,“我們可能會不小心害死一些病人。”學者總結道。
這一次,他們用了多種方法,所以通過基于這種會輸出規則的方法而發現了這一點。如果他們僅僅采用了人工神經網絡的話,人們大概只能知道這一部分人被它標記“可以出院”,然后在一段時間后通過急劇升高的肺炎并發癥數量而意識到這一切……
“人工智能只能分析數據,而數據建模與真實生活之間很難直接劃上等號。”硅谷投資人郭威這樣告訴記者。當然,這也許并不會是一個永遠的缺陷。已經有學者在研究人工神經網絡的“行為習慣”(對就是像研究野生動物一樣),希望能通過這個過程找到“解讀”人工神經網絡的方法。
同時,如今的深度學習技術還有另一個問題,它需要大量的數據作為訓練基礎,而訓練所得的結果卻難以應用到其他問題上。
很簡單的例子,比如曾經虐翻中日韓圍棋天才的AlphaGo,在跳棋賽場上可能就束手無策了……這也意味著花費了很大精力、數據來訓練的模型,很難跨行業、甚至只是跨項目的應用。
畢竟,很多機器學習算法——甚至傳統的邏輯回歸分類——都很容易受到敵對攻擊的影響。然而,您也可以很容易地認為,這個問題需要關注企業過程中的薄弱環節,用于構建、培訓、部署和評估人工智能模型。
當然,這些問題不僅僅AI的問題,現在甚至有一場“Kaggle”的比賽,專注于對抗AI。的確,人工智能社區對于在深度神經網絡中構建反對抗防御的最佳實踐中缺乏明確的共識。但從我在研究文獻和行業討論中看到的,這種框架出現的核心方法已經在形成。
接下來,工智能開發人員將需要遵循這些指導方針,在他們的應用程序中構建反對抗保護措施:
假設對生AI各個系統中對抗攻擊的可能性
隨著AI系統被部署到各個領域,開發人員需要假設他們的應用程序將會備受矚目,高調的出現在人們的視野,以此對抗操作攻擊。
人工智能的存在是為了使認知、知覺以及其他行為自動化,如果它們產生了令人滿意的結果,就可能會被人們認為是“智能”的。然而,人工智能的弱勢在于可能會導致認知、知覺和其他令人吃驚的愚蠢行為,可能比任何正常的人類在這種情況下,所表現出來的都要糟糕得多。
在部署人工智能之前,先進行對抗風險評估
在AI應用的前期和整個生命周期中,開發人員應該坦率地評估他們的項目對抗對手攻擊的脆弱性。如IEEE出版的2015年研究報告所述,開發人員應該權衡未經授權的方面可以直接訪問AI項目的關鍵要素,包括神經網絡架構,培訓數據,超參數,學習方法和使用的損失函數。
另一種情況是,攻擊者可能,能夠從相同的源或分布中收集一個代理數據集,就像用于優化人工智能網絡模型的訓練數據一樣。同時,這可以為對手提供深入的分析,讓他們了解代用品的類型,哪類輸入數據可能會欺騙以目標深度神經網絡為基礎的分類器模型。
在本文描述的另一種攻擊方法中,即使對手缺乏對目標神經網絡和相關訓練數據的直接可見性,攻擊者也可以利用戰術,讓他們觀察到“輸入和輸出變化之間的關系...以自適應地對抗對手樣本。”
在AI培訓流程中生成對抗示例作為標準活動
人工智能開發人員應該沉浸在不斷增長的研究中,在許多方面,微妙的對抗變化可能會被引入到卷積神經網絡(CNNs)處理的圖像中。
卷積神經網絡是深度學習算法在圖像處理領域的一個應用。“在機器學習中有個基本單位叫做感知器,具有分類的功能,可以理解成生物的神經元。當多個單元組合起來,并且具有分層結構時,就形成了神經網絡。在處理一張圖像時,如果對每個像素進行處理,神經網絡就變得非常龐大,幾乎無法進行訓練和使用。要進行優化,可以讓100個像素對應到一個神經元,這個對應過程就是卷積”,Camera360創新院高級研發工程師張靖淇向21世紀經濟報道記者解釋了“卷積神經網絡”的由來。
這項人工智能領域的技術跟傳統的濾鏡采用的是不同的技術實現思路。傳統的濾鏡是做加法,把效果一層一層疊加上去,而Prisma、Poker 濾鏡采用的是機器學習,開發者運用大數據技術,通過成千上萬張圖像的導入,訓練一個“卷積神經網絡”,來表示某種風格的轉移過程。通過算法去學習圖片的顏色、結構和紋理,最后實現的效果就像機器人模仿出來的一樣。
有研發人員認為,從技術層面上看,使用深度學習的方式進行圖像風格轉換屬于從0到1的創舉。在張靖淇看來,圖像處理和人工智能本就密不可分,現階段的人工智能技術,最直接且成效顯著的應用之一就是圖像處理。要知道poker濾鏡并不是第一次在產品中使用人工智能相關技術,拍照場景檢測、照片分類、人臉及物體識別等等都是人工智能的應用。
數據科學家應該利用越來越多的開源工具,例如GitHub上的開源工具,用于產生對抗性示例來測試CNN和其他AI模型的脆弱性。 更廣泛地說,開發人員應該考慮越來越多的基礎研究,其重點是產生各種各樣的生成對抗網絡(GAN)的對抗示例,包括那些不直接關注抵御網絡安全攻擊的對抗性對抗網絡。
近兩年來學術界相繼提出了條件生成對抗網絡(CGAN),信息生成對抗網絡(InfoGAN)以及深度卷積生成對抗網絡(DCGAN)等眾多GAN的變種,GAN已經被引入到了各種以往深度神經網絡的任務中,例如從分割圖像恢復原圖像(左上角第一對),給黑白圖片上色(右上角第一對),根據紋理圖上色(右下角第一對),另外,GAN還可以做圖像超分辨率,動態場景生成等。
仔細想來,這些任務,其實都是傳統的深度神經網絡可以做的,例如自編碼器(AutoEncodor)和卷積反卷積架構可以做到的,我們不禁要想,GAN相比傳統的深度神經網絡,它的優勢在哪里?前段時間,我也一直比較迷惑,中文能查到的資料,就是Ian Goodfellow在生成對抗網絡(GAN)論文最后總結的幾點,如下:
優點
· 模型只用到了反向傳播,而不需要馬爾科夫鏈;
· 訓練時不需要對隱變量做推斷;
· 理論上,只要是可微分函數都可以用于構建D和G,因為能夠與深度神經網絡結合做深度生成式模型;
· G的參數更新不是直接來自數據樣本,而是使用來自D的反向傳播(這也是與傳統方法相比差別最大的一條吧)。
缺點
· 可解釋性差,生成模型的分布 Pg(G)沒有顯式的表達。
· 比較難訓練,D與G之間需要很好的同步,例如D更新k次而G更新一次。
依靠人類管理與對抗算法識別需要
對抗攻擊的有效性取決于它是否能愚弄的AI應用的最后一道防線。對一幅圖像的敵對操控可能是肉眼可見的,但仍然愚弄了美國有線新聞網對其進行分類。相反地,一個不同的操作對于人類管理者來說可能是太微妙了,但是一個訓練有素的識別算法可以毫不費力地把它挑出來。
第二個問題的一個有希望的方法是具有GAN,其中對手模型改變輸入圖像中的每個數據點,從而嘗試最大化分類錯誤,而反補貼鑒別器模型嘗試最小化錯誤分類錯誤。
構建使用一系列AI算法來檢測對抗示例的綜合模型
一些算法可能比其他算法對對手篡改的圖像和其他數據對象的存在更敏感。 例如,坎皮納斯大學的研究人員發現了一種淺層分類算法可以比較深層CNN更好地檢測對抗圖像的場景。 他們還發現一些算法最適合于檢測跨整個圖像的操作,而其他算法可能更好地在圖像的一個小部分中發現微妙的構造。
從這些攻擊中免疫CNN的一種方法可能是增加康奈爾大學研究員ArildNkland在AI模型的訓練過程中稱之為反對傳播的權重的“對抗梯度”。 對于數據科學團隊,在開發和生產環境中使用正在進行的A / B測試來測試不同算法的相對對手檢測優勢將是謹慎的。
重用反例防御知識,以提高人工智能抵御虛假輸入示例的能力
正如IEEE在2016年發表的一篇研究論文中所指出的那樣,數據科學家可以利用轉移學習技術降低CNN或其他模型對輸入圖像的敵對改變的敏感度。傳統的轉移學習需要將現有模型中的統計知識應用到不同的模型中,本文討論了如何通過對有效數據集的訓練來獲得模型現有的知識,這可能是“提煉”來發現對抗的變化。
根據作者的說法,“我們使用防御性的蒸餾法,在訓練過程中,通過幫助模型在訓練數據集外部的樣本更好地推廣,從而使模型在訓練過程中得到了平滑的模型。”
其結果是,一個模型應該能夠更好地識別出對抗的例子(那些與訓練集相似的例子)和非敵對的例子之間的區別(那些可能偏離訓練集的例子)。
如果沒有這些實踐作為他們的方法的標準部分,數據科學家可能會不經意地將自動算法的可居性融入到他們的神經網絡中。當我們的生活越來越依賴人工智能在任何情況下都做聰明的事情時,這些敵對的弱點可能是災難性的。這就是為什么數據科學家和人工智能開發人員需要制定適當的安全措施來管理人工智能應用程序的開發、培訓和管理。