用幾何學(xué)提升深度學(xué)習(xí)模型性能,是計(jì)算機(jī)視覺研究的未來
深度學(xué)習(xí)使計(jì)算機(jī)視覺得以蛻變。如今,絕大多數(shù)問題的最佳解決方案是基于端到端的深度學(xué)習(xí)模型,尤其是當(dāng)卷積神經(jīng)網(wǎng)絡(luò)傾向于開箱即用后便深受青睞。但這些模型主要為大型黑箱,其透明度很差。
盡管如此,我們?nèi)耘f在深度學(xué)習(xí)領(lǐng)域獲得了顯著成果,即研究人員能通過一些數(shù)據(jù)以及使用基本的深度學(xué)習(xí) API 所編寫的20 余行代碼來獲得大量容易得到的成果。雖然這些成果很有突破性,但我認(rèn)為它們往往過于理想化,且缺乏原則性理解。
本篇博文中,我將提出理由證明,人們通常會生硬地應(yīng)用深度學(xué)習(xí)模型來處理計(jì)算機(jī)視覺問題,但實(shí)際上我們能夠做得更好。我攻讀博士第一年的一些成果便是范例。PoseNet 是我為了研究拍照姿勢而使用深度學(xué)習(xí)開發(fā)的一個算法。這個問題在計(jì)算機(jī)視覺領(lǐng)域已被研究了幾十年,有大量優(yōu)秀的相關(guān)理論。但作為博一學(xué)生,我天真地應(yīng)用了一個深度學(xué)習(xí)模型來端到端地研究這個問題,盡管我完全忽視了該問題的理論,卻仍然獲得了不錯的成果。本文末尾我會介紹一些近期研究,它們以更理論化、基于幾何學(xué)的方法來看待這個問題,從而對性能做出了極大的提升。
我們正在用盡這些唾手可得的成果,或者用簡單的高級深度學(xué)習(xí) API 解決的絕大多數(shù)問題。具體而言,我認(rèn)為應(yīng)用深度學(xué)習(xí)的計(jì)算機(jī)視覺在未來的許多發(fā)展都將源于對幾何學(xué)的洞見。
一、我所言的幾何學(xué)是什么?
在計(jì)算機(jī)視覺中,幾何描述了世界的結(jié)構(gòu)與形狀,具體涉及到如深度、體積、形狀、姿勢、視差、運(yùn)動以及光流等測量單位。
我認(rèn)為幾何在視覺模型中舉足輕重,主要由于是它定義了世界的結(jié)構(gòu),并且我們能夠理解這種結(jié)構(gòu)(例如從許多著名教科書中得以理解)。因此很多復(fù)雜的關(guān)系(如深度和運(yùn)動)并不需運(yùn)用深度學(xué)習(xí)從頭開始研究。通過構(gòu)建運(yùn)用這種知識的架構(gòu),我們能在現(xiàn)實(shí)中應(yīng)用它們并簡化學(xué)習(xí)問題。文末的一些例子將展示如何使用幾何來提高深度學(xué)習(xí)架構(gòu)的性能。
替代范式使用了語義表征。語義表征使用語言來描述世界中的關(guān)系,如我們會描述一個物體為「貓」或「狗」。但我認(rèn)為幾何對語義而言具有兩個有吸引力的特征:
1. 幾何能被直接觀察。我們可以通過視覺直接看到世界的幾何外觀。在最基本的層次上,我們可通過幀之間的對應(yīng)像素來直接觀看視頻的運(yùn)動與深度;其他有趣的例子還有根據(jù)立體視差的陰影或深度來觀察形狀。相較之下,語義表征通常是人類語言所專有的,其標(biāo)簽對應(yīng)于一組有限的名詞,從而無法直接觀察。
2. 幾何基于連續(xù)量(continuous quantities),如我們能以米為單位測量深度或以像素為單位測量視差。相較之下,語義表征主要是離散量(discretised quantities)或二元標(biāo)簽。
為何這些屬性如此重要?原因之一便是它們對無監(jiān)督學(xué)習(xí)十分有效。
該結(jié)構(gòu)圖是英國劍橋中部附近的幾何運(yùn)動重建,我用手機(jī)攝像制作了它。
二、無監(jiān)督學(xué)習(xí)
無監(jiān)督學(xué)習(xí)是人工智能研究中很令人興奮的領(lǐng)域,它通過非標(biāo)注數(shù)據(jù)來學(xué)習(xí)表征和結(jié)構(gòu)。這很使人振奮,因?yàn)楂@取大量的標(biāo)簽訓(xùn)練數(shù)據(jù)十分困難而昂貴。無監(jiān)督學(xué)習(xí)提供了更加可擴(kuò)展的框架。
我們可以使用上述的兩個屬性通過幾何學(xué)建模無監(jiān)督學(xué)習(xí):可觀察性與連續(xù)表征。
例如,去年我最欣賞的論文之一便展示了如何運(yùn)用幾何學(xué)來使用無監(jiān)督訓(xùn)練研究深度。這個例子很成功地說明了如何將幾何理論和上述屬性相結(jié)合,進(jìn)而形成一個無監(jiān)督學(xué)習(xí)的模型。其他研究論文也展示了類似的想法,即將幾何用于運(yùn)動的無監(jiān)督學(xué)習(xí)。
我最欣賞的論文之一
三、語義不夠嗎?
語義在計(jì)算機(jī)視覺中常常博得許多關(guān)注,因?yàn)榇罅扛叨纫玫耐黄菩哉撐亩紒碛趫D像分類或語義分割。
僅僅依靠語義來設(shè)計(jì)世界的表征存在這樣一個問題,即語義是由人類定義的。人工智能系統(tǒng)必須了解語義,從而才能與人類進(jìn)行交互。 然而,正由于語義是由人類定義的,這些表征便可能不是最優(yōu)的。通過觀察世界中的幾何來直接學(xué)習(xí)可能更加自然。
不難理解,嬰兒就曾使用初級的幾何學(xué)來學(xué)習(xí)觀看這個世界。根據(jù)美國眼科協(xié)會的統(tǒng)計(jì),在生命的最初 9 個月中,人類學(xué)習(xí)協(xié)調(diào)眼睛來聚焦并感知深度、顏色與幾何;直到第 12 個月,才會明白如何識別對象和語義。這說明幾何學(xué)對于人類視覺的基礎(chǔ)而言十分重要。在將這些洞見納入計(jì)算機(jī)視覺模型時,我們一定會做得很好。
機(jī)器對世界的語義理解(a.k.a. SegNet)。每種顏色代表不同的語義分類,如道路、行人、標(biāo)志等。
四、我的近期研究中的幾何示例
我想通過兩個具體示例結(jié)束本文,它們將解釋如何在深度學(xué)習(xí)中運(yùn)用幾何學(xué):
1. 學(xué)習(xí)使用 PoseNet 進(jìn)行重新定位
在本文的介紹中,我舉出的 PoseNet 示例是一個單目 6 自由度(monocular 6-DOF)重新定位算法,它解決了所謂的機(jī)器人綁架問題。
在 ICCV 2015 的初稿中,我們通過學(xué)習(xí)由輸入圖像到 6 自由度拍照中姿勢的端對端映射來解決這個問題,這一方法單純地將問題看作了黑盒子。而在今年的 CVPR 中,我們通過考慮問題的幾何學(xué)屬性從而更新了這一方法。我們并未將拍照姿勢與方向值作為單獨(dú)的回歸目標(biāo),而是使用幾何重現(xiàn)誤差(geometric reprojection error)來一同學(xué)習(xí)。它說明了世界的幾何性,結(jié)果也得到了顯著改善。
2. 用立體視覺預(yù)測深度
第二個示例是立體視覺,即以雙目視覺估測深度。我曾有幸參去研究這個問題——在世界最先進(jìn)的無人機(jī)上工作,與 Skydio 度過了一段美好的盛夏。
立體算法通常用于估測物體在一對整齊立體圖像之間的水平位置差異,即視差,其與相應(yīng)像素位置的場景深度成反比。因此它在本質(zhì)上能被簡化為一個匹配問題——找到左右圖像中物體之間的對應(yīng)關(guān)系,并且ni ke yi計(jì)算深度。
立體中性能最高的算法主要使用了深度學(xué)習(xí),但僅限于構(gòu)建匹配的功能。生產(chǎn)深度估測所需的匹配以及正規(guī)化步驟在很大程度上仍然是人工完成的。
我們提出了GC-Net 架構(gòu),但此次著重的是問題的基礎(chǔ)幾何。眾所周知,在立體中我們可以在 1-D 視差線上通過成本量的形成來估測差異。本文的創(chuàng)新性在于,它展示了如何以可微分的方式將成本量的幾何闡述為回歸模型。本文還具有更多細(xì)節(jié)。
這是一篇關(guān)于 GC-Net 架構(gòu)的概述,它運(yùn)用幾何的清晰表征來預(yù)測立體深度。
五、結(jié)論
我認(rèn)為本文傳達(dá)的關(guān)鍵信息是:
- 了解解決計(jì)算機(jī)視覺問題的經(jīng)典方法是值得的(尤其你具有機(jī)器學(xué)習(xí)或數(shù)據(jù)科學(xué)背景)。
- 若能將架構(gòu)結(jié)構(gòu)化以利用問題的幾何屬性,則使用深度學(xué)習(xí)來研究復(fù)雜表征便會更加容易與有效。
【本文是51CTO專欄機(jī)構(gòu)機(jī)器之心的原創(chuàng)譯文,微信公眾號“機(jī)器之心( id: almosthuman2014)”】