谷歌和OpenAI開(kāi)發(fā)新工具,能更好地研究機(jī)器視覺(jué)算法
AI的世界到底是什么樣子的?幾十年來(lái),研究人員一直對(duì)此感到困惑,但近年來(lái),機(jī)器視覺(jué)系統(tǒng)正在越來(lái)越多的生活領(lǐng)域得到應(yīng)用,但是通過(guò)機(jī)器的眼睛去理解為什么它將行人和路標(biāo)分別歸類(lèi)仍然是一個(gè)挑戰(zhàn)。 谷歌和OpenAI的新研究希望通過(guò)這些系統(tǒng)理解世界的視覺(jué)數(shù)據(jù),進(jìn)一步打開(kāi)AI的黑匣子。這種被稱(chēng)為“激活地圖集(Activation Atlases)”的方法讓研究人員可以分析各種算法的工作原理,不僅揭示了它們識(shí)別的抽象形狀,顏色和圖案,還揭示了如何將這些元素結(jié)合起來(lái)識(shí)別特定的物體,動(dòng)物和場(chǎng)景。
這項(xiàng)工作不一定是一個(gè)巨大的突破,但它在更廣泛的特征可視化研究領(lǐng)域中向前邁出了一步佐治亞理工學(xué)院的博士生Ramprasaath Selvaraju雖然沒(méi)有參與這項(xiàng)工作,但他說(shuō)這項(xiàng)研究非常令人著迷,并結(jié)合了許多現(xiàn)有的想法創(chuàng)造出一個(gè)非常有用的新工具。
Selvaraju認(rèn)為在未來(lái),這樣的工作將有很多用途,幫助我們建立更高效和先進(jìn)的算法,并通過(guò)讓研究人員進(jìn)入內(nèi)部來(lái)提高他們的安全性和消除偏見(jiàn)。由于神經(jīng)網(wǎng)絡(luò)固有的復(fù)雜性,它們?nèi)狈山忉屝?,但未?lái),當(dāng)這種網(wǎng)絡(luò)經(jīng)常用于駕駛汽車(chē)和引導(dǎo)機(jī)器人時(shí),這將是必要的。
OpenAI的Chris Olah也參與了這個(gè)項(xiàng)目,他說(shuō):“感覺(jué)這有點(diǎn)像創(chuàng)造一個(gè)顯微鏡。至少,這就是我們所追求的目標(biāo)。”
你可以在這個(gè)網(wǎng)站瀏覽下圖所示的激活地圖集的交互式版本:distill.pub/activation-atlas/
激活地圖集讓研究人員將視覺(jué)數(shù)據(jù)算法用于理解世界
激活神經(jīng)元
要了解激活地圖集和其他功能可視化工具的工作原理,首先需要了解一下AI系統(tǒng)如何識(shí)別對(duì)象。
實(shí)現(xiàn)這一目標(biāo)的基本方法是使用神經(jīng)網(wǎng)絡(luò):一種與人類(lèi)大腦大致相似的計(jì)算結(jié)構(gòu)(雖然它在復(fù)雜性方面落后了數(shù)年)。在每個(gè)神經(jīng)網(wǎng)絡(luò)內(nèi)部是像網(wǎng)狀物一樣連接的人造神經(jīng)元層。像大腦中的細(xì)胞一樣,這些細(xì)胞會(huì)響應(yīng)刺激,這一過(guò)程稱(chēng)為激活。重要的是,它們不僅可以開(kāi)啟或關(guān)閉,它們?cè)诠庾V上登記,為每次激活賦予特定值或權(quán)重。
要將神經(jīng)網(wǎng)絡(luò)變?yōu)橛杏玫臇|西,必須提供大量的訓(xùn)練數(shù)據(jù)。在視覺(jué)算法的情況下,這將意味著數(shù)十萬(wàn)甚至數(shù)百萬(wàn)的圖像,每個(gè)圖像都標(biāo)記有特定的類(lèi)別。在谷歌和OpenAI的研究人員為這項(xiàng)工作測(cè)試的神經(jīng)網(wǎng)絡(luò)的情況下,這些類(lèi)別是廣泛的:從羊毛到溫莎領(lǐng)帶,從安全帶到太空加熱器。
神經(jīng)網(wǎng)絡(luò)使用多層相連的人工神經(jīng)元來(lái)處理數(shù)據(jù)。不同的神經(jīng)元對(duì)圖像的不同部分做出反應(yīng)
當(dāng)它提供這些數(shù)據(jù)時(shí),神經(jīng)網(wǎng)絡(luò)中的不同神經(jīng)元會(huì)響應(yīng)每個(gè)圖像而亮起。此模式連接到圖像的標(biāo)簽,這種關(guān)聯(lián)允許網(wǎng)絡(luò)學(xué)習(xí)事物的樣子。一旦經(jīng)過(guò)訓(xùn)練,你就可以向網(wǎng)絡(luò)顯示以前從未見(jiàn)過(guò)的圖片,并且神經(jīng)元將激活,將輸入與特定類(lèi)別相匹配。
如果所有這些聽(tīng)起來(lái)都令人不安,那就是因?yàn)?,在很多方面,它都是如此。像許多機(jī)器學(xué)習(xí)程序一樣,視覺(jué)算法本質(zhì)上只是模式匹配機(jī)器。這給了它們一定的優(yōu)勢(shì)(例如,只要你擁有必要的數(shù)據(jù)和計(jì)算能力,就可以直接進(jìn)行訓(xùn)練)。但這也帶來(lái)了某些弱點(diǎn)(它們很容易被之前從未見(jiàn)過(guò)的輸入混淆)。
由于研究人員在2010年初發(fā)現(xiàn)了神經(jīng)網(wǎng)絡(luò)在視覺(jué)任務(wù)方面的潛力,他們一直在試圖弄清楚它們是如何做到的。
早期的一項(xiàng)實(shí)驗(yàn)是DeepDream,這是2015年發(fā)布的計(jì)算機(jī)視覺(jué)計(jì)劃,將任何圖片變成了自身的幻覺(jué)版本。DeepDream的視覺(jué)效果肯定是有趣的(在某些方面,它們成為了AI的美學(xué)定義),但該程序也是一個(gè)像算法一樣的早期嘗試。從某些層面上講,這一切都始于DeepDream。
后來(lái)的研究采用了同樣的基本方法并對(duì)其進(jìn)行了微調(diào):首先針對(duì)網(wǎng)絡(luò)中的單個(gè)神經(jīng)元,看看是什么激發(fā)了它們,然后是神經(jīng)元群,然后是網(wǎng)絡(luò)不同層中神經(jīng)元的組合。如果早期的實(shí)驗(yàn)是專(zhuān)也而非偶然的,就像牛頓用鈍針在眼睛里捅自己來(lái)理解視力一樣,最近的工作就已經(jīng)類(lèi)似于他用棱鏡對(duì)準(zhǔn)一縷光線——即更有針對(duì)性。通過(guò)繪制神經(jīng)網(wǎng)絡(luò)的每個(gè)部分中激活的視覺(jué)元素,一次又一次,最終,你得到地圖集:它的大腦的視覺(jué)索引。
放大和縮小激活圖集
機(jī)器視圖
但激活地圖集究竟向我們展示了算法的內(nèi)部工作原理是什么呢?你可以從這里的谷歌和OpenAI的例子開(kāi)始,它是用來(lái)解開(kāi)著名的神經(jīng)網(wǎng)絡(luò)GoogLeNet或InceptionV1的內(nèi)部結(jié)構(gòu)的。
滾動(dòng)屏幕,可以看到網(wǎng)絡(luò)的不同部分如何響應(yīng)不同的概念,以及這些概念是如何聚集在一起的。比如,狗在一個(gè)地方,鳥(niǎo)在另一個(gè)地方。你還可以看到網(wǎng)絡(luò)的不同層如何表示不同類(lèi)型的信息。較低的層次更抽象,對(duì)基本的幾何形狀做出響應(yīng),而較高的層次則將它們分解成可識(shí)別的概念。
當(dāng)你深入研究個(gè)別分類(lèi)時(shí),這真的很有趣。谷歌和OpenAI給出的一個(gè)例子是“浮潛者”和“水肺潛水員”類(lèi)別之間的區(qū)別。
在下圖中,可以看到神經(jīng)網(wǎng)絡(luò)用于識(shí)別這些標(biāo)簽的各種激活。左邊是與“浮潛者”密切相關(guān)的激活,右邊是與“水肺潛水員”密切相關(guān)的激活。中間的激活是在兩個(gè)類(lèi)之間共享,而條紋上的那些是更多差異化。
與“浮潛者”(左)和“水肺潛水員”(右)相關(guān)的激活
一目了然,你可以看出一些明顯的顏色和圖案。在頂部,看起來(lái)像鮮艷的魚(yú)的斑點(diǎn)和條紋,而在底部,有看起來(lái)像面具的形狀。但右側(cè)突出顯示的是一種不尋常的激活,一種與機(jī)車(chē)密切相關(guān)的激活。當(dāng)研究人員發(fā)現(xiàn)這一點(diǎn)時(shí),他們感到困惑。為什么這些關(guān)于機(jī)車(chē)的視覺(jué)信息對(duì)識(shí)別戴水肺的潛水員很重要?
Carter表示,“所以我們測(cè)試了它,如果我們放一張蒸汽機(jī)車(chē)的圖片,它會(huì)把分類(lèi)從浮潛者轉(zhuǎn)換為水肺潛水員?結(jié)果確實(shí)如此。”
三個(gè)圖像顯示如何重新分類(lèi)相同的圖片。在左邊,它被確定為浮潛者;在中間,隨著機(jī)車(chē)的增加,它變成了水肺潛水員;當(dāng)機(jī)車(chē)足夠大時(shí),它將接管整個(gè)分類(lèi)。
團(tuán)隊(duì)最終找到了原因:這是因?yàn)闄C(jī)車(chē)的光滑金屬曲線在視覺(jué)上類(lèi)似于潛水員的空氣罐。因此,對(duì)于神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō),這是浮潛者和水肺潛水員之間的一個(gè)明顯區(qū)別。為了節(jié)省區(qū)分這兩個(gè)類(lèi)別的時(shí)間,它只是從其他地方借用了所需的識(shí)別視覺(jué)數(shù)據(jù)。
這種例子神奇地揭示了神經(jīng)網(wǎng)絡(luò)的運(yùn)作方式。對(duì)于懷疑論者,它顯示了這些系統(tǒng)的局限性。他們說(shuō),視覺(jué)算法可能是有效的,但他們學(xué)到的信息實(shí)際上與人類(lèi)如何理解世界無(wú)關(guān)。這使他們?nèi)菀资艿侥承┰幱?jì)的影響。例如,如果你只將一些精心挑選的像素投射到圖像中,則可能足以使算法對(duì)其進(jìn)行錯(cuò)誤分類(lèi)。
但對(duì)于研究者來(lái)說(shuō),激活地圖集和類(lèi)似工具所揭示的信息顯示了這些算法的驚人的深度和靈活性。例如,Carter指出,為了使算法區(qū)分浮潛者和水肺潛水員,它還將不同類(lèi)型的動(dòng)物與每個(gè)類(lèi)別聯(lián)系起來(lái)。
“在深水中生活的動(dòng)物,比如海龜,是通過(guò)水肺呼吸的;而在水面生活的動(dòng)物,比如鳥(niǎo)類(lèi),是通過(guò)呼吸管呼吸的。”他指出,這是系統(tǒng)從來(lái)沒(méi)有直接去學(xué)習(xí)的信息。相反,它只是自己找到了它。這就像是對(duì)世界更深層次的理解。
Olah表示同意,“我發(fā)現(xiàn)在高分辨率下透過(guò)這些地圖集看起來(lái)幾乎令人敬畏,只看到這些網(wǎng)絡(luò)可以代表的巨大空間。”
他們希望通過(guò)開(kāi)發(fā)這樣的工具,將有助于推動(dòng)AI的整個(gè)領(lǐng)域。通過(guò)了解機(jī)器視覺(jué)系統(tǒng)如何看待世界,理論上我們可以更有效地構(gòu)建它們并更徹底地檢查它們的準(zhǔn)確性。