天天看點

深度思考:視覺深度學習模型一定越大越好嗎?

作者:3D視覺工坊

來源:3D視覺工坊

添加小助理:dddvision,備注:方向+學校/公司+昵稱,拉你入群。文末附行業細分群

擴大模型規模一直是近年來在人工智能各個領域取得進展的關鍵驅動因素之一,包括語言模組化,圖像和視訊生成等。同樣地,對于視覺了解來說,較大的模型在足夠的預訓練資料的情況下一直顯示出改進。這一趨勢導緻追求具有數十億參數的巨型模型成為實作更強大的視覺表示和在下遊任務上提升性能的預設政策。

在這項工作中,作者重新考慮了一個問題:獲得更好的視覺了解是否一定需要較大的模型? 與其擴大模型規模,作者考慮在圖像規模次元上進行縮放,稱之為"尺度縮放"(S2)。通過S2,可以對多個圖像尺度上運作預訓練的并當機的較小視覺模型(例如,ViT-B 或 ViT-L)以生成多尺度表示。采用一個在單個圖像尺度上進行預訓練的模型,将圖像插值到多個尺度,通過将較大的圖像分割成正常大小(224^2)的子圖像并在每個尺度上分别處理然後彙總和與原始表示中的特征進行連接配接來提取每個尺度上的特征。

令人驚訝的是,通過對各種預訓練模型的視覺表示(例如,ViT,DINOv2,OpenCLIP,MVP)進行評估,作者發現具有S2縮放的較小模型在分類、語義分割、深度估計、MLLM基準測試和機器人操作方面始終優于較大模型,而且參數數量明顯較少(0.28×至0.07×)并且具有可比較的GFLOPS。值得注意的是,通過将圖像尺度擴大到1008^2,在V∗基準測試上實作了MLLM視覺細節了解的最新性能,超過了開源甚至商業的MLLMs如 Gemini Pro和 GPT-4V。

作者進一步研究了S2相對于模型大小縮放的首選縮放方法的條件。發現:雖然在許多情況下具有S2的較小模型比較大模型實作了更好的下遊性能,但是在難例上,較大模型仍然可以展現出更好的泛化能力。這引發了對較小模型是否能夠達到與較大模型相同的泛化能力的調查。令人驚訝的是,作者發現較大模型的特征可以通過單一線性變換很好地近似于多尺度較小模型,這意味着較小模型至少應具有與其較大對應物類似的學習能力。作者假設它們較弱的泛化能力源自于僅使用單一圖像尺度進行預訓練。通過在ViT上進行ImageNet-21k預訓練的實驗,作者展示了使用S2縮放進行預訓練可以提高較小模型的泛化能力,使它們能夠達到甚至超越較大模型的優勢。

下面一起來閱讀一下這項工作~

标題:When Do We Not Need Larger Vision Models?

作者:Baifeng Shi, Ziyang Wu, Maolin Mao, Xin Wang, Trevor Darrell

機構:UC伯克利、微軟

原文連結:https://arxiv.org/abs/2403.13043

代碼連結:https://github.com/bfshi/scaling_on_scales

将視覺模型的規模擴大已成為擷取更強大視覺表征的事實标準。在這項工作中,我們讨論了更大的視覺模型不再必要的點。首先,我們展示了尺度上的擴充(S2)的力量,在這種情況下,一個預先訓練并當機的較小的視覺模型(例如ViT-B或ViT-L),在多個圖像尺度上運作,可以在分類、分割、深度估計、多模态LLM(MLLM)基準和機器人操縱方面勝過較大的模型(例如ViT-H或ViT-G)。值得注意的是,S2在對V*基準的MLLM進行詳細了解方面達到了最先進的性能,超過了諸如GPT-4V之類的模型。我們研究了與模型規模比較的情況下S2作為首選尺度方法的條件。盡管較大的模型在困難示例上具有更好的泛化能力,但我們表明較大視覺模型的特征可以很好地由多尺度較小模型的特征近似。這表明,目前大型預訓練模型學到的大部分,如果不是全部,表示也可以從多尺度較小模型中獲得。我們的結果表明,多尺度較小模型具有與較大模型相當的學習能力,并且用S2預訓練較小模型可以達到或甚至超過較大模型的優勢。我們釋出了一個Python包,可以用一行代碼将S2應用于任何視覺模型。

S2-Wrapper是一種簡單的機制,可以以無參數的方式将任何預訓練的視覺模型擴充到多個圖像尺度。以ViT-B為例,S2-Wrapper首先将輸入圖像插值到不同的尺度(例如,224^2和448^2),并将每個尺度劃分為幾個與預設輸入尺寸相同的子圖像(448^2→4×224^2)。對于每個尺度,所有子圖像都被饋送到同一模型中,并且輸出(例如,4×16^2)被合并成整個圖像的特征圖(32^2)。不同尺度的特征圖被平均池化到原始空間大小(16^2),然後拼接在一起。最終的多尺度特征具有與單尺度特征相同的空間形狀,但具有更高的通道次元(例如,1536 vs. 768)。

深度思考:視覺深度學習模型一定越大越好嗎?

對三個模型(ViT、DINOv2 和 OpenCLIP)和三個任務(ImageNet 分類、語義分割和深度估計)進行 S2 縮放和模型大小縮放的比較。

對于每個模型和每個任務,測試基本、大型和巨型/巨大模型的模型大小縮放(以灰色曲線繪制)。對于 S2 縮放(以綠色曲線繪制),測試三組從單一尺度(1x)到多尺度(最多 3x)的比例,并調整每組比例,使其與相應模型大小的 GFLOPs 比對。請注意,對于特定的模型和任務,分别在基本模型和大型模型上測試 S2 縮放(以淺綠色和深綠色曲線分别繪制)。可以看到,在(a)、(d)、(e)、(f)、(g)和(i)中,具有 S2 縮放的基本模型已經實作了與具有相似 GFLOPs 但模型尺寸更小的大型模型相媲美或更好的性能。在(b)和(h)中,來自大型模型的 S2 縮放與巨型模型相當,同樣具有相似的 GFLOPs 和更少的參數。唯一的失敗案例是(c),在該案例中,基本模型或大型模型上的 S2 縮放與模型大小縮放無法競争。

深度思考:視覺深度學習模型一定越大越好嗎?

在MLLM上進行S2縮放和模型尺寸縮放的比較。 S2縮放比模型尺寸縮放在所有三類基準上都具有相當或更好的縮放曲線。使用大的圖像尺度通常會提供更好的性能,而使用較大的模型在某些情況下會降低模型的性能。

深度思考:視覺深度學習模型一定越大越好嗎?

評估三類模型:(i) 在ImageNet-21k上預訓練的ViT,(ii) 在LAION-2B上預訓練的OpenCLIP,以及(iii) 在ImageNet-1k上預訓練的MAE。重建損失是所有輸出标記的平均值,并在ImageNet-1k上進行評估。結果顯示在表2中。與基本模型相比,觀察到多尺度基本模型始終具有更低的損失,并且重建了更多大模型表示的資訊(例如,對于ViT,0.521 vs. 0.440)。更有趣的是,作者發現來自多尺度基本模型的重建資訊量通常接近于巨型模型,盡管有時略低但從未明顯超過。例如,雖然OpenCLIP-Base可以重建92.7%的資訊,但多尺度基本模型可以重建99.9%。對于其他模型,Base-S2模型的重建比例通常接近100%,但從未超過0.5%。這意味着(i) 巨型/巨大模型确實是特征重建的有效上界,以及(ii) 更大模型的大部分特征也被多尺度較小模型所學習。唯一的例外是當重建OpenCLIP-Huge特征時,重建比例為88.9%。盡管不接近100%,但仍顯着優于基本大小模型,這意味着至少巨型模型特征的一大部分仍是多尺度特征。這些結果暗示具有S2縮放的較小模型應至少具有學習較大模型學習的相似能力水準。另一方面,還注意到訓練集和測試集之間存在差距,即測試集上的重建比例可能低于訓練集(例如,在OpenCLIP-L上為96.3% vs. 99.9%)。作者假設這是因為僅在預訓練後應用多尺度,而僅在單個圖像尺度上預訓練的基本模型特征具有較弱的泛化能力。

深度思考:視覺深度學習模型一定越大越好嗎?

對于記憶能力,給定一個資料集(例如ImageNet),将每個圖像視為一個單獨的類别,并訓練模型來對單個圖像進行分類,這要求模型記憶每個圖像。分類損失反映了每個執行個體被記憶的程度,是以反映了模型的容量。對于訓練損失,作者報告了在ImageNet-1k的訓練集上的分類損失,對于DINOv2和OpenCLIP。較低的損失意味着模型更好地适應訓練資料,這暗示了更大的模型容量。結果如表3所示。對于執行個體記憶,可以看到具有S2縮放(224^2和448^2)的ViT-B與ViT-L具有相似的損失。對于ImageNet分類,對于OpenCLIP,ViT-B-S2的訓練損失與ViT-L相似,而對于DINOv2,其損失甚至更低。這些結果表明,多尺度較小的模型至少具有與較大模型相當的模型容量。使用S2進行預訓練可以使較小的模型更好。作者評估了基于S2縮放的基礎模型在預訓練期間或預訓練後的ImageNet分類。在ImageNet-21k上對模型進行預訓練,使用ViT圖像分類或DINOv2作為預訓練目标。作者比較了在預訓練期間使用或不使用S2的模型,以及在單尺度基礎模型和大型模型之間的差異。結果如表4所示。可以看到,當基礎模型使用單一圖像尺度進行訓練,并且僅在預訓練後才擴充到多個圖像尺度時,它們的性能與大型模型相比是次優的。然而,當将S2縮放加入到預訓練中時,多尺度基礎模型能夠在ViT上勝過大型模型。對于DINOv2,預先使用S2進行訓練的基礎模型的性能明顯優于沒有S2進行預訓練的基礎模型,并且與大型模型更具可比性。盡管仍然略遜于大型模型,但使用S2預訓練大型模型可能會産生更好的縮放曲線。證明了使用S2預先訓練的較小模型可以匹敵較大模型的優勢。

深度思考:視覺深度學習模型一定越大越好嗎?

在這項工作中,作者提出了一個問題:對于更好的視覺了解,總是需要一個更大的模型嗎? 作者發現,在圖像規模的次元上進行縮放(稱之為尺度縮放,S2),而不是模型大小通常可以在廣泛的下遊任務中獲得更好的性能。作者進一步展示,具有S2的較小模型可以學習到較大模型學到的大部分内容,并且對于較小模型進行S2預訓練可以比對較大模型的優勢,甚至表現更好。

S2對未來工作有一些影響,包括(i)尺度選擇性處理,即,并不是圖像中每個位置的每個尺度都包含同樣有用的特征,根據圖像内容和進階任務,為每個區域選擇處理某些尺度會更加高效,這類似于人類視覺注意力中的自下而上和自上而下的選擇機制,(ii)單個圖像的并行處理,即,與正常的ViT相比,在S2中每個子圖像都是獨立處理的,這使得單個圖像的不同子圖像可以并行處理,這對于處理單個大圖像的延遲至關重要的情景特别有幫助。

對更多實驗結果和文章細節感興趣的讀者,可以閱讀一下論文原文~

本文僅做學術分享,如有侵權,請聯系删文。

3D視覺工坊交流群

目前我們已經建立了3D視覺方向多個社群,包括2D計算機視覺、大模型、工業3D視覺、SLAM、自動駕駛、三維重建、無人機等方向,細分群包括:

2D計算機視覺:圖像分類/分割、目标/檢測、醫學影像、GAN、OCR、2D缺陷檢測、遙感測繪、超分辨率、人臉檢測、行為識别、模型量化剪枝、遷移學習、人體姿态估計等

大模型:NLP、CV、ASR、生成對抗大模型、強化學習大模型、對話大模型等

工業3D視覺:相機标定、立體比對、三維點雲、結構光、機械臂抓取、缺陷檢測、6D位姿估計、相位偏折術、Halcon、攝影測量、陣列相機、光度立體視覺等。

SLAM:視覺SLAM、雷射SLAM、語義SLAM、濾波算法、多傳感器融合、多傳感器标定、動态SLAM、MOT SLAM、NeRF SLAM、機器人導航等。

自動駕駛:深度估計、Transformer、毫米波|雷射雷達|視覺攝像頭傳感器、多傳感器标定、多傳感器融合、自動駕駛綜合群等、3D目标檢測、路徑規劃、軌迹預測、3D點雲分割、模型部署、車道線檢測、Occupancy、目标跟蹤等。

三維重建:3DGS、NeRF、多視圖幾何、OpenMVS、MVSNet、colmap、紋理貼圖等

無人機:四旋翼模組化、無人機飛控等

除了這些,還有求職、硬體選型、視覺産品落地、最新論文、3D視覺最新産品、3D視覺行業新聞等交流群

添加小助理: dddvision,備注:研究方向+學校/公司+昵稱(如3D點雲+清華+小草莓), 拉你入群。

3D視覺工坊知識星球

3DGS、NeRF、結構光、相位偏折術、機械臂抓取、點雲實戰、Open3D、缺陷檢測、BEV感覺、Occupancy、Transformer、模型部署、3D目标檢測、深度估計、多傳感器标定、規劃與控制、無人機仿真、三維視覺C++、三維視覺python、dToF、相機标定、ROS2、機器人控制規劃、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三維重建、colmap、線面結構光、硬體結構光掃描器,無人機等。

繼續閱讀