向真實世界應用進軍:持續自監督學習的挑戰

語言: CN / TW / HK

在 Yann Lecun 等人的推動下,自監督學習成為了深度學習領域最受矚目的技術之一。互聯網世界源源不斷產生的數據流無疑是充分發揮自監督學習能力的最佳土壤。然而,將自監督學習應用於自然場景將面臨哪些嚴峻的挑戰?且看來自 CMU 的 Abhinav Gupta 團隊如何對此展開研究。

編譯 | OGAI

編輯 | 陳彩嫻

1

摘要

自監督學習旨在消除表示學習對人工標註的需求,我們希望自監督學習利用自然場景下的數據學習表徵,即不需要有限的和靜態的數據集。真正的自監督算法應該能夠利用互聯網上產生的連續數據流,或者利用智能體在探索其環境時產生的數據流。

但是傳統的自監督學習方法在這種情況下有效嗎?在本文中,我們通過實驗對「連續自監督學習」問題展開了研究。 在自然場景下學習時,我們希望使用連續(無限)的非獨立同分布數據流,它遵循視覺概念的非平穩分佈。 我們的目標是在不遺忘過去看到的概念的條件下,學習一種魯棒、自適應的表徵。

本文指出,直接將現有的方法應用於這種連續學習的設定存在以下問題:(1)計算效率低下、數據利用率低(2)在一些流數據源中,時間相關性(數據非獨立同分布)導致表徵較差(3)在具有非平穩數據分佈的數據源上進行訓練時,展現出災難性遺忘的跡象。我們作者提出使用回放緩衝區(replay buffer)來緩解低效和時間相關性問題。我們進一步提出了一種新的方法,通過保留最少的宂餘樣本來增強回放緩衝區。最小宂餘(MinRed)緩衝區讓我們即使是在由單個具身智能體獲得的序列化視覺數據組成的最具挑戰性的流場景中,也可以學習到有效的表徵,並緩解利用非平穩語義分佈的數據學習時的災難性遺忘問題。

2

引言

計算機視覺領域正經歷着從「監督學習」到「自監督學習」的範式轉換。在自監督學習場景下,由於我們不再受制於手動數據標註的成本,可以釋放數據的真正潛能。近年來,一些工作開始將現有的方法拓展到包含超過 10 億張圖片的超大規模數據集上,從而希望學習到更好的表徵。那麼,我們是否準備好在自然場景下部署自監督學習,從而利用無限的數據的全部潛力呢?

圖注:傳統自監督學習與持續自監督學習對比。傳統自監督學習設定下,數據集是固定的。而自然場景下持續收集到的數據是無限、非獨立同分布、具有非平穩語義的。因此,傳統設定很難作為自然場景下部署的自監督學習的對比基準。

儘管自監督學習有望利用互聯網或機器人智能體生成的無限數據流,但當下的自監督學習方法仍然依賴於傳統的數據集設置。我們採用積累的圖像和視頻創建訓練語料庫,然後利用數百個經過打亂的數據遍歷優化模型。使用數據集的主要是為了復現基準測試。然而,這種傳統的靜態學習設置適用於作為自監督學習的基準測試嗎?這種設置是否準確地反映了在自然場景下部署的自監督系統所面臨的挑戰?

答案是否定的。例如,考慮一個這樣的自監督的系統,它試圖學習網絡多年積累下來的汽車的表徵。目前的實驗設定只評估靜態學習,而不評估模型在不忘記舊車型的情況下適應新車型的表徵的能力。此外,部署的機器人自監督學習智能體主動地從輸入的視頻中獲取幀數據。由於時間是連貫的,這些數據具有很強的結構性和相關性。然而, 由於現有的自監督基準測試依賴於通過隨機抽樣產生獨立同分布樣本的數據集,它們並沒有反映這一挑戰。

在本文中,我們超脱於數據驅動的自監督學習,進而研究現有的持續自監督學習方法的性能。具體而言,我們探討了兩種部署的方法面臨的挑戰: (1)基於互聯網的自監督模型,依賴於持續獲得的圖像/視頻數據;(2)基於智能體的自監督系統,直接根據智能體傳感器數據學習。 以上兩種方式都依賴於持續生成新數據的流數據源,為自監督學習基準測試帶來了以下三個獨特的挑戰:

(1)存儲無限數量的數據是不可行的。 由於帶寬或傳感器速度的限制,在自然場景下獲取數據通常要耗費一定時間。因此,我們不可能進行逐 Epoch 的訓練。傳統的自監督學習方式每次使用一個樣本,學習器的效率較低,經常需要等待可用的數據,未充分利用處理的數據。一些研究人員依靠回放緩衝區從訓練過程中解耦出數據採集工作。那麼,在採集數據同時使表徵持續提升的情況下,回放機制有多大的效果?

(2)不能「打亂」流數據源從而創建獨立同分布樣本的 mini-batch。 相反,樣本的順序是由數據源本身決定的。訓練數據不一定滿足獨立同分布要求,這對傳統的表示學習方法帶來了挑戰。那麼,如何讓現有的自監督方法,從而在各種非獨立同分布條件下學習到魯棒的表徵?

(3)真實 世界的數據是非平穩的。 例如,在世界盃期間,人們會看到更多與足球相關的圖片。此外,探索室內環境的機器人會觀察到根據時間聚類的語義分佈。智能的終身學習系統應該能夠不斷地學習新概念,同時不忘記來自非平穩數據分佈的舊概念。然而,經驗表明,傳統的對比學習方法可以使表徵對當前的布過擬合,產生遺忘現象。那麼,我們應該如何設計可以在非平穩條件下學習的自監督學習方法?

本文的主要貢獻包括:確定了在持續自監督學習設定下出現的三個關鍵挑戰——即訓練效率、對非獨立同分布數據流的魯棒性和非平穩語義分佈下的學習。我們都構建了針對性的數據流來模擬每項挑戰,定量地展示了現有自監督學習方法的缺點,提出了這些問題的初步解決方案。我們探索了 緩衝自監督學習(Buffered SSL) 的思想,它用回放緩衝區來增強現有的方法,以提高訓練效率。其次,我們通過去除存儲樣本的相關性,提出了一種新方法來處理非獨立同分布數據流。我們説明了,在非平穩數據分佈下,去相關緩衝可以防止遺忘,並改善持續學習。

圖注:在自然場景下部署持續自監督學習系統面臨的三大挑戰。

首先,無線數據流中的樣本無法重複,我們使用回放緩衝區增強現有的自監督學習方法,顯著緩解了該問題。其次,持續從自然場景下收集的數據往往在時間上是相關的,不滿足優化算法的獨立同分布假設。我們通過增強回放緩衝區來保留最低限度的宂餘樣本(MinRed),從而生成相關性較低的數據。最後,在自然場景下收集到數據的於一分部是非平穩的,模型可能會「遺忘」在過去的分佈中看到的概念。MinRed 緩衝區可以通過從各種語義類中收集獨特的樣本緩解「遺忘」問題。

3

流自監督學習 v.s 傳統自監督學習

現有的自監督學習方法依賴於固定大小的數據集。這些數據集 是有限、不可變、現成可用的。因此,我們可以對樣本進行編號、打亂其順序,在訓練的所有節點上都可以獲取樣本。傳統的自監督學習通過在數據集上進行多個 Epoch 的訓練來利用這些特性的優勢。

相較之下,持續自監督學習依賴於流數據源 S,即無標籤傳感器數據的時間序列 ,該序列的長度可能是無限的。在給定的任意時間點 t 上,從流數據源 S 中抓取數據會產生當前的樣本 ,此時無法獲取未來的樣本。只有在過去抓取時保存下來的樣本才能被再次訪問。

在持續自監督學習設定下,數據加載時間 和執行每個優化步所需的時間 之比是很重要的參數。在大多數情況下,由於數據架子速度較慢、傳感器幀率較低, 即使使用並行化技術,優化算法仍然需要等待數據加載。因此,持續自監督學習方法需要在使用流數據源中獲得的樣本進行訓練的情況下,高效、持續地構建更好的表徵。

4

持續自監督學習有何優勢?

擴增獨特圖像的數量是否有助於表示學習?

為了理解增長訓練數據的規模的作用,我們為所有在 2008 年至 2021 年間上傳至圖片分享網站 Flickr.com 的帶有知識共享標籤的圖像賦予編號。接着,我們使用該編號創建了各種規模的數據集,通過多倫傳統自監督學習方法訓練視覺表徵。我們採用了代表性的對比學習方法 SimSiam,它通過優化增強不變性損失來學習表徵:

其中, 是對於圖像 的兩種隨機變化, 為模型輸出的表徵,sg 為停止梯度,g 為預測頭。

圖注:使用 ResNet-18 主幹網絡在不同規模的數據集上訓練的 SimSiam 模型在 ImageNet 分類下游任務中的準確率。

如上圖所示,使用更多元化的數據訓練可以得到更好的表徵,説明擴展獨特圖像的規模是有利的,而持續自監督學習可以將這一特性發揮到極致。

5

持續自監督學習面臨的挑戰

在持續自監督學習設定下學習表徵帶來了一些傳統自監督學習方法不存在挑戰:

(1)多輪訓練 vs 單趟訓練。在使用流數據源時,我們無法重新訪問沒有儲存的過去獲得的樣本。流數據的長度可能是無限的,將完整的流數據存儲下來並不可行,連續自監督方法需要通過在樣本上「單趟」訓練的方式學習表徵。

(2)採樣效率。由於傳感器幀頻或帶寬的限制,在現實世界中從流數據源中採樣可能十分低效。由於優化算法可能在等待數據時處於空閒狀態,學習表徵所需的時間會顯著增加。

(3)相關樣本。許多自然場景下的流數據源存在時間相關性。例如,來自在線視頻或機器人探索環境的連續幀會展現出微小的變化。這種相關性打破了傳統優化算法所依賴的獨立同分布假設。

(4)終身學習。使用無限的數據流讓我們可能不斷改進視覺表徵。然而,自然場景下非平穩的數據流會導致自監督學習方法很快遺忘不再與當前分佈相關的特徵。隨着我們不斷獲取新數據,持續自監督學習方法如何在不遺忘之前學到的概念的情況下將新概念集成到表徵中?

上述挑戰同時存在於自然場景下,直接評估當前的自監督學習方法會使我們無法全面、單獨地分析每一項挑戰。因此,我們通過設計一組分別突出各項挑戰的數據流,評估其對現有自監督學習方法的影響。

6

高效訓練

計算效率和數據效率是目前阻礙自監督學習在自然場景下的連續數據流上部署的兩大挑戰。對於大多數實際應用來説, 可能很高,因此自監督學習方法應該更好地利用空閒時間來改進模型。其次,獲取新樣本的成本仍然很高。簡單地將現有的自監督學習方法部署到流數據設定下會在使用一次後就丟棄每批數據。然而,目前的深度學習優化實踐表明,在多個 epoch 中迭代地訓練相同的樣本有助於學習到更好的表徵。

緩衝自監督學習

圖注:緩衝自監督學習引入了回放緩衝區,使模型即使在有限的帶寬設定下仍然能持續訓練。

為了在流數據設定下提升數據效率,我們維護了一個固定大小的回放緩衝區,存儲少量最近的樣本。這個想法的靈感來自常被用於強化學習和監督持續學習的經驗回放技術。如上圖(a)所示,回放緩衝區將流數據源與訓練過程解耦。當流數據可用時,可以將其添加到回放緩衝區,替換加入緩衝區時間最早的樣本(即先進先出的隊列更新規則)。同時,通過對緩衝區隨機採樣,可以隨時生成訓練數據的 batch。如上圖(b)所示,回放緩衝區讓我們可以在空閒等待期間繼續訓練。回放緩衝區讓我們可以通過多次採樣來重用樣本,從而減少總的數據成本。

單趟(One Pass)訓練

我們研究了回放緩衝區在使用單趟訓練數據時的作用。我們使用 Flickr 數據集中序號為前 2 千萬的圖像,分別訓練了使用/不使用回放緩衝區的 ResNet-18 SimSiam 模型。

圖注:具有帶寬限制的流自監督學習。緩衝自監督學習可以利用空閒時間有效地改進學習到的表徵

如上圖所示,通過維護一個小的回放緩衝區(只包含最近的 64,000 張圖像),緩衝自監督學習能夠充分利用空閒時間。與傳統自監督學習方法相比,顯著改進了表徵。回放緩衝區還可以提高持續自監督學習設定下的數據效率,每個樣本都可以被多次重用。數據利用率與超採樣率 K 成正比,K 是為訓練生成的 mini-batch 數與從流數據源獲取的 mini-batch 數之比。

為了理解超採樣的限制,我們訓練將一個帶有回放緩衝區的 ResNet-18 SimSiam 模型訓練了固定的更新次數。

圖注:數據效率。通過回放緩衝區增強自監督學習方法可以提升數據效率,使我們可以單次訓練數據流

如上圖所示,基於 Epoch 的自監督學習和緩衝自監督學習在優化更新次數相同的情況下,緩衝自監督學習的性能更佳。儘管需要利用單趟數據進行訓練,超採樣率為 K=10 的緩衝自監督學習可以獲得與基於 epoch 的訓練相當的性能(即使緩衝區的大小僅為 64,000 張圖像)。隨着超採樣率提升,回放緩衝區變得越來越重要。例如,當 K=200 時,無論緩衝區大小如何,在數量相同的數據上,緩衝自監督學習仍然相較於傳統自監督學習有顯著的提升。然而,隨着緩衝區大小提升,學習到的表徵也會更好。因此,在高度超採樣時,緩衝區被來自流數據源的新圖像緩慢更新,增大緩衝區的大小可以防止模型快速過擬合緩衝區中的樣本。

7

相關數據源

自然場景下得到的視覺數據往往是相關、非獨立同分布的。這與傳統自監督學習方法使用的數據形成了鮮明的對比。例如,ImageNet 數據集使我們可以從 1,000 個均勻分佈的對象類別中對圖像採樣。即使是在更大的數據集上訓練的方法,也不太可能在 mini-batch 中遇到高度相關的樣本。但是,即使是在靜態圖像設定下,持續自監督學習設定下的持續數據流也往往不滿足上述假設。

為一個樣本序列,其中 從大數據集中隨機採樣生成,這種採樣近似於獨立同分布。因此,樣本 和樣本 之間高度相關的概率 較低。樣本相關説明圖像在視覺上十分相似,或即使視覺上不相似但描述了相似的語義內容。然而,在持續自監督學習設定下,獨立同分布假設往往不被滿足,即 。假設持續的數據流中的連續樣本具有相同的相關性概率 ,長度為 b 的 batch 中隨機數據對相關似然很大:

在引入尺寸為 的回放緩衝區時,相關似然越低,則表徵學習更有效。

最小宂餘回放緩衝區

儘管回放緩衝區可以減小相關性似然,但需要非常大的回放緩衝區,才能在樣本高度相關的設定下得到較低的 。為了緩解這一問題,我們提出了一種修正後的回放緩衝區——最小宂餘回放緩衝區(MinRed),它只保留去相關的樣本,因此可以主動地降低

為此,我們基於學習到的嵌入空間確定宂餘樣本。假設一個回放緩衝區的最大容量為 B,它已經包含了 B 個具有表徵 的樣本。為了向該緩衝區中加入新的樣本 x,我們根據所有樣本對之間的餘弦距離丟棄大多數宂餘的樣本:

換而言之,我們丟棄那些與其最近鄰具有最小余弦距離的樣本。

非獨立同分布數據流上的實驗

我們評估了自監方法在兩種具有高度時間相關性的數據流上的性能。第一個數據流是通過連接 Kinetics 數據集中的視頻樣本創建的。我們從每個視頻中隨機採樣 幀,並將它們依次添加到數據流中。第二個訓練流是 KrishnaCAM 數據集中的連續幀,記錄了一名計算機視覺研究生九個月的以自我為中心的視頻。我們分別在每個流數據上訓練傳統的 SimSiam、聽過回放緩衝區增強的緩衝 SimSiam,通過 MinRed 緩衝區增強的 SimSiam。

圖注 :視覺上相關的自監督學習。在具有高度時間相關性的數據源上訓練的緩衝和非緩衝 SimSiam 表徵的線性分類效果。MinRed 通過對數據進行解相關學到更好的表徵。

如上圖所示,數據的相關性嚴重擾亂了傳統模型的訓練,而常規的回放緩衝區技術在一定程度上緩解了這個問題,但學習到的表徵在高度相關的數據流(例如, 的 Kinetics 數據集和 KrishaCAM 數據集)上仍然會收到影響。相較之下,本文提出的 MinRed 緩衝在上述設定下表現出了顯著的性能提升。使用 MinRed 緩衝區訓練的模型性能往往十分接近使用完全解相關的數據流訓練。

訓練樣本的相關性:生成具有較低相關似然的訓練樣本是緩衝自監督學習的優勢之一,因此這些樣本更加接近獨立同分布。

圖注:使用/不使用回放緩衝訓練時的 batch 內的數據相關性。

如上圖所示,MinRed 回放緩衝區中的內容比 FIFO 緩衝區中內容的相關性明顯較低。在使用 KrishnaCAM 數據集時,MinRed 緩衝區能夠維護過去更長的時間內的獨特幀。在使用 Kinetics 數據集時,MinRed 緩衝區用可以產生包含更多獨特視頻中的幀構成的訓練用 mini-batch。

8

終身自監督學習

在探索世界時,我們會遇到各種目標類的分佈,會經常遇到一些未曾見過的類別,語義類的分佈通常會實時偶然變化。然而,傳統的自監督學習方法針對有限的概念學習,這些概念被重複使用了數千次。這種簡化的學習設定不能反映概念在自然場景下的非平穩特性。

用於自監督學習對比基準的非平穩數據流

受監督式持續學習的啟發,我們引入了具有平滑偏移語義分佈的設置。首先,我們基於 Wordnet 的類別層次結構將 ImageNet-21K 數據集劃分為 4 份 ,每一份包含語義相似的類別的圖像。對於每一類,我們拿出 25 張圖像用於評估。我們通過從打亂的上述 4 個數據集 中依次隨機採樣圖像並彙總,從而得到訓練數據流。其中, 的排列。這樣一來,我們就模擬了語義分佈的平滑變化。我們旨在學習到可以在不發生過擬合、不遺忘先前看到的概念的情況下,能夠判別所有數據集中概念的表徵。

非平穩分佈上的實驗

我們分別在單趟數據流上使用傳統的 SimSiam、帶有回放緩衝區的 SimSiam、帶有最小宂餘緩衝區的 SimSiam 進行訓練。在評估階段,我們利用學到的表徵訓練了一個線性分類器,用來識別 ImageNet-21K 數據集中的所有類別,並在每個 的留出集上評估了模型準確率,實驗結果取三次排列的平均值。

圖注:完整 ImageNet 數據集上的持續無監督表徵學習實驗結果。(a)在每個任務的數據上訓練,測量在其它每個任務上的準確率下降情況。最小宂餘緩衝區可以保留先前任務的實例,因此緩解了傳統自監督學習中的災難性遺忘問題,能夠有規律地回放緩衝區中的內容。(b)15,790 個類別上的整體準確率。通過確保來自過去類別分佈的圖像沒有被遺忘,最小宂餘緩衝區可以學習更好的總體表徵。

如上圖所示,所有的方法性能都會受到「遺忘」現象的損害。然而,MinRed 緩衝區維護了語義範圍更廣的訓練數據,使用了 MinRed 緩衝區的 SimSiam 的性能下降較小,始終具有較好的泛化能力。

9

結語

在本文中,作者指出了構建魯棒、可部署的自監督學習器所面臨的三大挑戰。通過利用回放緩衝區重新訪問較早訪問過的樣本,作者提升持續自監督學習模型的效率。未來,研發通過預先評估樣本價值實現快速拒絕樣本的方法可能會提高數據效率。作者還提出了新的最小宂餘緩衝區技術,該技術可以丟棄相關性較強的樣本,使我們能夠模擬獨立同分布訓練數據的生成。此外,未來的研究可以更加關注利用數據流的相關性,從細粒度的差異中學習表徵。

在具有非平穩語義分佈的數據流中,作者發現 MinRed 緩衝區緩解了災難性遺忘的問題,它們能夠維護來自過去分佈的獨特樣本。然而,當引入新概念時,作者觀察到「飽和泛化」的現象,這可能是由於:(1)餘弦衰減學習率(2)模型的容量是固定的,無法學習大的新概念序列。作者發現,使用恆定的學習率進行訓練並不能顯著提高模型性能。作者還發現,定期擴展模型架構並不會帶來明顯的性能提升。我們需要以自監督的方式不斷學習新的概念。

「其他文章」