影象識別的未來——機遇與挑戰並存!
在計算機視覺領域,影象識別這幾年的發展突飛猛進,但在進一步廣泛應用之前,仍然有很多挑戰需要我們去解決。本文中,微軟亞洲研究院視覺計算組的研究員們為我們梳理目前深度學習在影象識別方面所面臨的挑戰以及具有未來價值的研究方向。
識別影象對人類來說是件極容易的事情,但是對機器而言,這也經歷了漫長歲月。
在計算機視覺領域,影象識別這幾年的發展突飛猛進。例如,在PASCAL VOC物體檢測基準測試中,檢測器的效能從平均準確率30%飆升到了今天的超過90%。對於影象分類,在極具挑戰性的ImageNet資料集上,目前先進演算法的表現甚至超過了人類。
影象識別技術的高價值應用就發生在你我身邊,例如視訊監控、自動駕駛和智慧醫療等,而這些影象識別最新進展的背後推動力是深度學習。深度學習的成功主要得益於三個方面:大規模資料集的產生、強有力的模型的發展以及可用的大量計算資源。對於各種各樣的影象識別任務,精心設計的深度神經網路已經遠遠超越了以前那些基於人工設計的影象特徵的方法。
儘管到目前為止深度學習在影象識別方面已經取得了巨大成功,但在它進一步廣泛應用之前,仍然有很多挑戰需要我們去面對。與此同時,我們也看到了很多具有未來價值的研究方向。
挑戰一:如何提高模型的泛化能力
影象識別技術在可以被廣泛應用之前,一個重要的挑戰是,怎樣才能知道一個模型對未曾出現過的場景仍然具有很好的泛化能力。
在目前的實踐中,資料集被隨機劃分為訓練集和測試集,模型也相應地在這個資料集上被訓練和評估。需要注意的是,在這種做法中,測試集擁有和訓練集一樣的資料分佈,因為它們都是從具有相似場景內容和成像條件的資料中取樣得到的。
然而,在實際應用中,測試影象或許會來自不同於訓練時的資料分佈。這些未曾出現過的資料可能會在視角、大小尺度、場景配置、相機屬性等方面與訓練資料不同。
一項研究表明,資料分佈上的這種差異會導致各種深度網路模型的準確率產生明顯的下降 。當前模型對資料分佈自然變化的敏感性可能成為自動駕駛等關鍵應用的一個嚴重問題。
挑戰二:如何利用小規模和超大規模資料
我們需要面對的另一個重要的挑戰是如何更好地利用小規模訓練資料。雖然深度學習通過利用大量標註資料在各種任務中都取得了巨大的成功,但現有的技術通常會因為只有很少的標記例項可用而在小資料情景中崩潰。這個情景通常被稱為“少樣本學習(few-shot learning)”,並需要在實際應用中仔細考慮。例如,一個家庭機器人被期望可以完成這樣的任務:向它展示一個新物體,且只展示一次,之後它便可以識別這個物體。一個人可以很自然地完成這個任務,即使這個物體之後又被操作過了,例如一個毛毯被摺疊起來了。如何賦予神經網路像人類這樣的泛化能力是一個開放的研究問題。
另一個極端是如何利用超大規模資料有效地提高識別演算法的效能。對於像自動駕駛這樣的關鍵應用,影象識別的出錯成本非常高。因此,研究者們創造出了非常龐大的資料集,這些資料集包含了數以億計的帶有豐富標註的影象,並且他們希望通過利用這些資料使模型的準確度得到顯著提高。
然而,目前的演算法並不能很好地利用這種超大規模資料 。在包含了3億張標註圖片的JFT資料集上,各種深度網路的效能隨著訓練資料量的增加,僅僅呈現出對數級的提高(圖一)。在大規模資料的情況下,繼續增加訓練資料帶來的收益會變得越來越不明顯,這是一個有待解決的重要問題。
圖一 目標檢測在JFT-300M資料集上的效能隨訓練樣例的增多呈對數倍的提高。x軸是對數尺度下的資料大小。y軸是目標檢測的效能。左圖使用COCO minival測試集上的[email protected][0.5,0.95] 指標,右圖使用PASCAL VOC 2007測試集上的[email protected]指標 。紅藍兩條曲線分別代表兩種不同的模型。
挑戰三:全面的場景理解
除了這些與訓練資料和泛化能力相關的問題外,還有一個重要的研究課題是全面的場景理解。除了識別和定位場景中的物體之外,人類還可以推斷物體和物體之間的關係、部分到整體的層次、物體的屬性和三維場景佈局。
獲得對場景的更廣泛的理解將會幫助例如機器人互動這樣的應用,因為這些應用通常需要物體標識和位置以外的資訊。這個任務不僅涉及到對場景的感知,而且還需要對現實世界的認知理解。要實現這一目標,我們還有很長的路要走。全面的場景理解的一個例子為全景分割,見圖二。
圖二 (a)原圖;(b)語義分割:識別天空、草地、道路等沒有固定形狀的不可數材質(stuff),標記方法通常是給每個畫素加上標籤 ;©例項分割:分割人、動物或工具等可數且獨立的物體例項(object instance),通常用包圍盒或分割掩碼標記目標;(d)全景分割:生成統一的、全域性的分割影象,既識別材質,也識別物體。
挑戰四:自動化網路設計
最後一個值得一提的挑戰是使網路設計自動化。近年來,影象識別這一領域的重心從設計更好的特徵轉向了設計更新的網路架構。然而,設計網路架構是一個冗長乏味的過程,它需要處理大量的超引數和設計選擇。調優這些元素需要有經驗的工程師花費大量的時間和精力。
更重要的是,一個任務的最優架構和另一個任務的最優架構可能是完全不同的。儘管我們對自動神經架構搜尋的研究已經開始了,但它們仍然處於早期階段並且僅適用於影象分類任務。當前方法的搜尋空間非常狹窄,因為它們尋找的是現有網路模組的區域性最優組合(例如深度可分離卷積和恆等連線),並且無法發現新的模組。目前還不清楚這些現有的方法是否足以勝任更復雜的任務。
圖三 神經架構搜尋演算法的抽象圖解。搜尋策略首先從事先定義好的搜尋空間中選擇一個架構A,這個構架接著被評估策略進行評估,並將評估的A的效能傳遞給搜尋策略 。
儘管在影象識別領域存在上述諸多挑戰,但我們仍然相信深度學習在影象識別領域的巨大潛力。解決這些問題的機會比比皆是,下面我們看看這其中的幾個研究方向:
方向一:整合常識
影象識別領域有一個重要的研究方向是將常識融入到深度學習中。目前,深度學習主要作為一種純粹的資料驅動技術被使用。在深度學習中,神經網路利用訓練集中的標註樣本學習一個非線性函式,之後在測試時則將這個學習到的函式作用到圖片畫素上。訓練集之外的資訊則一點也沒有被用到。
相比之下,人類識別物體不僅基於已經看到的樣本,還基於他們有關真實世界的常識。人們能夠對他們所看到的東西進行推理,以避免不合邏輯的識別結果。此外,當遇到新的或超出預期的東西時,人類可以迅速調整他們的知識來解釋這次的新經歷。如何在深度網路中獲取、表示常識以及利用常識進行推理是一個挑戰。
方向二:幾何推理
聯合執行影象識別和幾何推理則是另一個有潛力的方向。影象識別的主要模型只考慮了二維外觀,而人類可以感知三維場景佈局以及推斷其內在的語義類別。三維佈局不僅可以從雙目視覺中獲得,還可以從二維輸入的幾何推理中得到,就像人們看照片時所做的那樣。聯合影象識別和幾何推理為雙方都提供了好處。
從幾何推理中確定的三維佈局可以幫助在看不見的視角、變形和外觀的情況下引導識別。它還可以消除不合理的語義佈局,並幫助識別由其三維形狀或功能定義的類別。例如,沙發中存在著巨大的類內外觀差異。然而,它們擁有共同的屬性,可以幫助識別它們。比如它們都有一個水平面用來坐,一個背面用於支撐。另一方面,識別出來的語義可以規範化幾何推理的解空間。例如,如果一隻狗在一個場景中被識別,它相應的三維結構應該符合狗的三維形狀模型。
圖四 從視訊的兩個不同視角的幀重建出複雜動態場景的點雲
方向三:對關係建模
關係建模也有很大的研究潛力。想要全面理解一個場景,對場景中存在的目標實體之間的關係和相互作用的建模非常重要(圖四)。考慮兩張圖片,每個圖片都包含一個人和一匹馬。如果一張展示的是騎著馬的人,另一張展示的是踩著人的馬,顯然這兩張圖片表達了完全不同的意思。此外,通過關係建模提取的底層場景結構可以幫助補償當前深度學習方法因資料有限而出現的模糊不確定等問題。儘管人們已經在努力解決關係建模這個問題,但這項研究仍然是初步的,並且還有很大的探索空間。
圖五 目標檢測中的關係網路。表示物體的外表特徵,表示物體的幾何特徵
方向四:學習如何學習
這裡還有一個值得一提的方向是元學習,它的目標是學習學習過程。這個課題最近引起了相當多的關注,而且神經架構搜尋也可以被認為是它的一種應用。
然而,由於目前對學習過程建模的機制、表示和演算法還比較初級,元學習的研究仍處於早期階段。以神經架構搜尋為例,它只侷限於現有網路模組的簡單組合。元學習者無法捕捉到創作新網路模組所需的微妙的直覺和敏銳的洞察力。隨著元學習的進步,自動架構設計的潛力可能會被完全釋放出來,進而得到遠超手工設計的網路結構。
圖六 元學習近期的進展。自左至右分別為元學習的超引數優化 、神經架構搜尋 、少樣本影象分類 。
這是一個激動人心的從事影象識別的時代,一個充滿了推動領域發展、影響未來應用的機會時代。我們熱切盼望即將到來的進步,並期待這些新技術以深刻而神奇的方式改變我們的生活。