最近,我參加了幾個高強度的學術活動,包括CCF計算機視覺專委會的閉門研討會和VALSE線下大會。經過與其他學者的交流,我產生了許多想法,千頭萬緒,便希望把它們整理下來,供自己和同行們參考。當然,受限于個人的水平和研究范圍,文章中一定會存在許多不準確甚至錯誤的地方,當然也不可能覆蓋所有重要的研究方向。我期待與有興趣的學者們進行交流,以充實這些觀點,更好地探討未來發展方向。
在這篇文章中,我將會著重分析計算機視覺領域,特別是視覺感知(即識別)方向所面臨的困難和潛在的研究方向。相較于針對具體算法的細節改進,我更希望探討當前算法(尤其是基于深度學習的預訓練+微調范式)的局限性和瓶頸,并且由此得出初步的發展性結論,包括哪些問題是重要的、哪些問題是不重要的、哪些方向值得推進、哪些方向的性價比較低,等。
在開始之前,我先畫出如下思維導圖。為了尋找合適的切入點,我將從計算機視覺和自然語言處理(人工智能中兩個最受關注的研究方向)的區別開始談起,引出圖像信號的三個根本性質:信息稀疏性、域間差異性、無限粒度性,并將它們與幾個重要的研究方向相對應。這樣,我們就能更好地了解每個研究方向所處的狀態:它已經解決了哪些問題、還有哪些重要的問題沒有解決,然后針對性地分析今后的發展趨勢。
導圖:CV和NLP的差異、CV三大挑戰及應對方法
CV的三大基本困難和對應的研究方向
一直以來,NLP都走在CV的前面。不論是深度神經網絡超越手工方法,還是預訓練大模型開始出現大一統的趨勢,這些事情都先發生在NLP領域,并在不久之后被搬運到了CV領域。這里的本質原因是NLP的起點更高:自然語言的基礎單元是單詞,而圖像的基礎單元是像素;前者具有天然的語義信息,而后者未必能夠表達語義。從根本上說,自然語言是人類創造出來,用于存儲知識和交流信息的載體,所以必然具有高效和信息密度高的特性;而圖像則是人類通過各種傳感器捕捉的光學信號,它能夠客觀地反映真實情況,但相應地就不具有強語義,且信息密度可能很低。從另一個角度看,圖像空間比文本空間要大得多,空間的結構也要復雜得多。這就意味著,如果希望在空間中采樣大量樣本,并且用這些數據來表征整個空間的分布,采樣的圖像數據就要比采樣的文本數據大許多個數量級。順帶一提,這也是為什么自然語言預訓練模型比視覺預訓練模型用得更好的本質原因——我們在后面還會提到這一點。
根據上述分析,我們已經通過CV和NLP的差別,引出了CV的第一個基本困難,即語義稀疏性。而另外兩個困難,域間差異性和無限粒度性,也多少與上述本質差別相關。正是由于圖像采樣時沒有考慮到語義,因而在采樣不同域(即不同分布,如白天和黑夜、晴天和雨天等場景)時,采樣結果(即圖像像素)與域特性強相關,導致了域間差異性。同時,由于圖像的基本語義單元很難定義(而文本很容易定義),且圖像所表達的信息豐富多樣,使得人類能夠從圖像中獲取近乎無限精細的語義信息,遠遠超出當前CV領域任何一種評價指標所定義的能力,這就是無限粒度性。關于無限粒度性,我曾經寫過一篇文章,專門討論這個問題。
怎樣的視覺識別算法才是完整的?https://zhuanlan.zhihu.com/p/376145664
以上述三大基本困難為牽引,我們將業界近年來的研究方向總結如下:
語義稀疏性:解決方案為構建高效計算模型(神經網絡)和視覺預訓練。此處的主要邏輯在于,想要提升數據的信息密度,就必須假設數據的非均勻分布(信息論)并對其建模(即學習數據的先驗分布)。目前,最為高效的建模方式有兩類,一類是通過神經網絡架構設計,來捕捉數據無關的先驗分布(例如卷積模塊對應于圖像數據的局部性先驗、transformer模塊對應于圖像數據的注意力先驗);一類是通過在大規模數據上的預訓練,來捕捉數據相關的先驗分布。這兩個研究方向,也是視覺識別領域最為基礎、受到關注最多的研究方向。
域間差異性:解決方案為數據高效的微調算法。根據以上分析,網絡體量越大、預訓練數據集體量越大,計算模型中存儲的先驗就越強。然而,當預訓練域和目標域的數據分布具有較大差異時,這種強先驗反而會帶來壞處,因為信息論告訴我們:提升某些部分(預訓練域)的信息密度,就一定會降低其他部分(預訓練域沒有包含的部分,即預訓練過程中認為不重要的部分)的信息密度。現實中,目標域很可能部分或者全部落在沒有包含的部分,導致直接遷移預訓練模型的效果很差(即過擬合)。此時,就需要通過在目標域進行微調來適應新的數據分布。考慮到目標域的數據體量往往遠小于預訓練域,因而數據高效是必不可少的假設。此外,從實用的角度看,模型必須能夠適應隨時變化的域,因而終身學習是必須。
無限粒度性:解決方案為開放域識別算法。無限粒度性包含開放域特性,是更高的追求目標。這個方向的研究還很初步,特別是業界還沒有能被普遍接受的開放域識別數據集和評價指標。這里最本質的問題之一,是如何向視覺識別中引入開放域能力。可喜的是,隨著跨模態預訓練方法的涌現(特別是2021年的CLIP),自然語言越來越接近成為開放域識別的牽引器,我相信這會是未來2-3年的主流方向。然而,我并不贊成在追求開放域識別的過程中,涌現出的各種zero-shot識別任務。我認為zero-shot本身是一個偽命題,世界上并不存在也不需要zero-shot識別方法。現有的zero-shot任務,都是使用不同方法,將信息泄露給算法,而泄露方式的千差萬別,導致不同方法之間難以進行公平對比。在這個方向上,我提出了一種被稱為按需視覺識別的方法,以進一步揭示、探索視覺識別的無限粒度性。
這里需要做一個補充說明。由于數據空間大小和結構復雜度的差異,至少到目前為止,CV領域還不能通過預訓練模型直接解決域間差異的問題,但是NLP領域已經接近了這一點。因此,我們看到了NLP學者們利用prompt-based方法統一了幾十上百種下游任務,但是同樣的事情在CV領域并沒有發生。另外,在NLP中提出來的scaling law,其本質在于使用更大的模型來過擬合預訓練數據集。也就是說,對于NLP來說,過擬合已經不再是一個問題,因為預訓練數據集配合小型prompt已經足以表征整個語義空間的分布。但是,CV領域還沒有做到這一點,因此還需要考慮域遷移,而域遷移的核心在于避免過擬合。也就是說,在接下來2-3年,CV和NLP的研究重心會有很大的差異,因而將任何一個方向的思維模式生搬硬套在另一個方向上,都是很危險的。
以下簡要分析各個研究方向
方向1a:神經網絡架構設計
2012年的AlexNet,奠定了深度神經網絡在CV領域的基礎。隨后10年(至今),神經網絡架構設計,經歷了從手工設計到自動設計,再回到手工設計(引入更復雜的計算模塊)的過程:
2012-2017年,手工構建更深的卷積神經網絡,探索一般優化技巧。關鍵詞:ReLU、Dropout、3x3卷積、BN、跳躍連接,等。在這個階段,卷積操作是最基本的單元,它對應于圖像特征的局部性先驗。
2017-2020年,自動構建更復雜的神經網絡。其中,網絡架構搜索(NAS)盛行一時,最后定型為基礎工具。在任意給定的搜索空間中,自動設計都能夠達到稍微更好的結果,且能夠快速適配不同的計算開銷。
2020年至今,起源于NLP的transformer模塊從被引入CV,利用attention機制,補足了神經網絡的遠距離建模能力。如今,大部分視覺任務的最優結果,都借助于包含transformer的架構所達到。
對于這一方向的未來,我的判斷如下:
如果視覺識別任務沒有明顯改變,那么不論是自動設計,或者加入更復雜的計算模塊,都無法將CV推向新的高度。視覺識別任務的可能改變,大致可以分為輸入和輸出兩個部分。輸入部分的可能改變如event camera,它可能會改變規則化處理靜態或者時序視覺信號的現狀,催生特定的神經網絡結構;輸出部分的可能改變,則是某種統一各種識別任務的框架(方向3會談到),它有可能讓視覺識別從獨立任務走向大一統,從而催生出一種更適合視覺prompt的網絡架構。
如果一定要在卷積和transformer之間做取舍,那么transformer的潛力更大,主要因為它能夠統一不同的數據模態,尤其是文本和圖像這兩個最常見也最重要的模態。
可解釋性是一個很重要的研究方向,但是我個人對于深度神經網絡的可解釋性持悲觀態度。NLP的成功,也不是建立在可解釋性上,而是建立在過擬合大規模語料庫上。對于真正的AI來說,這可能不是太好的信號。
方向1b:視覺預訓練
作為如今CV領域炙手可熱的方向,預訓練方法被寄予厚望。在深度學習時代,視覺預訓練可以分為有監督、無監督、跨模態三類,大致敘述如下:
有監督預訓練的發展相對清晰。由于圖像級分類數據最容易獲取,因此早在深度學習爆發之前,就有了日后奠定深度學習基礎的ImageNet數據集,并被沿用至今。ImageNet全集超過1500萬的數據規模,至今沒有被其他非分類數據集所超越,因此至今仍是有監督預訓練上最常用的數據。另外一個原因,則是圖像級分類數據引入了較少bias,因而對于下游遷移更加有利——進一步減少bias,就是無監督預訓練。
無監督預訓練,則經歷了曲折的發展歷程。從2014年開始,出現了第一代基于幾何的無監督預訓練方法,如根據patch位置關系、根據圖像旋轉等進行判斷,同時生成式方法也在不斷發展(生成式方法可以追溯到更早的時期,此處不贅述)。此時的無監督預訓練方法,還顯著地弱于有監督預訓練方法。到了2019年,對比學習方法經過技術改進,首次顯現出在下游任務上超越有監督預訓練方法的潛力,無監督學習真正成為CV界關注的焦點。而2021年開始,視覺transformer的興起催生了一類特殊的生成式任務即MIM,它逐漸成為統治性方法。
除了純粹的有監督和無監督預訓練,還有一類介于兩者之間的方法,是跨模態預訓練。它使用弱配對的圖像和文本作為訓練素材,一方面避免了圖像監督信號帶來的bias,一方面又比無監督方法更能學習弱語義。此外,在transformer的加持下,視覺和自然語言的融合也更自然、更合理。
基于上述回顧,我做出如下判斷:
從實際應用上看,應該將不同的預訓練任務結合起來。也就是說,應當收集混合數據集,其中包含少量有標簽數據(甚至是檢測、分割等更強的標簽)、中量圖文配對數據、大量無任何標簽的圖像數據,并且在這樣的混合數據集上設計預訓練方法。
從CV領域看,無監督預訓練是最能體現視覺本質的研究方向。即使跨模態預訓練給整個方向帶來了很大的沖擊,我依然認為無監督預訓練非常重要,必須堅持下去。需要指出,視覺預訓練的思路很大程度上受到了自然語言預訓練的影響,但是兩者性質不同,因而不能一概而論。尤其是,自然語言本身是人類創造出來的數據,其中每個單詞、每個字符都是人類寫下來的,天然帶有語義,因此從嚴格意義上說,NLP的預訓練任務不能被視為真正的無監督預訓練,至多算是弱監督的預訓練。但是視覺不同,圖像信號是客觀存在、未經人類處理的原始數據,在其中的無監督預訓練任務一定更難。總之,即使跨模態預訓練能夠在工程上推進視覺算法,使其達到更好的識別效果,視覺的本質問題還是要靠視覺本身來解決。
當前,純視覺無監督預訓練的本質在于從退化中學習。這里的退化,指的是從圖像信號中去除某些已經存在的信息,要求算法復原這些信息:幾何類方法去除的是幾何分布信息(如patch的相對位置關系);對比類方法去除的是圖像的整體信息(通過抽取不同的view);生成類方法如MIM去除的是圖像的局部信息。這種基于退化的方法,都具有一個無法逾越的瓶頸,即退化強度和語義一致性的沖突。由于沒有監督信號,視覺表征學習完全依賴于退化,因此退化必須足夠強;而退化足夠強時,就無法保證退化前后的圖像具有語義一致性,從而導致病態的預訓練目標。舉例說,對比學習從一張圖像中抽取的兩個view如果毫無關系,拉近它們的特征就不合理;MIM任務如果去除了圖像中的關鍵信息(如人臉),重建這些信息也不合理。強行完成這些任務,就會引入一定的bias,弱化模型的泛化能力。未來,應該會出現一種無需退化的學習任務,而我個人相信,通過壓縮來學習是一條可行的路線。
方向2:模型微調和終身學習
關于這個方向,我認為有兩個重要問題:
從孤立的setting向終身學習的統一。從學術界到工業界,必須拋棄“一次性交付模型”的思維,將交付內容理解為以模型為中心,配套有數據治理、模型維護、模型部署等多種功能的工具鏈。用工業界的話說,一個模型或者一套系統,在整個項目的生命周期中,必須得到完整的看護。必須考慮到,用戶的需求是多變且不可預期的,今天可能會換個攝像頭,明天可能會新增要檢測的目標種類,等等。我們不追求AI能自主解決所有問題,但是AI算法應該有一個規范操作流程,讓不懂AI的人能夠遵循這個流程,新增他們想要的需求、解決平時遇到的問題,這樣才能讓AI真正平民化,解決實際問題。對于學術界,必須盡快定義出符合真實場景的終身學習setting,建立起相應的benchmark,推動這一方向的研究。
在域間差異明顯的情況下,解決大數據和小樣本的沖突。這又是CV和NLP的不同點:NLP已經基本不用考慮預訓練和下游任務的域間差異性,因為語法結構和常見單詞完全一樣;而CV則必須假設上下游數據分布顯著不同,以致于上游模型未經微調時,在下游數據中無法抽取底層特征(被ReLU等單元直接濾除)。因此,用小數據微調大模型,在NLP領域不是大問題(現在的主流是只微調prompt),但是在CV領域是個大問題。在這里,設計視覺友好的prompt也許是個好方向,但是目前的研究還沒有切入核心問題。
方向3:無限細粒度視覺識別任務
關于無限細粒度視覺識別(以及類似的概念),目前還沒有很多相關的研究。所以,我以自己的思路來敘述這個問題。我在今年VALSE報告上,對已有方法和我們的proposal做了詳細解讀。以下我給出文字敘述,更詳細的解讀請參考我的專題文章或者我在VALSE上做的報告:
按需視覺識別:愿景和初步方案https://zhuanlan.zhihu.com/p/546510418
我的VALSE-2022報告:PPT+視頻https://zhuanlan.zhihu.com/p/555377882
首先,我要闡述無限細粒度視覺識別的含義。簡單地說,圖像中包含的語義信息非常豐富,但不具有明確的基本語義單元。只要人類愿意,就可以從一張圖像中識別出越來越細粒度的語義信息(如下圖所示);而這些信息,很難通過有限而規范的標注(即使花費足夠多的標注成本),形成語義上完整的數據集,供算法學習。
即使如ADE20K這樣的精細標注數據集,也缺少了大量人類能夠識別的語義內容
我們認為,無限細粒度視覺識別是比開放域視覺識別更難,也更加本質的目標。我們調研了已有識別方法,將其分為兩類,即基于分類的方法和語言驅動的方法,并論述它們無法實現無限細粒度的理由。
基于分類的方法:這包括傳統意義上的分類、檢測、分割等方法,其基本特點是給圖像中的每個基本語義單元(圖像、box、mask、keypoint等)賦予一個類別標簽。這種方法的致命缺陷在于,當識別的粒度增加時,識別的確定性必然下降,也就是說,粒度和確定性是沖突的。舉例說,在ImageNet中,存在著“家具”和“電器”兩個大類;顯然“椅子”屬于“家具”,而“電視機”屬于“家電”,但是“按摩椅”屬于“家具”還是“家電”,就很難判斷——這就是語義粒度的增加引發的確定性的下降。如果照片里有一個分辨率很小的“人”,強行標注這個“人”的“頭部”甚至“眼睛”,那么不同標注者的判斷可能會不同;但是此時,即使是一兩個像素的偏差,也會大大影響IoU等指標——這就是空間粒度的增加引發的確定性的下降。
語言驅動的方法:這包括CLIP帶動的視覺prompt類方法,以及存在更長時間的visual grounding問題等,其基本特點是利用語言來指代圖像中的語義信息并加以識別。語言的引入,確實增強了識別的靈活性,并帶來了天然的開放域性質。然而語言本身的指代能力有限(想象一下,在一個具有上百人的場景中指代某個特定個體),無法滿足無限細粒度視覺識別的需要。歸根結底,在視覺識別領域,語言應當起到輔助視覺的作用,而已有的視覺prompt方法多少有些喧賓奪主的感覺。
上述調研告訴我們,當前的視覺識別方法并不能達到無限細粒度的目標,而且在走向無限細粒度的路上還會遭遇難以逾越的困難。因此,我們我們想分析人是如何解決這些困難的。首先,人類在大多數情況下并不需要顯式地做分類任務:回到上述例子,一個人到商場里買東西,不管商場把“按摩椅”放在“家具”區還是“家電”區,人類都可以通過簡單的指引,快速找到“按摩椅”所在的區域。其次,人類并不僅限于用語言指代圖像中的物體,可以使用更靈活的方式(如用手指向物體)完成指代,進而做更細致的分析。
結合這些分析,要達到無限細粒度的目標,必須滿足以下三個條件。
開放性:開放域識別,是無限細粒度識別的一個子目標。目前看,引入語言是實現開放性的最佳方案之一。
特異性:引入語言時,不應被語言束縛,而應當設計視覺友好的指代方案(即識別任務)。
可變粒度性:并非總是要求識別到最細粒度,而是可以根據需求,靈活地改變識別的粒度。
在這三個條件的牽引下,我們設計出了按需視覺識別任務。與傳統意義上的統一視覺識別不同,按需視覺識別以request為單位進行標注、學習和評測。當前,系統支持兩類request,分別實現了從instance到semantic的分割、以及從semantic到instance的分割,因而兩者結合起來,就能夠實現任意精細程度的圖像分割。按需視覺識別的另一個好處在于,在完成任意數量的request之后停止下來,都不會影響標注的精確性(即使大量信息沒有被標注出來),這對于開放域的可擴展性(如新增語義類別)有很大的好處。具體細節,可以參看按需視覺識別的文章(鏈接見上文)。
統一視覺識別和按需視覺識別的對比
在完成這篇文章之后,我還在不斷思考,按需視覺識別對于其他方向的影響是什么。這里提供兩個觀點:
按需視覺識別中的request,本質上是一種視覺友好的prompt。它既能夠達到詢問視覺模型的目的,又避免了純語言prompt帶來的指代模糊性。隨著更多類型的request被引入,這個體系有望更加成熟。
按需視覺識別,提供了在形式上統一各種視覺任務的可能性。例如,分類、檢測、分割等任務,在這一框架下得到了統一。這一點可能對視覺預訓練帶來啟發。目前,視覺預訓練和下游微調的邊界并不清楚,預訓練模型究竟應該適用于不同任務,還是專注于提升特定任務,尚無定論。然而,如果出現了形式上統一的識別任務,那么這個爭論也許就不再重要。順便說,下游任務在形式上的統一,也是NLP領域享有的一大優勢。
在上述方向之外
我將CV領域的問題分為三大類:識別、生成、交互,識別只是其中最簡單的問題。關于這三個子領域,簡要的分析如下:
在識別領域,傳統的識別指標已經明顯過時,因此人們需要更新的評價指標。目前,在視覺識別中引入自然語言,是明顯且不可逆的趨勢,但是這樣還遠遠不夠,業界需要更多任務層面的創新。
生成是比識別更高級的能力。人類能夠輕易地識別出各種常見物體,但是很少有人能夠畫出逼真的物體。從統計學習的語言上說,這是因為生成式模型需要對聯合分布p(x,y)進行建模,而判別式模型只需要對條件分布p(y|x)進行建模:前者能夠推導出后者,而后者不能推導出前者。從業界的發展看,雖然圖像生成質量不斷提升,但是生成內容的穩定性(不生成明顯非真實的內容)和可控性仍有待提升。同時,生成內容對于識別算法的輔助還相對較弱,人們還難以完全利用虛擬數據、合成數據,達到和真實數據訓練相媲美的效果。對于這兩個問題,我們的觀點都是,需要設計更好、更本質的評價指標,以替代現有的指標(生成任務上替代FID、IS等,而生成識別任務需要結合起來,定義統一的評價指標)。
1978年,計算機視覺先驅David Marr設想,視覺的主要功能,在于建立環境的三維模型,并且在交互中學習知識。相比于識別和生成,交互更接近人類的學習方式,但是現在業界的研究相對較少。交互方向研究的主要困難,在于構建真實的交互環境——準確地說,當前視覺數據集的構建方式來源于對環境的稀疏采樣,但交互需要連續采樣。顯然,要想解決視覺的本質問題,交互是本質。雖然業界已經有了許多相關研究(如具身智能),但是還沒有出現通用的、任務驅動的學習目標。我們再次重復計算機視覺先驅David Marr提出的設想:視覺的主要功能,在于建立環境的三維模型,并且在交互中學習知識。計算機視覺,包括其他AI方向,都應該朝著這個方向發展,以走向真正的實用。
總之,在不同子領域,單純依靠統計學習(特別是深度學習)的強擬合能力的嘗試,都已經走到了極限。未來的發展,一定建立在對CV更本質的理解上,而在各種任務上建立更合理的評價指標,則是我們需要邁出的第一步。
結語
經過幾次密集的學術交流,我能夠明顯地感受到業界的迷茫,至少對于視覺感知(識別)而言,有意思、有價值的研究問題越來越少,門檻也越來越高。這樣發展下去,有可能在不久的將來,CV研究會走上NLP的道路,逐漸分化成兩類:一類使用巨量計算資源進行預訓練,不斷空虛地刷新SOTA;一類則不斷設計出新穎卻沒有實際意義的setting以強行創新。這對于CV領域顯然不是好事。為了避免這種事情,除了不斷探索視覺的本質、創造出更有價值的評測指標,還需要業界增加寬容性,特別是對于非主流方向的寬容性,不要一邊抱怨著研究同質化,一邊對于沒有達到SOTA的投稿痛下殺手。當前的瓶頸是所有人共同面對的挑戰,如果AI的發展陷入停滯,沒有人能夠獨善其身。
審核編輯 :李倩
-
神經網絡
+關注
關注
42文章
4773瀏覽量
100877 -
CV
+關注
關注
0文章
53瀏覽量
16876 -
自然語言處理
+關注
關注
1文章
619瀏覽量
13579
原文標題:關于視覺識別領域發展的個人觀點
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論