Online Continual Learning Without the Storage Constraint
無存儲限制的在線持續學習
https://arxiv.org/pdf/2305.09253
摘要
傳統的在線持續學習(OCL)研究主要集中在在整個智能體生命周期中通過固定的、有限的存儲分配來緩解災難性遺忘問題。然而,廣泛的現實世界應用更受計算成本而非存儲限制的影響。本文針對這類應用,在放松存儲約束和有限計算預算的前提下,研究了在線持續學習問題。我們提出了一種簡單的算法:在固定且預訓練的特征提取器基礎上持續更新一個kNN分類器。我們選擇這種算法是因為其非常適用于在線持續學習。它可以適應快速變化的數據流,具有零穩定性差距,在極小的計算預算下運行,僅需存儲特征即可滿足低存儲需求,并具有一致性:它從不遺忘之前見過的數據。這些特性帶來了顯著的性能提升,使我們提出的算法在兩個大規模OCL數據集——Continual LOCalization(CLOC,包含3900萬張圖像和712個類別)和Continual Google Landmarks V2(CGLM,包含58萬張圖像和10,788個類別)上,即使現有方法保留所有已見圖像的情況下,準確率也高出超過20%。此外,我們在實現卓越性能的同時,大幅降低了計算和存儲開銷。代碼可在 https://github.com/drimpossible/ACM 獲取以復現我們的結果。
1 引言
在線持續學習算法需要在一個來自非平穩分布的數據流上不斷更新模型。這要求它們解決多個問題:成功學習主要任務(準確性)、適應分布的變化(快速適應)以及保留過去的信息(防止災難性遺忘)。近年來在線持續學習研究的一個關鍵趨勢是設計在資源受限條件下能在這幾個可能相互沖突的目標之間取得良好平衡的算法(Cai et al., 2021)。
為了確定典型的商業場景下的資源約束,我們首先問:持續學習算法需要什么?一個持續學習算法必須能夠提供準確的預測,擴展到其運行期間遇到的大規模數據集,并在系統的總成本預算內運行(以美元為單位)。數據存儲的經濟學自1987年以來已有研究(Gray & Putzolu, 1987; Gray & Graefe, 1997; Graefe, 2009; Appuswamy et al., 2017)。表1總結了趨勢,顯示存儲成本隨時間迅速下降(例如在2017年,存儲最大的OCL數據集CLOC的成本約為100美元)。相比之下,目前最先進的OCL方法ER基線(Cai et al., 2021)在CLOC上的訓練成本在GCP服務器上超過2000美元,并且在移動設備上仍不具備商業可行性。因此,計算約束才是主要問題,而存儲成本相對微不足道。因此,只要控制好計算成本,經濟地存儲整個輸入數據流是可行的。
然而,在線持續學習主要是在有限存儲約束下進行研究的(Lopez-Paz & Ranzato, 2017; Chaudhry et al., 2019a; Aljundi et al., 2019b),學習者只能存儲一部分輸入數據。這一限制導致許多算法專注于識別具有代表性的數據子集(Aljundi et al., 2019b; Yoon et al., 2022; Chrysakis & Moens, 2020; Bang et al., 2021; Sun et al., 2022; Koh et al., 2022)。雖然有限存儲與生物學習代理和離線實體化人工智能代理的實際約束相符,但基于深度學習的系統主要是計算受限的,并且需要高吞吐量。這樣的系統需要比輸入數據流更快地處理每個數據點,才能有效跟上數據流。Cai等人(2021)表明,即使擁有無限存儲,在線持續學習問題仍然困難重重,因為有限的計算預算隱式地限制了每次訓練更新所使用的樣本集合。本文從計算預算的角度出發,而不是從存儲限制的角度,來探討在線持續學習問題。
我們提出了一種基于近似k近鄰(kNN)算法(Malkov & Yashunin, 2018)的系統,原因在于其具備五個理想的性質:i) 近似kNN本質上是增量算法,具有顯式的插入和檢索操作,使其能夠快速適應新數據;ii) 在合適的表示下,近似kNN算法在大規模數據上表現出色(Efros, 2017);iii) kNN計算成本低廉,盡管緊湊地存儲并使用所有歷史樣本,其計算復雜度呈對數級增長;iv) kNN不會遺忘過去的數據。換句話說,如果再次查詢一個歷史數據點,查詢將返回相同的標簽;v) 它沒有穩定性差距(De Lange et al., 2022)。
理想情況下,一個持續學習者應隨著時間推移不斷學習和更新特征表示。我們將這個有趣的問題留待未來研究,而是展示出結合kNN的方法,即使特征表示是在較小的數據集(ImageNet1K)上預訓練的,也能合理應對諸如CLOC(3900萬張圖像)上的地理定位和CGLM上的長尾細粒度分類等復雜任務。雖然這并未解決根本的持續表示學習問題,但它展示了簡單方法在大規模在線持續學習問題上的有效性,證明了其在許多現實應用中的可行性。此外,我們的方法克服了現有基于梯度下降的方法的一個重大局限:無法從單個樣例中學習。對每個輸入樣本都更新深度網絡在計算上是不可行的。相比之下,kNN可以高效地從單個樣例中學習,從而實現快速適應。我們認為,在利用所有歷史數據的同時適應單個樣例的能力對于真正的在線操作至關重要,這也使我們的簡單方法優于現有的持續學習基線方法。
問題定義
我們依照 Cai 等人(2021)的形式化方法來定義在線持續學習(OCL)問題。在分類任務中,我們的目標是持續學習一個函數 f : X → Y,在時間 t 時由參數 θt 參數化。OCL 是一個迭代過程,其中每一步都包括學習者接收信息并更新其模型。具體來說,在交互的每一步 t 中:
從一個非平穩分布 πt 中采樣得到一個數據點 xt ~ πt。
學習者使用計算預算 Bpred_t,基于當前模型 f(xt; θt) 做出標量預測 ?t = f(xt; θt)。
學習者接收到真實的標簽 yt。
學習者使用計算預算 Blearn_t 更新模型參數為 θt+1。
我們采用 Cai 等人(2021)中提出的前向遷移(適應能力)和后向遷移(信息保留能力)作為評估性能的指標。
OCL 的一個關鍵方面是第二步和第四步中的計算預算限制,它約束了學習者可以使用的計算資源。過去的研究中常見的做法是對存儲和計算施加固定的限制(Cai et al., 2021)。我們去除了存儲限制,并認為只要對計算的影響可控,經濟地存儲全部數據是可行的。
我們將固定的計算限制放寬為對數級約束。換句話說,我們要求每次操作的計算時間滿足。這種設計使得總成本隨數據量呈 O(n log n) 的增長趨勢。
2 相關工作 問題設定(Formulations)
Parisi 等人(2019)與 De Lange 等人(2020)主張提升在線持續學習基準測試的真實性。最早的設定(Lopez-Paz & Ranzato, 2017)采用任務增量式(task-incremental)方式,假設可以知道測試樣本屬于哪一類子集。隨后的主流設定(Aljundi 等人,2019b,a)要求模型在測試時對所有已見過的類別進行預測,并在訓練階段的數據順序上取得進展(Bang 等人,2021;Koh 等人,2022)。然而,Prabhu 等人(2020)指出當前設定的局限性:即使不使用任何未存儲的訓練數據,也能獲得良好的性能。
最新的研究(Hu 等人,2022;Cai 等人,2021;Lin 等人,2021)通過測試模型對下一個到來樣本的快速適應能力來克服這一限制,并直接利用現實世界數據流的時間戳信息,消除了對數據排序的依賴。我們的工作基于 Cai 等人(2021)提出的最新一代設定。不同于 Cai 等人(2021),我們采用單樣本學習(one-sample learning);換句話說,我們以完全在線的方式逐個處理輸入流,徹底去除了“任務”這一概念。此外,我們進一步取消了存儲限制,這是解決 GDumb(Prabhu 等人,2020)中討論的問題的關鍵。
方法(Methods)
適應概念漂移(concept drift)的傳統方法(Gama 等人,2014)包括基于支持向量機(SVMs)的方法(Laskov 等人,2006;Zheng 等人,2013)、隨機森林(Gomes 等人,2017;Ristin 等人,2015;Mourtada 等人,2019)以及其他模型(Oza & Russell, 2001;Mensink 等人,2013)。它們具備增量添加和查詢的能力,與我們的方法最為相似,但尚未與近期的持續學習方法(Ostapenko 等人,2022;Hayes & Kanan, 2020;Hayes 等人,2019)進行比較。我們在實驗中對這些方法進行了廣泛的對比。
為深度網絡設計的(在線)持續學習方法通常基于經驗回放(experience replay)(Chaudhry 等人,2019b),并改變表2中總結的三個方面之一或多個:(i) 學習所使用的損失函數;(ii) 將樣本存入回放緩沖區的算法;(iii) 從緩沖區中采樣一個批次的算法。
將樣本存入回放緩沖區的方法包括:GSS(Aljundi 等人,2019b)、RingBuffer(Chaudhry 等人,2019b)、類別平衡水池(class-balanced reservoir)(Chrysakis & Moens, 2020)、貪心平衡(greedy balancing)(Prabhu 等人,2020)、彩虹記憶(rainbow memory)(Bang 等人,2021)、平均特征選取(herding)(Rebuffi 等人,2017)、核心集選擇(coreset selection)(Yoon 等人,2022)、信息論水池(information-theoretic reservoir)(Sun 等人,2022)以及樣本重要性策略(samplewise importance)(Koh 等人,2022)。由于我們完全取消了存儲限制,這些方法并不適用于我們的設置。
從回放緩沖區采樣批次的方法包括 MIR(Aljundi 等人,2019a)、ASER(Shim 等人,2021)和 AML(Caccia 等人,2022)。這些方法需要挖掘難負樣本或對存儲數據進行額外更新以實現重要性采樣,當面對像我們這樣大規模的存儲需求時會面臨擴展性問題。我們與其中一些方法進行了比較,包括 Cai 等人(2021)中提出的 ER 方法,該方法通過一次梯度更新對傳入數據微調主干網絡,并可無限制地訪問過去樣本用于回放。
預訓練表示(Pretrained representations)
預訓練表示(Yuan 等人,2021;Caron 等人,2021;Chen 等人,2021;Ali 等人,2021)被用作持續學習的初始化方法,尤其是在內存受限的場景下(Wu 等人,2022;Ostapenko 等人,2022)。受 Ostapenko 等人(2022)啟發,我們也進一步探索不同預訓練表示的有效性。
另一個新興方向是提示微調(prompt-tuning),因其在計算效率高且能產生準確分類器而受到關注(Wang 等人,2022b,a;Chen 等人,2023)。然而,Janson 等人(2022)表明簡單的 NCM(最近均值分類器)分類優于復雜的提示微調策略。
與我們的方法最接近的方向是結合深度網絡與 kNN 分類器進行分類的方法(Nakata 等人,2022;Iscen 等人,2022)。但我們運行在顯著不同的設置和約束條件下,使用的是更弱的預訓練表示(ImageNet1K),并在更大規模的在線分類數據集上進行評估。
3 我們的方法:自適應持續記憶(Adaptive Continual Memory)
我們使用預訓練的特征表示,并僅通過近似 k 近鄰(kNN)算法進行學習。因此,我們的算法非常簡單。我們將所提出的算法稱為 自適應持續記憶(Adaptive Continual Memory, ACM) ,并將 kNN 的鄰居集合稱為 Memory(記憶) 。
在每一個時間步中,我們的持續學習者執行以下步驟:
從非平穩分布 πt 中采樣得到一個數據點 xt ~ πt。
學習者提取特征 zt = f(xt; θ)。
學習者檢索最近鄰 Nt = Memory.Retrieve(zt, k)。
學習者進行預測:?t = majority-vote(Nt)(即對最近鄰的標簽進行多數投票)。
學習者接收到真實標簽 yt。
學習者插入新數據:Memory.Insert(zt, yt)。
我們在圖1中總結了這一方法。在介紹進一步實現細節之前,我們先詳細討論該方法的四個重要特性。
快速適應(Fast adaptation)
假設學習者在某一時間步做出了錯誤預測。如果在下一個時間步再次接收到相同的數據點,學習者將能夠給出正確的答案。通過利用最近鄰機制,我們使系統能夠在本地立即整合新數據,并僅憑一個數據點就局部修改其預測結果。這種快速適應能力是在線持續學習中的核心需求之一,但在基于梯度下降的策略中是不可行的,目前也不是深度持續學習系統的典型特征。
一致性(Consistency)
考慮這樣一個假設場景:某個數據點在多個時間點被查詢。我們的學習者永遠不會遺忘該數據點的正確標簽,并且在每次查詢時都會返回相同的正確結果,即使經過很長的時間間隔也是如此。雖然學習和記憶遠不只是機械記憶,但能夠在已見過的數據上始終返回正確答案是一個有效的合理性驗證。作為對比,即使存在極小的延遲,基于深度網絡的持續學習方法也會遺忘大量已見的數據點(Toneva 等人,2019)。
零穩定性差距(Zero Stability Gap)
在學習新樣本的過程中,傳統的持續學習算法通常會因為當前優化狀態遠離之前的最優解而導致過去樣本上的性能下降,隨后隨著模型收斂才逐漸恢復。這種現象被稱為“穩定性差距”(stability gap)(De Lange 等人,2022)。而近似 kNN 本質上不存在這種優化問題,因此具有零穩定性差距 。
高效的在線超參數優化(Efficient Online Hyperparameter Optimization)
在在線持續學習階段,超參數優化是一個關鍵問題,因為當數據分布發生改變時,必須重新校準超參數。像學習率、批量大小等與優化相關的超參數選擇可能十分微妙;錯誤的選擇可能會無限期地影響未來的表現。常見的做法是使用不同參數并行運行多個在線學習任務(Cai 等人,2021),但這可能帶來高昂的資源開銷。
相比之下,我們的方法只有一個超參數 k ,它只影響當前的預測結果,可以在在線持續學習階段以極低的計算成本進行動態調整。具體來說,我們首先按順序檢索出前512個最近鄰,然后在這個排序列表中搜索較小的 k 值(以2為底的冪次),并選擇在模擬先前樣本到來時準確率最高的那個 k 值。
3.1 計算成本與存儲考量
在我們上述提出的方法中,特征提取(第2步)和預測(第4步)具有固定的開銷。然而,如果采用樸素的方式實現最近鄰檢索(第3步)和插入新數據(第6步),其計算成本可能會很高。
不過,在近似 k 近鄰(approximate kNN)相關研究(Shakhnarovich 等人,2006)中已經表明,我們可以顯著降低計算復雜度——從線性復雜度 O(n) 降低到對數復雜度 O(log n)(其中 n 表示內存中的數據點數量——同時保持較高的性能表現。通過從精確 kNN 切換為 HNSW-kNN,我們在保持相似準確率的同時,將比較次數從三千萬次減少到幾百次。
我們選擇使用 HNSWlib 中的 HNSW 算法,因為它在 ANN Benchmarks(Aumüller 等人,2020)上表現出高精度、具備近似性保證以及實際運行速度快。默認構造參數下,我們使用 NMSLib(Malkov & Yashunin, 2018),設置 ef=500 和 m=100。我們在第4.3節中通過壁鐘時間(wall-clock time)分析對這一速度提升進行了量化評估。
4 實驗
我們首先在下方描述我們的實驗設置,然后提供我們的方法與現有的增量學習方法的全面比較。
數據集
我們使用了Google Landmarks V2和YFCC-100M數據集的一個子集來進行在線圖像分類。這些數據集按照圖像上傳的時間戳排序,我們的任務是預測傳入圖像的標簽。我們遵循Chaudhry等人(2019a)中描述的在線持續學習(OCL)協議:首先在預訓練集上調整所有OCL算法的超參數,然后在在線訓練集上持續訓練這些方法,同時測量快速適應性能,最后在未見過的測試集上評估信息保留能力。更多數據集細節請參見附錄。
指標
我們遵循Cai等人(2021)的方法,使用截至當前時間步t的平均在線準確率(at)作為衡量快速適應的指標,公式為:
計算資源與預訓練
為了確保比較方法之間的公平性,我們將所有方法的計算資源限制為使用樸素的經驗回放(ER)方法進行一次梯度更新。所有方法都可以無存儲限制地訪問所有過去的樣本。為了公平起見,所有方法都從在ImageNet1K數據集上預訓練的ResNet50模型開始。我們選擇ImageNet1K預訓練的ResNet50模型是因為盡管它是一個良好的初始化,但單獨使用它不足以在選定的持續學習基準測試中表現良好。我們選擇了涵蓋10788個類別的細粒度地標識別基準測試(CGLM),以及一個包含3900萬樣本的更大規模、更難的地理定位任務(CLOC)。
OCL方法
我們在CLOC數據集上比較了五種流行的OCL方法(Ghunaim等,2023)。對于CGLM,我們比較了CLOC中表現最好的兩種方法。以下是這些方法的簡要概述:
- ER(Cai等,2021)
:我們使用樸素的ER方法,不包括PoLRS和ADRep(Cai等,2021),因為它們并未提升性能。
- MIR(Aljundi等,2019a)
:它額外使用MIR作為選擇機制,以任務無關的方式選擇訓練樣本。
- ACE(Caccia等,2022)
:使用ACE損失代替交叉熵損失,以減少類別間的干擾。
- LwF(Li & Hoiem,2017)
:它添加蒸餾損失以促進信息保留。
- RWalk(Chaudhry等,2018)
:該方法基于Fisher信息矩陣和優化路徑的重要性評分添加正則化項。我們將每一批傳入樣本視為一個新任務。
CGLM和CLOC具有相同的最優超參數。ResNet50模型根據(Ghunaim等,2023)中概述的超參數不斷更新。為了控制計算成本,我們對CGLM使用64的批量大小,對CLOC使用128的批量大小。分別使用最新的模型對CGLM/CLOC數據集的下一批64/128個樣本進行預測。模型在訓練時分別使用128/256的批量大小,剩余的批次用于從存儲中回放樣本。
- 流式線性判別分析(Streaming LDA, SLDA)
(Hayes等,2019):這是當前使用固定特征提取器的最先進的在線持續學習方法。我們使用作者提供的代碼,其中最優收縮參數為1e?4。
- 增量邏輯分類(Incremental Logistic Classification)
(Tsai等,2014):我們包括傳統的增量邏輯分類方法。使用scikit-learn的SGDClassifier,并采用邏輯損失(Logistic loss)。
- 增量支持向量機(Incremental SVM)
(Laskov等,2006):我們包括傳統的在線支持向量分類方法。使用scikit-learn的SGDClassifier,并采用鉸鏈損失(Hinge loss)。
- 自適應隨機森林(Adaptive Random Forests, ARF)
(Gomes等,2017):我們選擇了River庫中表現最好的方法,稱為自適應隨機森林。
- 特征記憶樹(Eigen Memory Trees, EMT)
(Rucker等,2022):這是當前使用樹模型的最先進的增量學習方法,在性能上大幅超越Sun等(2019)的方法。
在線適應能力我們在圖2中比較了ACM與最先進的方法在CGLM和CLOC數據集上的平均在線準確率。我們觀察到,ACM顯著優于先前的方法,在CGLM和CLOC上分別實現了35%和5%的絕對準確率提升。這種改進得益于ACM快速學習新信息的能力。
信息保留能力我們在圖2中比較了ACM與現有最先進的方法在CGLM和CLOC上的后向遷移能力。我們發現,ACM在保存過去信息方面明顯優于現有方法,在兩個數據集上均實現了20%的準確率提升。在更大的CLOC數據集中,我們發現現有方法幾乎完全災難性地遺忘了所有過去的知識,而ACM在過去的多個時間步上保持了相當高的累積準確率。這突顯了一致性特性的優勢,它能夠完美回憶過去的訓練樣本,從而對類似但未見過的測試樣本展現出良好的泛化能力。
此外,通過將這些方法的性能與Ghunaim等(2023)中的快速流方法進行比較,可以明顯看出,即使移除了存儲限制(從40,000個樣本),傳統OCL方法的性能并未發生顯著變化。這表明,即使沒有存儲約束,在有限計算資源下的在線持續學習仍然具有挑戰性。
關鍵結論與流行的持續學習算法相比,ACM在快速適應和信息保留兩方面均表現出顯著更好的性能,盡管這些算法可以在無限制的情況下更新基礎深度網絡以利用任何已見過的樣本。此外,我們強調ACM的計算成本顯著低于傳統OCL方法。
4.2 ACM與基于固定骨干網絡方法的比較
在線適應能力我們在圖3中比較了ACM與近期同樣使用固定特征提取器的持續學習方法在CGLM和CLOC數據集上的平均在線準確率。我們發現,ACM以顯著的優勢超越了這些替代方法,在CGLM和CLOC上分別實現了10%和20%的絕對準確率提升。這里的所有方法都能夠快速適應每個傳入樣本,其準確率高于傳統OCL方法。然而,ACM還可以在必要時利用過去已見過的樣本。值得注意的是,在CLOC中,最佳的替代方法性能退化至隨機水平,這表明預訓練的特征表示并不足夠,同時也突顯了kNN盡管簡單卻依然有效。
信息保留能力我們在圖3中比較了ACM與其他基于固定特征的OCL方法在CGLM和CLOC數據集上的后向遷移能力。我們觀察到,ACM在兩個數據集上均比其他方法高出20%,展示了其在長時間內保留過去知識的卓越能力。即使在CLOC上經過3900萬次在線更新后,ACM仍能保留最早樣本的信息。相比之下,現有的基于固定特征的在線持續學習方法退化至隨機性能。
關鍵結論ACM在快速適應和信息保留方面的出色表現甚至在最新的基于固定特征提取器的方法中也顯得尤為突出。這進一步證明了保持一致性的影響力。
關于運行時間的說明
ACM和NCM是所比較方法中最快的兩種。其他方法的運行速度明顯較慢,運行時間比NCM或ACM增加了5到100倍。然而,這可能歸因于代碼庫的實現差異,盡管我們使用了開源且高效的庫,如River和Scikit-learn。
4.3 分析我們的方法:自適應持續記憶(Adaptive Continual Memory)
kNN的貢獻在這里,我們旨在分離預訓練骨干網絡和MLP進行領域調優所帶來的收益,并分析kNN對ACM的貢獻。為了測試這一點,我們通過用固定的MLP分類器替換kNN來進行在線持續學習。在去除kNN后,快速適應性能的表現將反映強大骨干網絡和使用MLP在預訓練集上的第一階段調優的效果(Panos等,2023)。我們使用了兩個比我們在ImageNet1K上訓練的ResNet50更強的預訓練骨干網絡進行了實驗:一個是在Instagram 1B數據集上訓練的ResNet50,以及在ImageNet1K上訓練的最佳DINO模型XCIT-DINO,以此來改變預訓練數據集和架構。
結果如圖4(右)所示。我們觀察到,去掉kNN用于分類會導致性能的急劇下降,這表明kNN是性能的主要驅動力,其帶來的性能提升達到20%-30%。與初始狀態相比,性能下降超過10%,這可以歸因于時間推移導致的數據分布變化。這種現象在不同模型架構中一致出現,表明即使使用比在ImageNet1K上訓練的ResNet50更強的骨干網絡,CGLM仍然是一個具有固定特征提取器的艱巨任務。
這些發現表明,kNN是快速適應數據分布變化的主要原因。僅擁有高質量的特征表示或第一階段的適應不足以實現令人滿意的在線持續學習性能。
ACM的時間開銷
我們提供了一個實際分析,以具體說明ACM的對數計算復雜度。圖4(左)展示了當擴展到包含4000萬樣本的數據集時,ACM所帶來的時間開銷所需的墻上時間(wall-clock time)。我們觀察到,使用ACM時的計算開銷呈對數增長,對于256維嵌入,最大開銷約為5毫秒。相比之下,在Intel 16核CPU上,像ResNet50這樣的深度模型對單個樣本進行分類所需的時間約為10毫秒。需要注意的是,使用ACM時,總推理成本為15毫秒,這表示為了實現高快速適應和信息保留性能,推理開銷增加了50%。
4.4 討論
我們的方法的一個顯著局限性在于它依賴于預訓練特征的存在。因此,在無法獲得此類特征的情況下,我們的方法可能并不適用。盡管這一局限性值得承認,但它并不會削弱我們的方法在可以使用預訓練特征的情況下的相關性。我們的方法能夠廣泛應用于各種視覺持續學習場景中。我們在模型和實驗的選擇上保持了謹慎,選擇了在ImageNet1K上預訓練的模型,而非更大的模型如CLIP或DINOv2,以此來展示其適用性。此外,我們還在更復雜的數據集上測試了我們的方法,例如Continual YFCC-100M數據集,該數據集比ImageNet1K大39倍,并且包含更具挑戰性的地理定位任務。
存儲限制通常與隱私問題相關聯。然而,重要的是要理解,僅僅避免數據存儲并不能保證持續學習中的隱私安全。鑒于深度神經網絡容易記住信息,確保隱私成為一個更大的挑戰。雖然本文未涉及我們方法的隱私保護適配,但可以根據(Ma等,2022)的建議,采用差分隱私特征提取器來構建注重隱私的ACM模型。我們認為,隨著更先進的隱私保護特征提取器的出現,隱私問題可以同時得到解決。
最后,為了將計算預算與具體數字聯系起來,我們設想了一個假設系統,該系統需要在視頻流上實現實時操作,并由一臺配備16核i7 CPU的服務器支持。假設特征大小為256,并參考圖4的結果,我們的方法預計能夠以每秒30幀的速度維持實時處理,最長可持續運行約71年,而無需進一步優化。根據表1的數據,這種配置每年大約消耗900GB的存儲空間,成本約為20美元。因此,即使在長期部署持續學習系統的情況下,ACM仍然具有高度實用性。
5 結論
在這項工作中,我們探索了在沒有任何存儲限制的情況下進行在線持續學習。我們的重新構想源于對計算系統的經濟屬性和計算屬性的分析。我們提出了一種基于近似kNN的方法,該方法存儲全部數據,在每個時間步基于每個樣本進行適應,同時仍然保持計算效率。在大規模OCL基準測試上的評估表明,我們的系統相較于現有方法實現了顯著的改進。我們的方法計算成本低,并且能夠優雅地擴展到大規模數據集。
A 實現細節
在本節中,我們將詳細描述實驗設置,包括數據集創建、方法及其訓練細節。
A.1 數據集細節
持續Google Landmarks V2 (CGLM) (Weyand等,2020):我們引入了一個新的數據集,它是Google Landmarks V2數據集(Weyand等,2020)的一個子集,作為我們的第二個基準測試。我們使用train-clean子集,并根據Flickr上的上傳時間戳進一步過濾數據。我們剔除了樣本數量少于25個的類別。然后隨機均勻采樣10%的數據用于測試,并將剩余數據的前20%作為超參數調優集,類似于CLOC。最終我們獲得了43萬張圖像,涵蓋10788個類別用于持續學習。
我們從數據集網站提供的GLDv2的train-clean子集開始。我們按以下順序應用預處理步驟:
過濾掉沒有時間戳元數據的圖像。
剔除總樣本數少于25個的類別的圖像。
按時間戳對數據排序。
最終我們獲得了58萬張圖像,覆蓋10788個類別,存在嚴重的類別不平衡以及快速的時間分布變化。我們將數據集中按時間戳排序的前20%分配給預訓練集,并從整個時間段中隨機采樣10%的數據用于測試。我們在代碼庫中提供了清理數據集的腳本。
持續YFCC-100M (CYFCC) (Thomee等,2016):這是YFCC100M的一個子集,包含日期和時間標注(Cai等,2021)。我們遵循他們的數據集劃分方式。我們按時間步對圖像排序,并迭代處理3900萬個在線時間步,每次處理一張圖像,并在流中的下一張圖像上進行評估。需要注意的是,與之相對,Cai等(2021)使用了更嚴格的協議,假設每個時間步有256張圖像,并在下一個批次中由不同用戶上傳的圖像上進行評估。我們從他們的GitHub存儲庫下載了圖像和元數據(Cai等,2021提供的版本)。我們在代碼庫中提供了下載指南。
A.2 模型與優化細節
訓練OCL方法 :對于所有其他方法,我們使用Pytorch中的ResNet50-V2模型。我們從預訓練的ImageNet1K模型開始訓練,CGLM的批量大小為128,CLOC的批量大小為256,學習率固定為5e-3,優化器為SGD,具體設置遵循原始工作。我們使用一臺配備80GB A100 GPU的服務器進行訓練。
MLP細節 :我們使用一個兩層MLP,包含(input, embedding)和(embedding, output)層,采用批歸一化(BatchNorm)和ReLU激活函數,在CGLM預訓練集上訓練10個epoch,在CLOC預訓練集上訓練2個epoch。我們沒有進行超參數優化,而是使用默認參數,因為在在線持續學習中超參數優化仍然是一個開放性問題。所有ACM實驗均在一臺配備48GB RTX 6000的GPU上提取特征,kNN計算則在一臺第12代Intel i7-12700服務器上完成。
B 使用近未來準確率評估快速適應能力 使用近未來準確率評估快速適應能力 Hammoud等(2023)發現了用于評估在線持續學習方法的原始在線準確率指標中存在的標簽相關性問題。然而,即使其他方法的表現低于離線學習基線,ACM在他們的快速流設置中仍然保持了最先進的性能。
在本節中,我們使用相同的延遲參數(Hammoud等,2023),通過近未來準確率指標,將ACM與其他具有固定特征提取器的在線學習方法在CGLM和CLOC數據集上的表現進行比較。我們在圖5中展示了我們的結果。我們觀察到,ACM在在線持續學習方法中達到了最先進的性能,以5%-10%的優勢超越了其他方法。這為我們提供了額外的證據,表明ACM并未利用標簽相關性來實現高在線準確率。
C 額外實驗
消融兩層MLP的貢獻 我們消融了在預訓練集上進行第一階段適應(Panos等,2023)的貢獻。我們比較了使用和不使用MLP時的在線學習性能,并在圖6(左)中展示了不同模型的結果。我們觀察到,在使用MLP時,XCIT DINO模型的性能提升了5%,這表明第一階段適應能夠帶來性能改進。然而,兩個ResNet50模型由于使用了MLP,在線準確率均獲得了超過30%的巨大提升。我們注意到,這是維數災難(curse of dimensionality)導致的結果。ResNet50架構的特征維度高達2048,而XCIT-DINO只有512維。在比較使用MLP的模型時,我們驚訝地發現,盡管ResNet50-I1B在傳統基準測試中表現優于XCIT-DINO模型,顯示出更魯棒和泛化能力更強的特征,但在ACM中,ResNet50-I1B的表現卻較差。我們得出結論,由于2048維特征的存在,ResNet50架構并不適合ACM。
結論 盡管高維嵌入具有更強的表示能力,但由于維數災難,它們與kNN結合時的表現要差得多。
消融嵌入維度的影響 我們現在知道嵌入維度會顯著影響性能。我們調整嵌入維度以探索ACM對嵌入維度的敏感性。我們從512維的XCIT特征開始,將嵌入大小分別調整為512、256和128。
我們在圖6(右)中展示了結果。首先,我們觀察到,將嵌入維度減少到256時,三種模型的準確率僅有極小的下降,但計算成本卻減少了一半(如主論文中的圖4所示)。進一步降低嵌入維度會導致性能的顯著損失。嵌入大小為256時,在速度和準確率之間實現了最佳平衡。
原文鏈接: https://arxiv.org/pdf/2305.09253
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.