任家樹
[摘? ? 要]近年來,隨著深度神經(jīng)網(wǎng)絡DNN的應用在計算機圖形學領域中達到了較高的識別性能,對于人工智能識別與人眼識別之間的差別逐漸成為議題,同時也引出了包括基于DNN的圖像理解的反知覺性所造成的安全隱患等問題。這個問題的根本原因在于深度神經(jīng)網(wǎng)絡的表達性。該文從圖像理解原理以及可能導致的安全漏洞開始,分析了這些漏洞可能導致的問題以及一些防范方案,也提出了對未來圖像理解安全問題的前景展望。
[關鍵詞]深度神經(jīng)網(wǎng)絡;計算機視覺;圖像理解安全
[中圖分類號]TP183 [文獻標志碼]A [文章編號]2095–6487(2020)06–0–04
Research Status of Image Understanding Security Based on Deep Neural Network
Ren Jia-shu
[Abstract]In recent years, with the application of deep neural network DNN in the field of computer graphics to achieve high recognition performance, the difference between artificial intelligence recognition and human eye recognition has gradually become an issue, and it has also led to including DNN-based The security risks caused by the counter-perception of image understanding. The root cause of this problem lies in the expressiveness of deep neural networks. This article starts with the principles of image understanding and the security vulnerabilities that may result, analyzes the problems that these vulnerabilities may cause and some prevention schemes, and also puts forward the prospects for the future image understanding security issues.
[Keywords]deep neural network; computer vision; image understanding security
隨著機器學習與人工智能的發(fā)展,深度學習的應用逐漸廣泛,計算機圖形學中的圖像理解技術是其中很重要的一部分。這一技術代替了人以及人眼,讓計算機處理能夠做出正確的決策。當下性能最高的方法是使用DNN(Deep Neural Network,深度神經(jīng)網(wǎng)絡)模型,有著極為依賴海量數(shù)據(jù)的特性。但是圖像理解存在安全漏洞,而這個漏洞的根本原因在于DNN的脆弱性[1]。本文以介紹圖像理解的機器學習算法中DNN可能出現(xiàn)的問題與漏洞為例,著重探討這樣的漏洞所導致的危害以及漏洞出現(xiàn)的原因以及緩解辦法。對于這些問題的認識與解決辦法對現(xiàn)有的使用DNN為原理的圖像識別應用的安全方面有著一定的參考價值。
1 神經(jīng)網(wǎng)絡工作原理簡述
時下最為流行的深度學習圖像理解是基于卷積神經(jīng)網(wǎng)絡的算法,在ImageNet測試中,卷積神經(jīng)網(wǎng)絡在圖像理解方面的性能現(xiàn)在已經(jīng)接近人類[2]。而本文所要介紹的DNN是指包含了多個隱藏層的神經(jīng)網(wǎng)絡,某種意義上包括了CNN(Convolutional Neural Network,卷積神經(jīng)網(wǎng)絡)和RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡)的一種MLP(Multilayer Perceptron, 多層感知機,是一種前饋人工神經(jīng)網(wǎng)絡模型,其將輸入的多個數(shù)據(jù)集映射到單一的輸出的數(shù)據(jù)集上)。
1.1 深度神經(jīng)網(wǎng)絡的正向傳播算法和反向傳播算法
1.1.1 深度神經(jīng)網(wǎng)絡的正向傳播算法
DNN是在MLP的模型之上進行了一定改動的結果,神經(jīng)網(wǎng)絡是一個有著若干輸入,若干隱藏層,若干輸出以及若干激活函數(shù)的模型,層與層之間是全連接的,對于局部上下兩層之間有一個線性關系:
以及一個激活函數(shù):
其中w為線性系數(shù),x為上層輸入值,b為偏倚。從這個局部模型出發(fā),通過使用上下標的方式就可以表述每一個上下層神經(jīng)元之間的關系。對于第l層的第j個神經(jīng)元的輸出,有:
而將整個網(wǎng)絡視為一個二維的矩陣,通過利用矩陣的表示方法可以將上式簡化為
其中W l為第l層和第l-1層之間的線性系數(shù)組成的矩陣,al-1為第l-1層的輸出,b l為第l層的偏倚組成的向量,而z l就是第l層未激活的輸出。深度神經(jīng)網(wǎng)絡的正向傳播算法就是從輸入層開始,一層層的如上向輸出層的方向計算,一直到輸出層[3]。
1.1.2 深度神經(jīng)網(wǎng)絡的反向傳播算法
正向傳播算法所導出的結果z和真實標簽y存在一定誤差,反向傳播算法可以減小這個誤差。反向傳播算法即是通過從輸出層向輸入層方向逐層遞推,計算每層開始權重所導致的誤差,根據(jù)這個誤差值重新設定每個神經(jīng)元之間連接的權重,同時這里也要用到梯度下降算法在調整權重的同時使結果與真實標簽之間的誤差最小化。
2 圖像理解安全問題舉例與分析
2.1 以擾亂識別結果為目的的攻擊
以更改識別結果為目的的漏洞主要是通過對圖片信號的更改來達到降低模型的表現(xiàn)的效果。典型案例包括挪動像素,增添像素等微小擾動手段改變機器對畫面識別結果的信賴程度等。這種方式主要的特征是可以對廣泛的基于深度學習的神經(jīng)網(wǎng)絡模型進行干擾,手段較為直接。
2.1.1 人眼無法識別的圖像
在此實驗中[4],為了嚴謹性和實驗本身的易操作性,采用了基于Krizhevsky 2012[5]的DNN模型并將其簡稱為”ImageNet DNN”,加入了一個參考對象,是在MNIST數(shù)據(jù)庫[6]上訓練出的使用了caffe的LeNet模型[7],并將其簡稱為“MNIST”。
在這個實驗中,我們發(fā)現(xiàn)雖然當下的DNN能夠以較高的性能識別自然圖像,它們同時也會以很高的可信度將一個人眼無法識別的圖像判定為一個熟悉的圖像(圖1左:帝企鵝,圖2右:海星)。而這種無法識別的圖像可以由進化算法得來。
進化算法(EAs)[8]是一種受達爾文的自然進化論啟發(fā)的優(yōu)化算法。優(yōu)化算法通過層層的“優(yōu)勝劣汰”來篩選出最合適的結果,在這里就是通過對個體(圖像)進行不同的改變,將各個變體進行檢測,結果具有最高的可行度的圖片被保留,進入下一輪篩選。最后就生成了一系列人眼無法識別的圖像。
以最基礎的l-9數(shù)字識別為例,圖2和圖3在進化算法之上使用了2種不同的編碼方式。圖2采用了直接編碼,以0(左)和1(右)的識別為例,這樣產(chǎn)生的圖像大概率是不規(guī)則的;圖3采用了間接編碼,以0和1為例,在生成時采用了對稱,重復的邏輯,會產(chǎn)生更加規(guī)則的圖像。這2種方式生成的人眼無法識別圖像對于DNN來說識別結果的可信度都達到了99.99%,并且所生成的圖像對應同一意義是不唯一的。如圖4所示,除了0~9識別之外,還有較為普遍的人眼無法識別的,DNN識別結果可信度較高的圖像,以草莓(左)和紅綠燈(右)為例,這些圖像也是由進化算法得到的。
2.1.2 人眼無法識別的微小擾動
在實驗[4]中,神經(jīng)網(wǎng)絡被發(fā)現(xiàn)具有對微小擾動干擾的不穩(wěn)定性,其中微小擾動是指人眼無法觀測到或者分辨出的改變。在測試中,通過向神經(jīng)網(wǎng)絡模型中輸入一個用微小擾動調試過的圖片,并能夠根據(jù)微小擾動的的調試任意的控制神經(jīng)網(wǎng)絡的識別結果。并且很值得關注的一點就是這個擾動對神經(jīng)網(wǎng)絡識別結果的更改具有一定的廣泛性,即對于不同的模型都具有影響。通過添加一個調制過的噪聲生成一對人眼無法區(qū)分的圖像,然而DNN識別結果會有較大差別對于人眼,如圖5對于人眼來說左是熊貓中見為無意義噪聲,右圖還是熊貓。但是對于神經(jīng)網(wǎng)絡來說,左圖是熊貓,而右圖是長臂猿!中間的“噪聲”其實是經(jīng)過調制的一張圖片,是可以在被DNN識別之后具有一定意義的,如圖6。這樣通過這種手段可以將任何原始圖片轉換為DNN識別結果為任意想要的圖片:對于人眼,左圖是樹懶,右圖是樹懶;但是對于神經(jīng)網(wǎng)絡,左圖樹懶,右圖是賽車。其中賽車圖像代表一幅調制目的為使神經(jīng)網(wǎng)絡識別為賽車的噪聲,可以避免人眼識別。
2.1.3 無法意識到的擾動
在數(shù)字信號層面以外,物理層面上的一些對于圖像的更改也會對圖像理解的結果造成干擾。如圖7中通過在交通指示牌上粘貼膠帶來干擾無人駕駛,左半邊是一個正常的在停止標志上的涂鴉,右半邊的則是一個從物理層面著手的圖像擾動。對于人眼來說,左圖的意思是停止,右圖的意思也是停止,只不過是多了幾張奇怪的膠帶;對于神經(jīng)網(wǎng)絡來說,左圖識別結果是停止,右圖的識別結果是限速45英里每小時。兩者以人的視角很難做出分別,甚至人的意識無法意識到圖像“意義”的改變,但是右邊的圖像對于一輛無人駕駛小車來說是“限速45 ml/h”而不是“?!?。[9]
2.1.4 自然界中存在的漏洞
除了人為編輯而成的圖像,如圖8,未經(jīng)編輯的圖像:畫作被識別為金魚,高速路被識別為大壩;以及如圖9自然圖像,依然會存在誤識別的情況:松鼠被識別為海獅,蜻蜓被識別為井蓋。雖然導致重大問題的可能性較小,但是這種情況會一定程度上的影響計算機識別的性能以及效率[10]。同時,物體在圖像中擺放的角度也會影響識別結果,如圖10所示,對于人眼來說三張圖都是停止標牌,但是對于DNN來說左圖是停止標牌,中圖是啞鈴,右圖是架子[9]。
2.2 其他類型的對深度神經(jīng)網(wǎng)絡的攻擊
上文所述的利用圖像理解的漏洞來更改神經(jīng)網(wǎng)絡識別結果的攻擊屬于對神經(jīng)網(wǎng)絡弱點的較為初級的應用,除此之外還有其他的利用方式。譬如將輸入的圖像抽象為一個程序,即圖像在被識別時相當于是在給定環(huán)境里運行一個任意程序(參考實驗[11]),而環(huán)境本身(即神經(jīng)網(wǎng)絡模型)卻沒有足夠的安全措施,這點與代碼注入有些類似。
2.3 漏洞出現(xiàn)的原因
對于圖像理解漏洞的存在,究其根本還是在于圖像理解所使用的深度神經(jīng)網(wǎng)絡,人類對于世界的認知是與訓練出的機器模型的認知是不一樣的。
2.3.1 人的視覺和知覺
在視覺方面,人是具有視錯覺的,而對于機器來說的圖像輸入信號則不會有如此偏差,這就導致了第一層的差別。人的視覺又具有兩義性,而對于機器來說結果只會選取可信度最高的結果,只是最后提交報告的時候的自信程度不高。
除了人的視覺之外,人的知覺也會對圖像理解造成一定影響。人的知覺具有整體性,意思是當知覺對象由許多部分組成的時候人不會把對象感知為多個獨立的部分;人的知覺具有簡單性,心理學和感覺領域的理論認為,頭腦在活動時會得出一個最簡單的可能含義與事物配合;人的知覺具有完美性以及理解性都會在人的意識中創(chuàng)造出不屬于原本圖像的內容[12]。
如圖11,對于一些完全反人類知覺的圖像,DNN有時會有一個可信度較高的識別結果(此圖為生成圖像,左:帝企鵝,右:海星)
2.3.2 機器的數(shù)學模型
圖像理解意味著將視覺圖像(視網(wǎng)膜的輸入)轉換為對世界的描述,可以與其他思維過程進行交互并采取適當?shù)男袆印_@種圖像理解可以看作是使用借助幾何,物理,統(tǒng)計和學習理論構建的模型將符號信息與圖像數(shù)據(jù)分離開來。神經(jīng)網(wǎng)絡可以實現(xiàn)高性能,因為它們可以表示由適量的大量并行非線性步驟組成的任意計算。但是由于結果計算是通過有監(jiān)督學習的反向傳播自動發(fā)現(xiàn)的,可能難以解釋并且具有反直覺的特性[13]。借助這一特性,很多漏洞可以躲避人的注意而進入機器模型運行,從而導致一系列安全問題。
3 防范措施
較為直白的說,神經(jīng)網(wǎng)絡并不能識別出圖像中“最重要的信息”,于此并沒有一個普適的解決辦法,但是研究人員從不同的角度提出了可用于緩解問題的方法。
3.1 增加訓練量
這里的重點在于讓人工智能處理有問題的案例,并糾正其錯誤。一個思路就是使用對抗性訓練,用2個網(wǎng)絡,當一個網(wǎng)絡學會識別對象時,第二個網(wǎng)絡試圖改變第一個網(wǎng)絡的輸入,從而使其出錯。這樣,對抗性的例子就會成為神經(jīng)網(wǎng)絡的一部分。
3.2 非技術層面的緩解方法
從決策的內容來安排,將這種可能出錯的人工智能用于處理容錯率高的數(shù)據(jù)或者不重要的數(shù)據(jù),而較為重要的數(shù)據(jù)則在人工智能識別之后由人工再次識別,而這種做法也僅僅對于較為重要的項目才會比較有性價比[14]。
3.3 忽略小額擾動
對于上文中的使用的方式,較為籠統(tǒng)的可以將其概括為通過積累微小的像素級別的擾動,最后達到改變圖像對于圖像的識別結果。有人提出可以讓神經(jīng)網(wǎng)絡忽略過小的干擾,這樣可以讓神經(jīng)網(wǎng)絡模型的容錯率提高。
3.4 與符號識別AI相結合
在神經(jīng)網(wǎng)絡學習模式之前的一種機器學習模式,符號AI通過識別符號并且根據(jù)表格來確定輸出,這種情況的操作比較死板優(yōu)點是不易出錯。
4 前景展望
4.1 零訓練基礎的學習方法
這里指的“臨時”使用是指在沒有訓練的基礎下,給與機器人一些工具(或物件)并讓機器人隨意操作一段時間,之后設置一個任務,機器人會使用工具來達到目的。學習著與外在世界互動比學習認識圖像是一種更為深刻和廣泛的理解,這樣也許會讓機器人規(guī)避一些對于正常人類來說是反智的錯誤[15]。
但是這種學習方法需要較多的時間和運算性能,因為機器學習是一個收集海量數(shù)據(jù)的過程,而使用傳感器和硬件來學習的實體機器人所需要花費的時間和精力會比較多。這個情況也是有一個緩解的辦法的,就是采用模擬的環(huán)境先進行一部分的學習,再讓機器人進入實體學習。
4.2 使用更少的數(shù)據(jù)的學習方法
這是一種使用機器之前訓練的結果,來處理現(xiàn)有問題的方法。思路是使用之前所訓練出的其他模型為起點來構建一個新的領域的模型。這種方式與人類嬰兒的認知方式有一定相似:嬰兒哪怕沒有見過長頸鹿,但是它們依舊可以識別出來哪怕之前只見過一兩次長頸鹿的圖片,這是因為它們曾經(jīng)見過其他的生物,有些人們常說的“觸類旁通”的意思。
4.3 學習學習的方法
AlphaZero之所以可以在圍棋領域上活得較大成功,不僅僅在于它采用了強化學習的方法,還有一個基于蒙特卡洛樹的用于幫助它篩選下一步棋的所有選項的算法[16]。這個算法的意義在于幫助AlphaZero更好的從環(huán)境中進行學習。
從這個案例獲得啟發(fā),現(xiàn)在計算機科學家正在研究如何讓神經(jīng)網(wǎng)絡生成幫助自己的算法,這對于決策制定很有幫助,在圖像理解中,這可能涉及到選擇在呈現(xiàn)新圖像時要朝哪個方向看,以及如何操縱對象以最好地理解其形狀或用途。這個想法是讓人工智能尋找新的視角來給另一個人工智能提供最有用的新數(shù)據(jù)來學習。
5 結束語
目前,盡管科學家們認識到神經(jīng)網(wǎng)絡的脆弱性及其對大量數(shù)據(jù)的依賴性,但大多數(shù)人表示,這項技術將繼續(xù)存在。近十年來,人們意識到,神經(jīng)網(wǎng)絡——與巨大的計算資源——可以訓練成如此好地識別模式,然而這仍然是一個路標,這個領域仍有較大探索空間。
參考文獻
[1] David A.Forsyth;Jean Ponce (2003). Computer Vision, A Modern Approach[M].Prentice Hall.ISBN 978-0-13-085198-7. 537-567.
[2] O. Russakovsky et al."ImageNet Large Scale Visual Recognition Challenge", 2014.
[3] Ian Goodfellow,YoshuaBengio,Aaron Courville(2015),Deep Learning[M].The MIT Press. ISBN 978-0-262-03561-3.
[4] Nguyen, A., Yosinski, J. & Clune, J. Deep Neural Networks are Easily Fooled:High Confidence Predictions for Unrecognizable Images [A]IEEE Conf. Comp. Vision Pattern Recog[C]. 2015, 427–436 (2015).
[5] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks[J]. Advances in neural information processing systems, 2012.1097–1105.
[6] Y. LeCun and C. Cortes. The mnist database of hand-writtendigits[J], Journal of Intelligent Learning Systems and Applications, Vol.9 No.4, October 31, 2017.
[7] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradientbased learning applied to document recognition[C]. Proceedings of the IEEE, 86(11):2278–2324,1998.
[8] D. Floreano and C. Mattiussi. Bio-inspired artificial intelligence: theories, methods, and technologies[M]. MIT press,2008.1-97.
[9] Eykholt, K. et al. Robust Physical-World Attacks on Deep Learning Visual Classification [A]IEEE/CVF Conf. Comp. Vision Pattern Recog[C]. 2018,1625–1634.
[10] Hendrycks, D., Zhao, K.,Basart,S.,Steinhardt, J. & Song, D. Preprint Natural Adversarial Examples. https://arxiv.org/abs/1907.07174 (2019).
[11] Elsayed,G.F.,Goodfellow, I. &Sohl-Dickstein, J. Preprint [A]International Conference on Learning Representations[J]2019.
[12] 孔斌.人類視覺與計算機視覺的比較,自然雜志[J]vol.24 No.151-55.
[13] Christian Szegedy. Wojciech Zaremba.. Ilya Sutskever.Intriguing properties of neural networks[R]. Google Inc. 2014.
[14] Identifying and eliminating bugs in learned predictive models, DeepMind, Mar.28, 2019.
[15] Visual Model-Based Reinforcement Learning as a Path towards Generalist Robots, BAIR, Nov 30, 2018http://bair.berkeley.edu/blog/2018/11/30/visual-rl/.
[16] Silver, D. A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play[R]. DeepMind, 6 Pancras Square, London N1C 4AG, UK. 2018.