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