用幾何學提升深度學習模型性能,是計算機視覺研究的未來

機器學習 深度學習 人工智能 數學 百家物聯 2017-05-04

深度學習使計算機視覺得以蛻變。如今,絕大多數問題的最佳解決方案是基於端到端的深度學習模型,尤其是當卷積神經網絡傾向於開箱即用後便深受青睞。但這些模型主要為大型黑箱,其透明度很差。

儘管如此,我們仍舊在深度學習領域獲得了顯著成果,即研究人員能通過一些數據以及使用基本的深度學習 API 所編寫的20 餘行代碼來獲得大量容易得到的成果。雖然這些成果很有突破性,但我認為它們往往過於理想化,且缺乏原則性理解。

本篇博文中,我將提出理由證明,人們通常會生硬地應用深度學習模型來處理計算機視覺問題,但實際上我們能夠做得更好。我攻讀博士第一年的一些成果便是範例。PoseNet 是我為了研究拍照姿勢而使用深度學習開發的一個算法。這個問題在計算機視覺領域已被研究了幾十年,有大量優秀的相關理論。但作為博一學生,我天真地應用了一個深度學習模型來端到端地研究這個問題,儘管我完全忽視了該問題的理論,卻仍然獲得了不錯的成果。本文末尾我會介紹一些近期研究,它們以更理論化、基於幾何學的方法來看待這個問題,從而對性能做出了極大的提升。

我們正在用盡這些唾手可得的成果,或者用簡單的高級深度學習 API 解決的絕大多數問題。具體而言,我認為應用深度學習的計算機視覺在未來的許多發展都將源於對幾何學的洞見。

一、我所言的幾何學是什麼?

在計算機視覺中,幾何描述了世界的結構與形狀,具體涉及到如深度、體積、形狀、姿勢、視差、運動以及光流等測量單位。

我認為幾何在視覺模型中舉足輕重,主要由於是它定義了世界的結構,並且我們能夠理解這種結構(例如從許多著名教科書中得以理解)。因此很多複雜的關係(如深度和運動)並不需運用深度學習從頭開始研究。通過構建運用這種知識的架構,我們能在現實中應用它們並簡化學習問題。文末的一些例子將展示如何使用幾何來提高深度學習架構的性能。

替代範式使用了語義表徵。語義表徵使用語言來描述世界中的關係,如我們會描述一個物體為「貓」或「狗」。但我認為幾何對語義而言具有兩個有吸引力的特徵:

1. 幾何能被直接觀察。我們可以通過視覺直接看到世界的幾何外觀。在最基本的層次上,我們可通過幀之間的對應像素來直接觀看視頻的運動與深度;其他有趣的例子還有根據立體視差的陰影或深度來觀察形狀。相較之下,語義表徵通常是人類語言所專有的,其標籤對應於一組有限的名詞,從而無法直接觀察。

2. 幾何基於連續量(continuous quantities),如我們能以米為單位測量深度或以像素為單位測量視差。相較之下,語義表徵主要是離散量(discretised quantities)或二元標籤。

為何這些屬性如此重要?原因之一便是它們對無監督學習十分有效。

用幾何學提升深度學習模型性能,是計算機視覺研究的未來

該結構圖是英國劍橋中部附近的幾何運動重建,我用手機攝像製作了它。

二、無監督學習

無監督學習是人工智能研究中很令人興奮的領域,它通過非標註數據來學習表徵和結構。這很使人振奮,因為獲取大量的標籤訓練數據十分困難而昂貴。無監督學習提供了更加可擴展的框架。

我們可以使用上述的兩個屬性通過幾何學建模無監督學習:可觀察性與連續表徵。

例如,去年我最欣賞的論文之一便展示瞭如何運用幾何學來使用無監督訓練研究深度。這個例子很成功地說明了如何將幾何理論和上述屬性相結合,進而形成一個無監督學習的模型。其他研究論文也展示了類似的想法,即將幾何用於運動的無監督學習。

我最欣賞的論文之一

三、語義不夠嗎?

語義在計算機視覺中常常博得許多關注,因為大量高度引用的突破性論文都來於圖像分類或語義分割。

僅僅依靠語義來設計世界的表徵存在這樣一個問題,即語義是由人類定義的。人工智能系統必須瞭解語義,從而才能與人類進行交互。 然而,正由於語義是由人類定義的,這些表徵便可能不是最優的。通過觀察世界中的幾何來直接學習可能更加自然。

不難理解,嬰兒就曾使用初級的幾何學來學習觀看這個世界。根據美國眼科協會的統計,在生命的最初 9 個月中,人類學習協調眼睛來聚焦並感知深度、顏色與幾何;直到第 12 個月,才會明白如何識別對象和語義。這說明幾何學對於人類視覺的基礎而言十分重要。在將這些洞見納入計算機視覺模型時,我們一定會做得很好。

用幾何學提升深度學習模型性能,是計算機視覺研究的未來

機器對世界的語義理解(a.k.a. SegNet)。每種顏色代表不同的語義分類,如道路、行人、標誌等。

四、我的近期研究中的幾何示例

我想通過兩個具體示例結束本文,它們將解釋如何在深度學習中運用幾何學:

1. 學習使用 PoseNet 進行重新定位

在本文的介紹中,我舉出的 PoseNet 示例是一個單目 6 自由度(monocular 6-DOF)重新定位算法,它解決了所謂的機器人綁架問題。

在 ICCV 2015 的初稿中,我們通過學習由輸入圖像到 6 自由度拍照中姿勢的端對端映射來解決這個問題,這一方法單純地將問題看作了黑盒子。而在今年的 CVPR 中,我們通過考慮問題的幾何學屬性從而更新了這一方法。我們並未將拍照姿勢與方向值作為單獨的迴歸目標,而是使用幾何重現誤差(geometric reprojection error)來一同學習。它說明了世界的幾何性,結果也得到了顯著改善。

用幾何學提升深度學習模型性能,是計算機視覺研究的未來

2. 用立體視覺預測深度

第二個示例是立體視覺,即以雙目視覺估測深度。我曾有幸參去研究這個問題——在世界最先進的無人機上工作,與 Skydio 度過了一段美好的盛夏。

立體算法通常用於估測物體在一對整齊立體圖像之間的水平位置差異,即視差,其與相應像素位置的場景深度成反比。因此它在本質上能被簡化為一個匹配問題——找到左右圖像中物體之間的對應關係,並且ni ke yi計算深度。

立體中性能最高的算法主要使用了深度學習,但僅限於構建匹配的功能。生產深度估測所需的匹配以及正規化步驟在很大程度上仍然是人工完成的。

我們提出了GC-Net 架構,但此次著重的是問題的基礎幾何。眾所周知,在立體中我們可以在 1-D 視差線上通過成本量的形成來估測差異。本文的創新性在於,它展示瞭如何以可微分的方式將成本量的幾何闡述為迴歸模型。本文還具有更多細節。

用幾何學提升深度學習模型性能,是計算機視覺研究的未來

這是一篇關於 GC-Net 架構的概述,它運用幾何的清晰表徵來預測立體深度。

五、結論

我認為本文傳達的關鍵信息是:

  • 瞭解解決計算機視覺問題的經典方法是值得的(尤其你具有機器學習或數據科學背景)。
  • 若能將架構結構化以利用問題的幾何屬性,則使用深度學習來研究複雜表徵便會更加容易與有效。

【本文是51CTO專欄機構機器之心的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】

【編輯推薦】

相關推薦

推薦中...