雷鋒網註:本文作者山世光,博士,中科院計算所研究員、博導,中科院智能信息處理重點實驗室常務副主任。主要從事計算機視覺、模式識別、機器學習等相關研究工作,特別是與人臉識別相關的研究工作。本文原標題為《深度學習在計算機視覺領域成功的啟示與開放問題討論》。
大數據支撐的深度學習的復興固然是AI領域的裡程碑式進步,但並不意味著深度學習具有解決全部AI問題的潛力。
【摘要】近年來,深度學習技術在圖像分類、物體檢測與識別乃至「看圖作文(Image Captioning)」等諸多計算機視覺任務上均取得了巨大成功。本文首先探討了深度學習的成功帶給我們的一些啟示,然後對相關開放問題進行討論。所述僅為個人粗淺看法,不當之處請讀者斧正。
深度學習的成功不僅僅帶來了人工智慧相關技術的快速進步,解決了許多過去被認為難以解決的難題,更重要的它是給我們帶來了思想觀念的變革,個人以為主要體現在以下幾個方面。
1、優化方法的變革是開啟深度學習復興之門的鑰匙
回顧自2006年(所謂深度學習元年)以來深度學習的十年大發展,我們必須首先注意到優化方法不斷進步的重要作用。需要注意的是,深度學習並非全新的技術方法,而是上世紀80年代出現的多層神經網絡的復興。CV領域現在炙手可熱的深度模型(如深度卷積神經網絡DCNN)在上個世紀八十年代就已經基本成型,當時未能普及的原因很多,其中之一是長期缺少有效地優化多層網絡的高效方法,特別是對多層神經網絡進行初始化的有效方法。
從這個意義上講,Hinton等人2006年的主要貢獻是開創了無監督的、分層預訓練多層神經網絡的先河,從而使眾多研究者重拾了對多層神經網絡的信心。
但實際上最近三年來DCNN的繁榮與無監督、分層預訓練並無多大關係,而更多的與優化方法或者有利於優化的技巧有關,如Mini-Batch SGD、ReLU激活函數、Batch Normalization、ResNet中的shortcut等,特別是其中處理梯度消失問題的手段,對DCNN網絡不斷加深、性能不斷提升功不可沒。
2、從經驗驅動的人造特徵範式到數據驅動的表示學習範式
在深度學習興起之前,專家知識和經驗驅動的AI範式主宰了語音處理、計算機視覺和模式識別等眾多領域很多年,特別是在信息表示和特徵設計方面,過去大量依賴人工,嚴重影響了智能處理技術的有效性和通用性。深度學習徹底顛覆了這種「人造特徵」的範式,開啟了數據驅動的「表示學習」範式。具體體現在兩點:
1)所謂的經驗和知識也在數據中,在數據量足夠大時無需顯式的經驗或知識的嵌入,直接從數據中可以學到;
2)可以直接從原始信號開始學習表示,而無需人為轉換到某個所謂「更好」的空間再進行學習。數據驅動的表示學習範式使得研發人員無需根據經驗和知識針對不同問題設計不用的處理流程,從而大大提高了AI算法的通用性,也大大降低了解決新問題的難度。
3、從「分步、分治」到「端到端的學習」
分治或分步法,即將複雜問題分解為若干簡單子問題或子步驟,曾經是解決複雜問題的常用思路。在AI領域,也是被廣泛採用的方法論。
比如,為了解決圖像模式識別問題,過去經常將其分解為預處理、特徵提取與選擇、分類器設計等若干步驟。再如,為了解決非線性問題,可以採用分段線性方式來逼近全局的非線性。這樣做的動機是很清晰的,即:子問題或子步驟變得簡單、可控,更易解決。但從深度學習的視角來看,其劣勢也是同樣明顯的:子問題最優未必意味著全局的最優,每個子步驟是最優的也不意味著全過程來看是最優的。
相反,深度學習更強調端到端的學習(end-to-end learning),即:不去人為的分步驟或者劃分子問題,而是完全交給神經網絡直接學習從原始輸入到期望輸出的映射。相比分治策略,端到端的學習具有協同增效(synergy)的優勢,有更大的可能獲得全局上更優的解。當然,如果我們一定要把分層看成是「子步驟或子問題」也是可以的,但這些分層各自完成什麼功能並不是我們預先設定好的,而是通過基於數據的全局優化來自動學習的。
4、深度學習具備超強的非線性建模能力
眾多複雜問題本質上是高度非線性的,而深度學習實現了從輸入到輸出的非線性變換,這是深度學習在眾多複雜問題上取得突破的重要原因之一。
在深度學習之前,眾多線性模型或近似線性模型曾大行其道。特別是從上個世紀90年代開始,以判別式降維為目的的線性子空間方法得到大家的重視,如主成分分析,Fisher線性判別分析,獨立成分分析等。
後來,為了處理非線性問題,Kernel技巧、流形學習等非線性處理方法相繼得到重視。其中Kernel方法試圖實現對原始輸入的非線性變換,但卻無法定義顯式的非線性變換,只能藉助有限種類的kernel函數,定義目標空間中的點積,間接實現非線性。
而2000年之後曾一度廣受重視的流形學習方法則試圖通過對樣本點之間測地距離或局部鄰域關係的保持來學習非線性映射,遺憾的是這類方法難以真正實現對非訓練樣本的顯式非線性變換。而深度學習則通過作用於大量神經元的非線性激活函數(如Sigmoid或ReLU),獲得了可以適配足夠複雜的非線性變換的能力。
5、大模型未必總是不好的奧卡姆剃刀原理在諸多領域特別是機器學習領域廣為人知,它告誡人們:「如無必要,勿增實體」。換句話說,求解問題的模型能簡單最好不要複雜。
這一原理在機器學習領域是提高模型推廣能力的重要法則,也使得複雜的大模型往往不被看好。而深度學習恰恰在這一點上是令人費解的,以AlexNet為例,其需要學習的參數(權重)多達6000萬個,如此之巨的參數似乎表明這是一個非常複雜(如果不是過分複雜的話)的模型。
當然,模型中需要學習的參數的多少並不直接等於模型的複雜度,但毋庸置疑的是,深度學習乍看起來是「複雜度」非常高的。那麼,奧卡姆剃刀原理失效了嗎?抑或看似複雜的深度學習模型的複雜度並不高?目前似乎尚無明確的理論支撐。最近的一些工作表明,很多已經訓練好的、複雜的深度學習模型可以通過剪枝、壓縮等手段進行約簡,其性能並不降低甚至可以提高。
這裡的關鍵也許在於「大數據」帶來的「紅利」。一種可能是:科研人員過去長期面對著「小數據」問題,因而過於偏愛簡單模型了。而在數據量陡增的今天,適度複雜的模型變得更加適應科研人員面對的複雜問題,當訓練數據量大到與測試數據同分布,甚至測試數據基本「跑不出」訓練數據所在範圍的時候,在訓練數據上的「過擬合」就變得不那麼可怕了。
6、腦神經科學啟發的思路值得更多的重視
深度學習作為多層神經網絡是受腦神經科學的啟發而發展起來的。
特別是卷積神經網絡,其根源於Fukushima在1980年代提出的認知機模型,而該模型的提出動機就是模擬哺乳動物視覺神經系統的感受野逐漸變大、逐層提取由簡及繁的特徵,從而實現語義逐級抽象的視覺神經通路。在諾貝爾獎獲得者Hubel和Wiesel的共同努力下,該通路從上個世紀60年代開始逐漸清晰,為CNN的誕生提供了良好的參照。但值得注意的是,生物視覺神經通路極其複雜,神經科學家對初級視覺皮層區中簡單神經細胞的邊緣提取功能是清晰的,對通路後面部分越來越複雜的神經細胞的功能也有一些探索,但對更高層級上的超複雜細胞的功能及其作用機制尚不清晰。
這意味著CNN等深度模型是否真的能夠模擬生物視覺通路還不得而知。但可以確定的是,生物神經系統的連接極為複雜,不僅僅有自下而上的前饋和同層遞歸,更有大量的自上而下的反饋,以及來自其他神經子系統的外部連接,這些都是目前的深度模型尚未建模的。
但無論如何,腦神經科學的進步可以為深度模型的發展提供更多的可能性,是非常值得關注的。例如,最近越來越多的神經科學研究表明,曾一度被認為功能極為特異化的神經細胞其實具有良好的可塑性。例如,視覺皮層的大量神經細胞在失去視覺處理需求後不久,即被「重塑」轉而處理觸覺或其他模態的數據。神經系統的這種可塑性意味著不同的智能處理任務具有良好的通用性,為通用人工智慧的發展提供了參照。
大數據支撐的深度學習的復興固然是AI領域的裡程碑式進步,但並不意味著深度學習具有解決全部AI問題的潛力。下面對深度學習領域的開放性問題做討論。
1、舉一反三:大數據是否學習之必需?
大數據是深度學習成功的基石,大數據之於深度學習,恰如燃料之於火箭。越來越多的應用領域正持續積累著日趨豐富的應用數據,這為深度學習的進一步發展和應用至關重要。然而,過分倚重有標註的大數據也恰恰是深度學習的局限性之一。
數據收集是有成本的,而且標註成本已經開始水漲船高,而且還有一些領域存在著難以收集數據的問題。例如在醫療診斷領域,一些較為罕見的疾病的相關數據收集是困難的。
更重要的,當我們把人的智能作為參照系的時候,自然就會問:人的智能是否是大數據學習的結果呢?其答案並不顯然。從人類個體的角度來說,答案很可能是否定的:我們甚至可以只見過一個蘋果(甚至只是一張蘋果圖片)就學會了識別蘋果,而無需觀察成百上千個不同的蘋果。但是,這樣批判深度學習看似有理有據,卻未必是公平的:人類作為一個種群,進化過程中已經見過了何止成百上千個蘋果?
但無論如何,「小數據」如何驅動深度學習或其他機器學習方法是一個值得探索的新方向。在這個意義上,基於無監督數據的學習、相似領域的遷移學習、通用模型的領域適應、知識與經驗的嵌入等方法是非常值得關注的。
2、 無師自通:如何獲取無監督學習能力?
獲取有標註數據的時間和金錢成本很高,但大量無監督數據的獲取成本卻是微乎其微的。而目前深度學習對無監督數據的學習能力嚴重不足,以致大量無監督數據就像富含黃金的沙海,我們卻沒有高效淘金的利器。有趣的是,回顧深度學習的歷史,我們應該記得2006年Hinton教授等人倡導的卻恰恰是利用無監督學習來對深層神經網絡進行預訓練。但此後,特別是DCNN興起之後,無監督的預訓練似乎已經被很多研究者所拋棄(特別是在CV領域)。
直接從大量無監督數據中學習模型確實是非常困難的,即便是人這部「機器」,也有「狼孩」的例子警告我們「無師自通」似乎是不現實的。但「少量有導師數據+大量無導師數據」的模式也許是更值得大力研究的。
3、從參數學習到結構學習?
深度學習以「數據驅動」範式顛覆了「人造特徵」範式,這是一個重大的進步。但與此同時,它自己又陷入了一個「人造結構」窠臼中。
無論Hinton教授組最初設計的AlexNet,還是後來的VGG,GoogLeNet,ResNet等等,都是富有經驗的專家人工設計出來的。給定一個新問題,到底什麼樣的網絡結構是最佳的(如多少卷積層)卻不得而知,這在一定程度上阻礙了深度學習在更多智能任務上的普及和應用。因此,同時學習網絡結構和網絡參數是一個值得大力關注的研究方向。
從計算的角度來看,全面的學習網絡結構是極其複雜的。儘管近期已經有一些這方面的嘗試,如剪枝算法、網絡約簡等,可以在一定程度上調整網絡結構。同時也出現了少量對網絡的結構參數(如DCNN的kernel bank數量)進行學習的探索性工作,但尚處於起步階段。
4、如何在預測階段進行反饋與網絡調製?
我們知道,人類視覺系統在實現「看見」的過程中,視覺通路上神經細胞接受的輸入並非僅僅來自低層或同層的神經元,還大量接受高層神經元的反饋信號,並受到來自其他神經子系統(如聽覺)的信號的調製。
與之相比,我們目前常用的深度神經網絡(特別是DCNN)在訓練完成後的特徵提取或預測階段,低層神經元大多無法接受高層神經元的反饋信號,也沒有機制接收其他信號(比如先驗或其他模態信息)的調製。這意味著先驗知識、上下文、猜測和想像(腦補)等「智能」能力難以在現有深度網絡上得到應用和體現。如何突破這一困局,賦予深度網絡感知階段的自適應調製能力,是值得大力研究的。
5、如何賦予機器演繹推理能力?
基於大數據的深度學習可以認為是一種歸納法,而從一般原理出發進行演繹是人類的另一重要能力,特別是在認知和決策過程中,我們大量依賴演繹推理。
而演繹推理在很多時候似乎與數據無關。例如,即使不給任何樣例,我們也可以依賴符號(語言)描述,來學會識別之前從未見過的某種物體。
這樣的zero-shot學習問題看似超出了深度學習的觸角範疇,但也許未必不可企及。例如,近年來越來越多的基於深度學習的產生式模型正在努力實現從符號(概念)到圖像的生成。
【作者介紹】山世光,博士,中科院計算所研究員、博導,中科院智能信息處理重點實驗室常務副主任。主要從事計算機視覺、模式識別、機器學習等相關研究工作,特別是與人臉識別相關的研究工作。已在計算機學會推薦的A類國際刊物和會議上發表論文50餘篇,論文被Google Scholar引用9000餘次。曾應邀擔任過ICCV,ACCV,ICPR,FG等多個國際學術會議的領域主席(Area Chair),現任IEEE Trans. on Image Processing,Neurocomputing和Pattern Recognition Letters等國際刊物的編委(AE)。研究成果獲2005年度國家科技進步二等獎和2015年度國家自然科學獎二等獎,2012年度基金委「優青」獲得者,2015年度CCF青年科學獎獲得者。
雷鋒網(公眾號:雷鋒網)註:本文由深度學習大講堂(公號)授權雷鋒網發布,轉載請聯繫授權,並務必保留作者和出處,不得刪減內容。
雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。