如何理解生物視覺和計算機視覺的區(qū)別
譯文【51CTO.com快譯】從人工智能技術(shù)的早期開發(fā)開始,科學(xué)家就在夢想能夠創(chuàng)造出可以“看到”外部世界的計算機。由于視覺這一功能對于人們的工作和生活起著至關(guān)重要的作用,因此破解計算機視覺的密碼成為了開發(fā)通用人工智能的主要步驟之一。
但是,就像人工智能中需要實現(xiàn)的許多目標(biāo)一樣,計算機視覺的實現(xiàn)說起來容易做起來難。麻省理工學(xué)院的科學(xué)家在1966年的夏季啟動了一個“夏季視覺計劃”, 旨在創(chuàng)建一個能夠識別圖像中物體和背景區(qū)域的計算機系統(tǒng),計劃在兩個月的時間完成,但要實現(xiàn)這些目標(biāo),需要的時間遠(yuǎn)遠(yuǎn)不止兩個月。事實上,直到2010年以后,圖像分類器和對象檢測器才變得足夠靈活和可靠,可以在主流應(yīng)用中使用。
在過去的幾十年中,機器學(xué)習(xí)和神經(jīng)科學(xué)的發(fā)展幫助計算機視覺取得了長足的進(jìn)步。但是要創(chuàng)建一個像人類一樣觀察世界的人工智能系統(tǒng),還有很長的路要走。
哈佛醫(yī)學(xué)院教授Gabriel Kreiman在其所著的《生物和計算機視覺》一書描述了人類和動物如何處理視覺數(shù)據(jù)以及在計算機上復(fù)制這些功能方面取得的進(jìn)展。
Kreiman編著的這本書有助于理解生物學(xué)和計算機視覺之間的差異。該書詳細(xì)介紹了數(shù)十億年的演變?nèi)绾螢槿祟惡蛣游锾峁┝藦?fù)雜的視覺處理系統(tǒng),以及如何研究它開發(fā)更好的計算機視覺算法。此外,還討論了現(xiàn)代計算機視覺系統(tǒng)與生物視覺系統(tǒng)的區(qū)別。
在此簡要列出這本著作的一些主要內(nèi)容。
硬件差異
生物視覺運行在有機經(jīng)元和皮層細(xì)胞上,而計算機視覺運行在晶體管和電子電路上
在《生物和計算機視覺》一書的簡介中,Kreiman寫道:“我對生物神經(jīng)與計算電路之間的聯(lián)系感到特別興奮。生物視覺是數(shù)百萬年進(jìn)化的產(chǎn)物。而研究人員開發(fā)計算模型時,可以從生物學(xué)中學(xué)習(xí)和了解如何解決視覺問題,并將這些解決方案作為建立更好算法的靈感。”
事實上,對視覺皮層的研究一直是計算機視覺和人工智能的靈感源泉。但在實現(xiàn)視覺的數(shù)字化功能之前,科學(xué)家必須克服生物視覺和計算機視覺之間巨大的硬件鴻溝。生物視覺在皮層細(xì)胞和有機神經(jīng)元相互連接的網(wǎng)絡(luò)上運行。而在另一方面,計算機視覺運行在由晶體管組成的電子芯片上。
因此,視覺理論的定義必須在計算機中能夠以一種類似于生物水平的方式實現(xiàn)。Kreiman將其稱之為“Goldilocks 解決方案”,這種抽象理念既不詳細(xì)也不簡化。
例如,在計算機視覺的早期嘗試中,試圖以一種非常抽象的方式來處理計算機視覺,這種方式忽略了人腦和動物大腦如何識別視覺模式。事實證明,這些方法非常脆弱且效率低下。另一方面,在分子水平上研究和模擬大腦也被證明計算效率低下。
Kreiman說:“我并不是所謂的‘復(fù)制生物學(xué)’的忠實擁護者。生物學(xué)的許多方面可以而且應(yīng)該被抽象出來。我們可能不需要開發(fā)2萬種蛋白質(zhì)、細(xì)胞質(zhì)和復(fù)雜樹突狀幾何結(jié)構(gòu)的單元,這具有太多的生物學(xué)細(xì)節(jié)。另一方面,我們不能只研究不夠詳細(xì)的行為。”
Kreiman在《生物和計算機視覺》一書中指出,神經(jīng)科學(xué)和醫(yī)學(xué)技術(shù)的進(jìn)步使得研究單個神經(jīng)元毫秒級的活動成為可能。
這些研究的結(jié)果幫助開發(fā)了不同類型的人工神經(jīng)網(wǎng)絡(luò),這是一種人工智能算法,可以輕松地模擬哺乳動物的大腦皮層區(qū)域的運作。近年來,神經(jīng)網(wǎng)絡(luò)已被證明是視覺數(shù)據(jù)中模式識別的最有效算法,并且已經(jīng)成為許多計算機視覺應(yīng)用程序的關(guān)鍵組件。
架構(gòu)差異
最近幾十年來,深度學(xué)習(xí)領(lǐng)域開展了大量的創(chuàng)新工作,這幫助計算機模仿了生物視覺的某些功能。受到動物視覺皮層研究的啟發(fā),卷積層在查找視覺數(shù)據(jù)中的模式方面非常有效。池化層有助于概括卷積層的輸出,并使其對視覺圖案的位移不太敏感。卷積層和池化層堆疊在一起,可以從發(fā)現(xiàn)微小圖案(物體的棱角和邊緣等)到復(fù)雜的對象(面部、椅子、汽車等)。
但是,人工神經(jīng)網(wǎng)絡(luò)的高級架構(gòu)與人們對哺乳動物視覺皮層的了解之間仍然存在不匹配。
Kreiman說:“不幸的是,層這個術(shù)語有點含糊。在計算機科學(xué)中,人們使用層來表示不同的處理階段(層主要類似于大腦區(qū)域)。在生物學(xué)中,每個大腦區(qū)域包含六個皮質(zhì)層。我認(rèn)為六層結(jié)構(gòu)(其連通性與微電路類似)非常關(guān)鍵。人們還不清楚應(yīng)該在神經(jīng)網(wǎng)絡(luò)中包含該電路的哪些方面。”
此外,正如Kreiman在《生物學(xué)和計算機視覺》一書中強調(diào)的那樣,大腦中的信息向多個方向移動。光信號從視網(wǎng)膜移到下顳葉皮層,再移到視覺皮層的V1、V2和其他層。但每一層也向它的上一層提供反饋。在每一層中,神經(jīng)元彼此交互并傳遞信息。所有的相互作用和相互聯(lián)系都有助于大腦填補視覺輸入的空白,并在信息不完整時進(jìn)行推斷。
相比之下,在人工神經(jīng)網(wǎng)絡(luò)中,數(shù)據(jù)通常是單向移動的。卷積神經(jīng)網(wǎng)絡(luò)是一種“前饋網(wǎng)絡(luò)”,這意味著信息只從輸入層傳遞到更高層和輸出層。
還有一種叫做“反向傳播”的反饋機制,可以幫助糾正錯誤和調(diào)整神經(jīng)網(wǎng)絡(luò)的參數(shù)。但反向傳播算法計算量大,并且僅用于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。目前還不清楚反向傳播是否直接對應(yīng)于皮質(zhì)層的反饋機制。
另一方面,將較高層的輸出與前一層的輸入相結(jié)合的遞歸神經(jīng)網(wǎng)絡(luò)在計算機視覺中的應(yīng)用還很有限。
在視覺皮層(圖右)中,信息沿多個方向移動。而在神經(jīng)網(wǎng)絡(luò)(圖左)中,信息只能向一個方向移動
Kreiman指出,橫向移動和自上而下的信息流對于將人工神經(jīng)網(wǎng)絡(luò)引入其生物學(xué)對應(yīng)物至關(guān)重要。
他說:“水平連接(即同一層內(nèi)單元的連接)對于某些計算可能至關(guān)重要。自上而下的連接(即從一個層中的單元到下面一個層中的單元的連接)對于做出預(yù)測,引起關(guān)注,合并上下文信息等可能至關(guān)重要。”
他還指出,神經(jīng)元具有當(dāng)前神經(jīng)網(wǎng)絡(luò)中所缺少的復(fù)雜的時間整合特性。
目標(biāo)差異
人類功能的進(jìn)化成功地開發(fā)了可以完成許多任務(wù)的神經(jīng)架構(gòu)。多項研究表明,人們的視覺系統(tǒng)可以根據(jù)想要實現(xiàn)的目標(biāo)動態(tài)調(diào)整其敏感度。然而,對于希望創(chuàng)造具有這種靈活性的計算機視覺系統(tǒng)來說仍然是一個重大挑戰(zhàn)。
當(dāng)前的計算機視覺系統(tǒng)是為完成單項任務(wù)而設(shè)計的。例如有神經(jīng)網(wǎng)絡(luò)可以分類對象、定位對象,將圖像分割成不同的對象、描述圖像、生成圖像等。但是每個神經(jīng)網(wǎng)絡(luò)都只能單獨完成一個任務(wù)。
Gabriel Kreiman編著的《生物和計算機視覺》
Kreiman說,“一個核心問題是理解‘視覺慣例’,人類怎么樣才能以任務(wù)相關(guān)的方式靈活地傳遞視覺信息呢?基本上可以在一張圖片上回答更多的問題。不只是標(biāo)記對象,還可以計算對象,可以描述它們的顏色、相互作用、大小等等。我們可以建立神經(jīng)網(wǎng)絡(luò)來做這些事情,但是并不能建立同時做這些事情的神經(jīng)網(wǎng)絡(luò)。有一些有趣的方法可以通過問答系統(tǒng)來實現(xiàn)這一點,但這些算法雖然令人興奮,但仍然相當(dāng)原始,尤其是與人類的表現(xiàn)相比。”
整合差異
對于人類和動物來說,視覺與嗅覺、觸覺和聽覺密切相關(guān)。視覺皮層、聽覺皮層、體感皮層、嗅覺皮層相互作用,并從彼此那里獲取線索,以調(diào)整它們對世界的推斷。在而另一方面,在人工智能系統(tǒng)中,每種事物都是獨立存在的。
那么,科學(xué)家是否需要這種集成來制作更好的計算機視覺系統(tǒng)?Kreiman 說:“作為科學(xué)家,通常經(jīng)常喜歡將問題進(jìn)行分解并逐一解決。我個人認(rèn)為這是一個合理的起點,可以看到更清楚,雖然不能嗅到也不能聽見。這就像看一部卓別林所演的無聲電影(沒有聲音和文字),但人們也可以了解很多事情。如果一個人天生聾啞,他們?nèi)匀荒芸吹煤芮宄.?dāng)然,還有很多例子涉及各種模式之間有趣的交互,但是我認(rèn)為,通過這種簡化,可以取得很大的進(jìn)步。”
然而,更復(fù)雜的一個問題是視覺與大腦更復(fù)雜區(qū)域的整合。人類的視覺與其他大腦功能如邏輯、推理、語言和常識等緊密結(jié)合。
Kreiman說:“解決某些視覺問題可能會花費'更多的時間,并且需要將視覺輸入與有關(guān)世界的現(xiàn)有知識相結(jié)合。”
他以美國前總統(tǒng)巴拉克·奧巴馬的照片為例。要了解這張照片到底發(fā)生了什么,就需要具備一些世界知識、社會知識和常識。
例如,人工智能系統(tǒng)需要知道體重秤上的人在做什么,奧巴馬在做什么,誰在笑,他們?yōu)槭裁磿Φ雀鞣N細(xì)節(jié)。回答這些問題需要處理大量信息,其中包括生活知識(體重秤測量體重)、物理知識(奧巴馬的腳會施加力)、心理知識(許多人對體重有自己的估測,如果他們的體重遠(yuǎn)高于平常的體重會感到驚訝),社交理解(有些人認(rèn)為是在開玩笑,有些人則不是)。
Kreiman說,“當(dāng)前的人工智能架構(gòu)無法做到這一點。所有這些都將需要動態(tài)(人們并沒有立即意識到這一切,并且通常使用更多功能來理解圖像)和自上而下的信號的整合。”
語言和常識等領(lǐng)域本身對于人工智能社區(qū)是一些巨大挑戰(zhàn)。但這些問題能否單獨解決,并與愿景一起整合,還是整合本身才是解決所有問題的關(guān)鍵,這還有待觀察。
Kreiman說:“在某個時候,我們需要深入到認(rèn)知的其他方面,很難想象如果不涉及語言和邏輯,如何整合認(rèn)知。我希望在未來的幾年,將更多的語言和邏輯融入到視覺模型中(或者反過來也將視覺融入到語言模型中),這將會有令人興奮的重大進(jìn)展。”
原文標(biāo)題:Understanding the differences between biological and computer vision,作者:Ben Dickson
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】