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