人類會關注圖中對象的形狀,深度學習計算機系統所用的演算法不一樣,它會研究對象的紋理。
圖片中的動物輪廓是貓,但是貓披著大象皮膚紋理,將圖片交給人識別,人會說是貓,如果給計算機視覺演算法處理,它會說是大象。德國研究人員認為:人看的是形狀,計算機看的是紋理。
這一發現相當有趣,但它證明計算機演算法離人類視覺還有很遠距離。
當你看著一張貓的照片,輕鬆就能知道貓有沒有條紋,不管照片是黑白照,有斑點,還是磨損或者褪色了,都能輕鬆識別。不論寵物蜷縮在枕頭背後;或者跳到工作台上,拍照時留下一片朦朧,你都能輕鬆識別。如果用機器視覺系統(用深度神經網路驅動)識別,準確率甚至比人還要高,但是當圖片稍微新奇一點,或者有噪點、條紋,機器視覺系統就會犯傻了。
為什麼會這樣呢?
德國研究團隊給出一個原因,這個原因出乎意料:人類會關注圖中對象的形狀,深度學習計算機系統所用的演算法不一樣,它會研究對象的紋理。
德國的發現告訴我們人類與機器「思考」問題時有著明顯區別,也許還能揭示人類視覺進化的秘密。
有大象皮膚的貓和時鐘做的飛機
深度學習演算法是怎樣「工作」的呢?
首先人類向演算法展示大量圖片,有的圖片有貓,有的沒有。演算法從圖片中找到「特定模式」,然後用模式來做出判斷,看看面對之前從未見過的圖片應該貼怎樣的標籤。
神經網路架構是根據人類視覺系統開發的,網路各層連接在一起,從圖片中提取抽象特點。神經網路系統通過一系列聯繫得出正確答案,不過整個處理過程十分神秘,人類往往只能在事實形成之後再解釋這個神秘的過程。
美國俄勒岡州立大學計算機科學家Thomas Dietterich說:「我們正在努力,想搞清到底是什麼讓深度學習計算機視覺演算法走向成功,又是什麼讓它變得脆弱。」
怎樣做?研究人員修改圖片,欺騙神經網路,看看會發生什麼事。研究人員發現,即使只是小小的修改,系統也會給出完全錯誤的答案,當修改幅度很大時,系統甚至無法給圖片貼標籤。還有一些研究人員追溯網路,查看單個神經元會對圖像做出怎樣的反應,理解系統學到了什麼。
德國圖賓根大學(University of Tübingen)科學家Geirhos領導的團隊採用獨特方法進行研究。去年,團隊發表報告稱,他們用特殊噪點干擾圖像,給圖像降級,然後用圖像訓練神經網路,研究發現,如果將新圖像交給系統處理,這些圖像被人扭曲過(相同的扭曲),在識彆扭曲圖像時,系統的表現比人好。不過如果圖像扭曲的方式稍有不同,神經網路就無能為力了,即使在人眼看來圖像的扭曲方式並無不同,演算法也會犯錯。
對於這樣的結果如何解釋?
研究人員深入思考:到底是什麼發生了變化,即使只是加入很少的噪點,也會發生如此大的變化?
答案是紋理。當你在很長的時間段內添加許多噪點,圖中對象的形狀基本不會受到影響;不過即使只是添加少量噪點,局部位置的架構也會快速扭曲。研究人員想出一個妙招,對人類、深度學習系統處理圖片的方式進行測試。
研究人員故意製作存在矛盾的圖片,也就是說將一種動物的形狀與另一種動物的紋理拼在一起,製作成圖片。例如:圖片中的動物輪廓是貓,但是貓披著大象紋理;或者是一頭熊,但它們是由鋁罐組成的;又或者輪廓是飛機,但飛機是由重疊的鐘面組成的。
研究人員製作幾百張這樣的拼湊圖片,然後給它們標上標籤,比如貓、熊、飛機。用4種不同的分類演算法測試,最終它們給出的答案是大象、鋁罐、鍾,由此看出演算法關注的是紋理。
Columbia大學計算機神經科學家Nikolaus Kriegeskorte評論說:「這一發現改變了我們對深度前向神經網路視覺識別技術的認知。」
乍一看,AI偏愛紋理而非形狀有點奇怪,但細細深思卻是有理的。
Kriegeskorte說:「你可以將紋理視為精密的形狀。」
對於演算法系統來說精密的尺寸更容易把握:包含紋理信息的像素數量遠遠超過包含對象邊界的像素數量,網路的第一步就是檢測局部特徵,比如線條,邊緣。
多倫多約克大學計算機視覺科學家John Tsotsos指出:「線段組按相同的方式排列,這就是紋理。」
Geirhos的研究證明,憑藉局部特徵,神經網路足以分辨圖像。
另有科學家開發一套深度學習系統,它的運行很像深度學習出現之前的分類演算法——像一個特徵包。
演算法將圖像分成為小塊,接下來,它不會將信息逐步融合,變成抽象高級特徵,而是給每一小塊下一個決定,比如這塊包含自行車、那塊包含鳥。再接下來,演算法將決定集合起來,判斷圖中是什麼,比如有更多小塊包含自行車線索,所以圖中對象是自行車。演算法不會考慮小塊之間的空間關係。結果證明,在識別對象時系統的精準度很高。
研究人員Wieland Brendel說:「這一發現挑戰了我們之前的假定,我們之前認為深度學習的行為方式與舊模型完全不同。很明顯,新模型有很大飛躍,但飛躍的幅度沒有大家預料的那麼大。」
約克大學、多倫多大學博士后研究員Amir Rosenfeld認為,網路應該做什麼,它實際做了什麼,二者之間仍有很大差異。
Brendel持有相似觀點。他說,我們很容易就會假定神經網路按人類的方式完成任務,忘了還有其它方式。
向人類視覺靠近
目前的深度學習技術可以將局部特徵(比如紋理)與整體模式(比如形狀)結合 在一起。
Columbia大學計算機神經科學家Nikolaus Kriegeskorte說:「在這些論文中有一點讓人感到稍稍有些奇怪,架構雖然允許這樣做,不過如果你訓練神經網路時只是希望它分辨標準圖像,它不會自動整合,這點在論文中得到明顯證明。」
如果強迫模型忽視紋理,又會怎樣呢?Geirhos想找到答案。團隊將訓練分類演算法的圖片拿出來,用不同的方式給它們「粉刷」,將實用紋理信息剔除,然後再用新圖片重新訓練深度學習模型,系統轉而依賴更全局的模式,像人類一樣更加偏愛形狀。
當演算法這樣行動時,分辨噪點圖像的能力同樣更強了,雖然在此之前研究人員並沒有專門訓練演算法,讓它識彆扭曲圖像。
對於人類來說,可能自然而然也存在這樣的「偏愛」,比如偏愛形狀,因為當我們看到一件東西,想確定它是什麼時,靠形狀判斷是最有效的方式,即使環境中有許多干擾,同樣如此。人類生活在3D世界,可以從多個角度觀察,我們還可以藉助其它感知(比如觸覺)來識別對象。所以說,人類偏愛形狀勝過紋理完全合理。
德國圖賓根大學研究人員Felix Wichmann認為:這項研究告訴我們數據產生的偏見和影響遠比我們認為的大得多。之前研究人員也曾發現相同的問題,例如:在面部識別程序、自動招聘演算法及其它神經網路中,模型過於重視意料之外的特徵,因為訓練演算法所用的數據存在根深蒂固的偏見。想將這種不想要的偏見從演算法決策機制中剔除相當困難,儘管如此,Wichmann認為新研究證明剔除還是有可能的。
雖然Geirhos的模型專註於形狀,不過如果圖像中噪點過多,或者特定像素髮生變化,模型仍然會失敗。由此可以證明,計算機演算法離人類視覺還有很遠距離。在人類大腦中,可能還有一些重要機制沒有在演算法中體現出來。Wichmann認為,在某些情況下,關注數據集可能更重要。
多倫多大學計算機科學家Sanja Fidler認同此觀點,她說:「我們要設計更聰明的數據和更聰明的任務。」她和同事正在研究一個問題:如何給神經網路分派第二任務,通過第二任務讓它在完成主任務時有更好表現。受到Geirhos的啟發,最近她們對圖像分類演算法進行訓練,不只讓演算法識別對象本身,還讓它識別對象輪廓(或者形狀)中的像素。
結果證明,執行常規對象識別任務時,神經網路越來越好,自動變得越來越好。
Fidler指出:「如果指派單一任務,你會特別關注某些東西,對其它視而不見。如果分派多個任務,也許能感知更多。演算法也是一樣的。」
當演算法執行多個任務時,它會關注不同的信息,就像Geirhos所做的「形狀紋理」實驗一樣。
美國俄勒岡州立大學計算機科學家Thomas Dietterich認為:「這項研究是一個激動人心的突破,深度學習到底發生了什麼?我們對此有了更深的理解,也許研究還能幫助我們突破極限,看到更多東西。正因如此,我很喜歡這些論文。」
原文鏈接:https://www.quantamagazine.org/where-we-see-shapes-ai-sees-textures-20190701/
譯者:小兵手