選單

人眼與計算機視覺,有啥不一樣?

編譯丨科技行者

人眼與計算機視覺,有啥不一樣?

自人工智慧發展早期以來,科學家們就一直夢想著創造出能夠“觀察”真實世界的計算機。考慮到人類社會對於影片要素的高度依賴,以程式碼形式實現計算機視覺自然成為人工智慧不能迴避的核心課題之一。

但與其他眾多AI發展目標一樣,計算機視覺同樣是那種說起來容易、實現起來卻極難的挑戰。1966年,麻省理工學院的科學家們發起“夏季視覺專案(The Summer Vision Project)”,希望在兩個月之內開發出一套能夠識別影象中物體及背景區域的計算機系統。但事實證明,短短一個暑假根本不夠解決問題。直到二十一世紀的第二個十年,影象分類器與物體檢測器才獲得進入主流應用的充分靈活性與可靠性。

過去幾十的中,機器學習與神經科學的進步幫助我們在計算機視覺方面取得了長足進步。但是,要想構建起能夠與人類一樣靈活觀察世界的AI系統,我們還有很長的路要走。

哈佛大學醫學院Gabriel Kreiman教授揚鞭的《生物與計算機視覺(Biological and Computer Vision)》一書探討了人類與動物如何處理視覺資料,並展望了我們要如何在計算機上重現這種強大的識別能力。

Kreiman在書中講解了生物與計算機視覺之間的差異,包括介紹數十億年的演變如何為我們帶來複雜的視覺處理系統,以及如何透過生物學研究成果構建起更好的計算機視覺演算法。

硬體差異

在這本書的序言部分,Kreiman寫道,“我對生物與計算系統中的連線電路特別感興趣。生物視覺是數百萬年間持續進化的產物。而在開發計算模型時,我們當然沒必要重新發明輪子。我們可以直接學習生物解決視覺問題的方法,並以此為基礎構建起更強大的演算法。”

的確,對視覺皮層的研究已經成為計算機視覺與AI設計靈感的重要來源。但在全面實現視覺數字化之前,科學家們還必須克服生物與計算機視覺之間巨大的硬體鴻溝。生物視覺系統執行在皮層細胞與有機神經元相互連線而成的網路之上;與之不同,計算機視覺則執行在由電晶體組成的電子晶片當中。

因此,視覺理論必須先與計算機的底層原理相統一,再實現與生物視覺相等的效能。Kreiman將此稱為“戈爾迪洛克式解決方案”,即抽象級別屬於既不過度複雜、又不過於簡單的水平。

例如,早期計算機視覺曾經嘗試以一種高度抽象的方式達成目標,其中忽略了人腦與動物大腦的既有視覺識別模式。但事實證明,這種方法效率低下且極易出錯。而另一方面,在分子水平上研究並直接模擬大腦,則沒有任何現實可行性。

Kreiman在採訪中表示,“我不是所謂「複製生物學」思路的忠實擁護者。生物學中的很多元素應該得到抽象與整理。我們並不需要2萬種蛋白質、細胞質加複雜的樹突狀幾何結構才能實現視覺能力。我們既應該適當剝離不必要的生物學細節,但又不能單純研究具體行為——這種抽象度又過高了。”

在書中,Kreiman將新皮層迴路的戈爾迪洛克量度定義為每毫秒發生的神經元活動。神經科學與醫學技術的進步,使得研究毫秒級粒度下單一神經元的活動成為可能。

這些研究的成果幫助我們開發出不同型別的人工神經網路。所謂人工神經網路是一種AI演算法,能夠輕鬆模擬哺乳動物大腦皮質區域的運作。近年來,神經網路已被證明是視覺資料中實現模式識別功能的最佳演算法,併成為多種計算機視覺應用中的關鍵組成部分。

架構差異

最近幾十年來,深度學習領域迎來了大量革命性創新,也讓計算機得以更從容地模擬生物視覺中的某些功能。受到動物視覺皮層研究的啟發,卷積層開始在從視覺資料中查詢模式方面發揮巨大作用。池化層有助於概括卷積層的輸出,並保證其不會對視覺模式的漂移太過敏感。卷積層加上池化層,就足以識別出從簡單模式(拐角、邊緣等)到複雜物件(人臉、椅子、汽車等)的各類影象內容。

但是,人工神經網路中使用的高階架構與我們對哺乳動物視覺皮層的認知之間仍然存在錯位。

Kreiman強調,“遺憾的是,「層」這個字眼仍然比較含糊。計算機科學當中,人們會使用層來表示不同的處理階段(各層基本類似於大腦中的不同區域)。但在生物學中,大腦中的各個區域包含有6個皮質層(及更多次級結構)。乍看上去,這種六層結構應該非常關鍵(各層間的連通性,有時也稱為標準微迴路),但我們並不清楚要怎麼把這些迴路新增到神經網路當中。有些人認為這種六層結構已經得到了一定體現(例如歸一化操作),但這裡肯定還有不少需要充實的空間。”

同樣的,Kreiman還在書中提到,大腦中的資訊會朝著多個方向移動。光訊號由視網膜移動至顳下皮層,再被傳輸至視覺皮層的V1、V2及其他層。與此同時,每個層還同時向前一層提供反饋。在各層中,神經元彼此互動並傳遞資訊,而所有互動作用與往來聯絡在實質上是幫助大腦填補視覺輸入中的空白,藉此在資訊不完整時做出推斷。

相反,在人工神經網路中,資料通常只在單一方向上移動。卷積神經網路屬於“前饋網路”,意味著資訊只會從輸入層一步步轉向較高層與輸出層。

目前也存在一種名為“反向傳播”的反饋機制,有助於糾正錯誤並調整神經網路引數。但這種反向傳播會帶來高昂的計算成本,而且僅能在神經網路的訓練期間發揮作用。我們也不清楚反向傳播是否真的直接對應於皮質層的反饋機制。

在另一方面,強調將較高層的輸出與前一層輸入相結合的遞迴神經網路,在計算機視覺中的使用仍然比較有限。

人眼與計算機視覺,有啥不一樣?

在視覺皮層(右)中,資訊會沿多個方向移動。但在神經網路(左)中,資訊只沿單一方向移動。

在交流當中,Kreiman認為向人工神經網路引入橫向及縱向資訊流,可能有助於其更好地與生物視覺系統相匹配。

他認為,“橫向連線(即同一層內各單元間的連線)對於圖形補全等計算任務可能至關重要。而縱向連線(即由上層單元到下層單元間的連線)對於做出預測、喚起注意力、合併上下文資訊等也許具有關鍵意義。”

他還提到,大腦神經元具有“現有網路中所缺少的複雜時間整合能力。”

目標差異

生物進化成功發展出了能夠完成諸多工的神經架構。已經有多項研究表明,我們的視覺系統能夠根據不同目標動態調節關注敏感性。但是,這種靈活性在計算機視覺系統上仍然很難實現。

目前的計算機視覺系統主要為單一任務而設計,例如透過不同的神經網路進行物件分類、物件定位、按物件拆分影象區域、描述影象內容、生成新影象等,但這些神經網路各自只能完成自己份內的一項工作。

面對“應該如何以目標為中心靈活地傳遞視覺資訊?”這個問題,Gabriel Kreiman教授強調“在本質上,人類能夠根據同一影象回答無數個問題,包括標記物件、計算物件、描述物件顏色、物件間的相互作用、各物件的大小等。我們目前只能構建出解決其中一個問題的神經網路,卻無法透過單一網路同時解決所有問題。雖然也有一些新興演算法做出了嘗試,但其水平仍然相當原始,遠不能與人類的表現相提並論。”

綜合差異

對人類及動物來說,視覺往往與嗅覺、觸覺和聽覺密切相關。視覺皮層、聽覺皮層、體感皮層以及嗅覺皮層間相互影響並相互提示,幫助人體調整對周遭世界的推斷。但在AI系統中,這些元素還只能分別獨立存在。

我們是否需要建立起這種綜合體系,由此構建起更強大的計算機視覺方案?

Kreiman回答道,“作為科學家,我們習慣於把問題拆解開來分別處理。我個人認為這樣的起點確實比較合理,例如先實現視覺,暫時不考慮嗅覺或聽覺。這有點像電影工業早期製作的默片。跨模式用例當然值得期待,但我認為先把問題簡化也許更有利於獲得研究進展。”

但是,生物視覺本身就與大腦中的各個複雜區域相互關聯。在人體中,視覺離不開邏輯、推理、語言及常識等關聯體系。

Kreiman指出,“其實大部分視覺問題都要求我們把輸入內容與原有常識結合起來。”

他以下面這張美國前總統奧巴馬的照片為例,闡述了自己的思考。

人眼與計算機視覺,有啥不一樣?

要理解圖片內容,需要一定的通識知識與社會知識,例如弄明白體重秤上的人在做什麼、奧巴馬在做什麼,這需要大量的背景資訊。通識知識會讓AI代理意識到體重秤的作用是測量體重,物理知識則指明奧巴馬在給面前的人加力,心理知識則是人們在看到遠超預期的體重指數時往往會感到驚訝。而這也是惡作劇的意義所在。

Kreiman提到,“目前的架構明顯做不到這一點。各項資訊會以我們自己意識不到的方式整合起來,並與腦中儲備的資訊相互對映和補充。”

對語言和常識的理解本身,就是橫亙在AI社群面前的一座高峰。更要命的是,我們甚至不清楚這類問題到底能不能以拆解的方式逐步解決;或者說,只有統一整體處理才有可能帶來真正的答案。

Kreiman最後總結道,“終有一天,我們要將認知的各個層面都考慮進來,而沒有語言和邏輯作支撐的視覺終究不夠可靠。希望我們能在未來幾年中獲得重大突破,努力將語言、邏輯與視覺模型統一起來。”