自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

模態(tài)編碼器 | DINO-自監(jiān)督學習在視覺Transformer中的新特性探索

人工智能
DINO旨在通過自監(jiān)督學習挖掘Transformer在視覺識別中的潛力,無需人工標注標簽,僅通過輸入圖像及其變換(如旋轉(zhuǎn)、隨機裁剪等),使網(wǎng)絡能夠?qū)W習到圖像的語義信息及不同角度和尺度下的特征。這種方法利用大規(guī)模無標簽數(shù)據(jù)進行訓練,提供了一種有效的特征表示學習方式,解決了監(jiān)督學習中對大量標注數(shù)據(jù)的依賴問題。

今天看一篇經(jīng)典方法DINO,Meta AI在2021年的一篇工作。研究動機如下:

Transformer模型在自然語言處理領(lǐng)域取得了顯著成就,但在視覺任務中與卷積神經(jīng)網(wǎng)絡(CNNs)相比,并未展現(xiàn)出明顯的優(yōu)越性。自監(jiān)督學習是NLP中Transformer成功的關(guān)鍵因素之一,如BERT和GPT等;然而,在視覺識別任務中,圖像級別的監(jiān)督往往將豐富的視覺信息簡化為單一概念,這可能限制了模型學習更復雜特征的能力。當前的自監(jiān)督學習方法雖然對圖像顯示出了潛力,但它們通常依賴于特定組件以避免特征空間坍塌或提升性能,并且這些方法在Vision Transformer上的應用尚未成熟。

DINO(Distillation with No Labels)旨在通過自監(jiān)督學習挖掘Transformer在視覺識別中的潛力,無需人工標注標簽,僅通過輸入圖像及其變換(如旋轉(zhuǎn)、隨機裁剪等),使網(wǎng)絡能夠?qū)W習到圖像的語義信息及不同角度和尺度下的特征。這種方法利用大規(guī)模無標簽數(shù)據(jù)進行訓練,提供了一種有效的特征表示學習方式,解決了監(jiān)督學習中對大量標注數(shù)據(jù)的依賴問題。

01、方法介紹

在DINO中,作者提出了一種新的對比學習策略,通過比較原始圖像及其隨機裁剪版本的特征,促使模型學習更優(yōu)質(zhì)的視覺通用表征,從而在無需標簽的情況下實現(xiàn)了出色的視覺識別效果。它可以被解釋為一種無標簽的知識蒸餾形式。DINO通過直接預測一個使用動量編碼器構(gòu)建的教師網(wǎng)絡的輸出來簡化自監(jiān)督訓練,損失函數(shù)使用標準的交叉熵損失。

圖片

先看下知識蒸餾:

知識蒸餾是一種學生網(wǎng)絡圖片匹配給定教師網(wǎng)絡圖片的學習范式,其參數(shù)分別是圖片圖片。給定輸入圖片 x,兩個網(wǎng)絡都輸出 K 維上的概率分布,用圖片圖片表示。概率 P 是通過使用 Softmax 函數(shù)對網(wǎng)絡 g 的輸出進行歸一化來獲得的:

圖片

給定一個固定的教師網(wǎng)絡圖片,通過最小化學生網(wǎng)絡圖片和教師網(wǎng)絡圖片的參數(shù)的交叉熵損失來學習匹配這些分布:

圖片

式中,圖片。

為了讓模型能夠?qū)W習到更具泛化能力的特征,作者首先使用了多種數(shù)據(jù)增強策略得到不同的視圖,從給定的圖像中生成一組不同視圖 V這個集合包含兩個全局視圖圖片圖片以及幾個分辨率較小的局部視圖。所有局部視圖輸入給學生模型,全局視圖輸入給教師模型,鼓勵“局部到全局”的對應關(guān)系。然后使用下面的損失函數(shù)優(yōu)化:

圖片

這種損失是通用的,可以用于任意數(shù)量的視圖 (公式中是 2)。分辨率為 224×224 的2個全局視圖覆蓋原始圖像的大 (比如大于 50%) 部分區(qū)域,分辨率為 96×96 的局部視圖僅僅可以覆蓋原始圖像的小區(qū)域 (比如小于 50%)。教師網(wǎng)絡和學生網(wǎng)絡共享相同的架構(gòu) g,通過隨機梯度下降最小化方程來學習參數(shù)。

如圖所示是 DINO 的算法流程,一張圖片x 的兩個View圖片分別輸入給學生模型圖片和教師模型圖片。兩個網(wǎng)絡具有相同的架構(gòu)但參數(shù)不同,教師網(wǎng)絡的輸出通過一個 Batch 的平均值進行 centering 操作,每個網(wǎng)絡輸出一個 K 維的特征,并使用 Softmax 進行歸一化。然后使用交叉熵損失作為目標函數(shù)計算學生模型和教師模型之間的相似度。在教師模型上使用停止梯度 (stop-gradient, sg) 算子來阻斷梯度的傳播,只把梯度傳給學生模型使其更新參數(shù)。教師模型使用學生模型的 EMA 進行更新。圖片

數(shù)據(jù)增強

DINO 中最核心的數(shù)據(jù)采樣策略便是圖像裁剪,這也是自監(jiān)督學習領(lǐng)域應用非常廣泛的主策略之一。一般來說,可以將裁剪后的圖像分為兩種:

  • Local views: 即局部視角,也稱為 small crops,指的是摳圖面積小于原始圖像的 50%;
  • Global views: 即全局視角,也稱為 large crops,指的是摳圖面積大于原始圖像的 50%;

在 DINO 中,學生模型接收所有預處理過的 crops 圖,而教師模型僅接收來自 global views 的裁剪圖。這是為了鼓勵從局部到全局的響應,從而訓練學生模型從一個小的裁剪畫面中推斷出更廣泛的上下文信息。

簡單來說,就是把局部特征和全局特征分別交給不同的模型來學習,以便在處理整個圖像時,能夠更好地對局部細節(jié)和上下文進行綜合判斷。

Centering(中心化)和Sharpening(銳化)

Centering(中心化)和Sharpening(銳化)是兩個關(guān)鍵操作,它們共同作用以避免模型輸出崩潰(collapse),即防止模型輸出變得毫無區(qū)分度或被某個維度主導。以下是這兩個操作的詳細介紹:

中心化:中心化的目的是調(diào)整教師網(wǎng)絡的輸出,使其分布更加穩(wěn)定,避免任何一個維度的輸出值過大,從而導致模型輸出崩潰。

中心化操作通過計算教師網(wǎng)絡輸出的均值(通常是在批次維度上),然后從每個輸出向量中減去這個均值來實現(xiàn)。數(shù)學上,如果T是教師網(wǎng)絡的輸出,則中心化操作可以表示為:

圖片

其中,E[T]是T在批次上的均值。這種操作有助于防止模型輸出在一個維度上過大,從而避免模型輸出崩潰到一個點或者被某個維度主導。

銳化:銳化的目的是使教師網(wǎng)絡的輸出分布更加集中,即增強模型對其預測的“信心”,這有助于提高特征的區(qū)分度。

銳化操作通過在softmax函數(shù)中使用一個溫度參數(shù)(temperature)來實現(xiàn)。較低的溫度參數(shù)會使softmax輸出的分布更加尖銳,即更傾向于將概率集中在少數(shù)幾個類別上。數(shù)學上,如果T是教師網(wǎng)絡的輸出,溫度參數(shù)為
τ,則銳化操作可以表示為:

圖片

其中,P是經(jīng)過softmax歸一化后的概率分布。銳化操作有助于避免模型輸出變得過于均勻,即在所有類別上都有相似的概率,這會導致模型失去區(qū)分不同輸入的能力。

網(wǎng)絡架構(gòu)

DINO 的模型是由一個主干網(wǎng)絡(ResNet 或者 ViT) 和一個投影頭
h組成。投影頭h是一個3層的 MLP。DINO 不使用 BYOL 中的 predictor,使得教師和學生的架構(gòu)完全一致。而且,作者注意到與標準 ConvNet 不同,ViT 架構(gòu)默認不使用批量歸一化 (BN)。因此,當將 DINO 應用于 ViT 時,在投影頭中不使用任何 BN,使系統(tǒng)完全達到 BN-free 的架構(gòu)。

教師網(wǎng)絡:與知識蒸餾不同,DINO中沒有預先給定的教師網(wǎng)絡。相反,教師網(wǎng)絡是從學生網(wǎng)絡的過去迭代中構(gòu)建的。論文研究了不同的教師網(wǎng)絡更新規(guī)則,并發(fā)現(xiàn)使用學生權(quán)重的指數(shù)移動平均(EMA)作為教師網(wǎng)絡特別適用于DINO框架。為了避免模型崩潰(即模型輸出變得均勻或由一個維度主導),DINO使用了中心化(centering)和銳化(sharpening)技術(shù)。中心化操作通過移動教師網(wǎng)絡的輸出分布來防止一個維度主導,而銳化則通過在教師網(wǎng)絡的softmax歸一化中使用較低的溫度參數(shù)來實現(xiàn)。center 可以穩(wěn)定 momentum 帶來的影響,但是會使得教師模型的輸出趨近于均勻分布,而 sharpen 正好可以解決這個問題。center 的超參數(shù)c 可以通過下式來計算:

圖片

其中,
m是比例參數(shù)。sharpen 是通過把知識蒸餾中的溫度系數(shù)τ設置比較低來實現(xiàn)。

02、實驗結(jié)果

ImageNet 實驗結(jié)果

DINO框架在ImageNet數(shù)據(jù)集上的性能,并與其他自監(jiān)督學習(SSL)框架進行了比較。這一部分的主要目的是展示DINO在標準自監(jiān)督學習基準測試中的有效性,并與其他方法進行對比分析。

如下圖所示是跨方法層面和跨架構(gòu)層面的 ImageNet 實驗結(jié)果對比。

首先,可以觀察到 DINO 在 ResNet-50 上的表現(xiàn)與最先進的幾個方法相當,驗證了 DINO 作為標準自監(jiān)督學習方法的性能。當切換到 ViT 架構(gòu)時,DINO 在線性分類方面優(yōu)于 BYOL、MoCov2 和 SwAV +3.5%,在 k-NN 評估中優(yōu)于 +7.9%。使用簡單的 k-NN 分類器的性能幾乎與 Linear Classifier 相當 (74.5% 和 77.0%),這個屬性僅在使用帶有 ViT 架構(gòu)的 DINO 時出現(xiàn),并且不會出現(xiàn)在其他現(xiàn)有的自監(jiān)督方法和 ResNet-50 中。

圖片

最近鄰檢索

與使用監(jiān)督學習訓練的特征相比,使用DINO預訓練的ViT模型在最近鄰檢索任務上取得了顯著的性能提升。表明DINO學習到的特征在捕捉圖像的語義和視覺相似性方面更為有效。ViT的優(yōu)勢:從結(jié)果還可以觀察到,與卷積網(wǎng)絡相比,ViT模型在最近鄰檢索任務中表現(xiàn)更好。這可能是因為ViT模型的全局感受野使其能夠更好地捕捉圖像的全局結(jié)構(gòu)和上下文信息。

圖片

Copy detection 

Copy detection 是一個計算機視覺任務,旨在識別和檢索在不同條件下捕獲的相同或非常相似的圖像。這些條件可能包括不同的光照、角度、尺度、模糊、裁剪等。

DINO預訓練的ViT模型在Copy detection任務上表現(xiàn)出色,與專門針對特定對象檢索訓練的模型(如Multigrain模型)相比具有競爭力。

圖片

下游任務遷移學習

DINO自監(jiān)督預訓練的ViT模型在多個下游任務上表現(xiàn)出了很好的遷移學習能力。

圖片

場景的語義布局

DINO自監(jiān)督預訓練的ViT模型不僅能夠?qū)W習一般的圖像特征,還能夠捕獲可以用于圖像分割和對象發(fā)現(xiàn)任務的語義布局信息。

DINO訓練模型的自注意力圖與有監(jiān)督模型的自注意力圖進行比較。比較顯示,DINO模型在關(guān)注對象和場景結(jié)構(gòu)方面表現(xiàn)得更好,即使在存在復雜背景的情況下,也能在定性和定量上都表現(xiàn)得更優(yōu)。

在DAVIS 2017視頻對象分割基準測試中評估了凍結(jié)特征的質(zhì)量,結(jié)果顯示即使沒有明確針對密集預測任務進行訓練,使用DINO訓練的ViT模型在基準測試中的表現(xiàn)也具有競爭力。

Figure 3 展示了使用DINO自監(jiān)督預訓練的ViT模型中,不同注意力頭能夠關(guān)注到圖像中的不同語義區(qū)域。即使在目標重疊或遮擋嚴重的情況下,不同的注意力頭也能區(qū)分開來。這個圖非常生動形象地展示了DINO模型在無監(jiān)督的條件下學習到的內(nèi)部特征表示。具體來說,這個圖顯示了多個注意力頭的激活情況,每個頭關(guān)注圖像的不同部分,這些部分可能代表不同的對象或?qū)ο蟮哪承┎糠帧_@種能力表明DINO模型能夠捕捉到圖像中豐富的語義信息,這對于后續(xù)的圖像分割和對象識別等任務非常有用。

圖片

Figure 4 展示了有監(jiān)督訓練的ViT模型與使用DINO自監(jiān)督訓練的ViT模型在生成分割掩碼方面的差異。通過閾值化自注意力圖來生成分割掩碼,并與真實掩碼進行比較,可以看到DINO訓練的模型在自監(jiān)督學習下能夠生成與真實掩碼具有較高Jaccard相似度的分割掩碼。這進一步證明了自監(jiān)督ViT模型在理解場景布局方面的能力。

圖片

消融實驗結(jié)果

不同組件的作用

  • 動量編碼器(Mom.):使用動量編碼器(momentum encoder)來更新教師網(wǎng)絡的參數(shù),這是一種指數(shù)移動平均(EMA)策略。
  • Sinkhorn-Knopp(SK):使用Sinkhorn-Knopp算法來避免模型輸出的崩潰問題。
  • 多作物訓練(MC):使用多作物訓練策略,即對同一圖像的不同區(qū)域進行裁剪并輸入到模型中。
  • 交叉熵損失(CE):使用交叉熵損失函數(shù)來訓練模型。
  • MSE損失(MSE):使用均方誤差損失函數(shù)來訓練模型。
  • InfoNCE損失(INCE):一種特定的對比損失函數(shù)。
  • 預測器(Pred.):在學生網(wǎng)絡中使用預測器。
  • k-NN:使用k-最近鄰分類器來評估模型特征的質(zhì)量。
  • 線性評估:使用線性分類器來評估模型特征的質(zhì)量。

下圖報告了當添加或刪除組件時的不同模型的性能。首先可以觀察到,在沒有 Momentum 的情況下,DINO 框架不起作用。SK 操作也可以避免坍塌的現(xiàn)象。此外,有了 Momentum 的情況下,使用 SK 幾乎沒有影響。

比較第 3 行和 9 行:突出了 Momentum 對性能提升的重要性。

比較第 4 行和 5 行:DINO 中的 Multi-crop 訓練和 CE Loss 是獲得良好特征的重要組成部分。

比較第 6 行:向?qū)W生網(wǎng)絡添加 Predictor 幾乎沒有影響。

圖片

Patch Size 的作用

下圖中比較了不同 Patch size (16×16, 8×8 和 5×5) 的 ViT 模型的 k-NN 分類性能。所有模型都訓練了 300 個 Epoch??梢杂^察到,當減小 Patch size 的大小時,性能會大大提高。有趣的是,在不增加額外參數(shù)的情況下可以大大提高性能。然而,使用較小 Patch size 的性能增益是以犧牲吞吐量為代價的。比如,當使用 5×5 的 Patch size 時,吞吐量下降到 44 im/s,而 8×8 Patch size 的吞吐量下降到 180 im/s。

圖片

教師模型訓練策略的作用

下圖比較了不同的教師模型訓練策略,Previous epoch:使用來自前一個 Epoch 的學生模型作為教師模型。Previous iter:使用來自前一個 Iteration 的學生模型作為教師模型。Student copy:使用學生模型作為教師模型。

可以觀察到使用來自前一個 Epoch 的教師模型得到的性能并不會崩潰,使用動量編碼器(即EMA)的教師網(wǎng)絡在性能上優(yōu)于其他策略。動量編碼器通過指數(shù)移動平均平滑學生網(wǎng)絡的參數(shù)變化,提供了一個更加穩(wěn)定的學習目標。與 MoCo-v2 或 BYOL 等現(xiàn)有框架提供有競爭力的 k-NN 評估性能。

圖片

03、總結(jié)

DINO 提出了一個全新的自監(jiān)督學習框架,該框架通過“無標簽自蒸餾”(self-distillation with no labels)的方式訓練模型,使得模型能夠在沒有標簽的情況下從大規(guī)模數(shù)據(jù)中學習到高質(zhì)量的視覺特征。這一方法不僅減少了對昂貴標簽數(shù)據(jù)的依賴,還為利用互聯(lián)網(wǎng)上大量的未標注圖像數(shù)據(jù)提供了可能。在實踐中,這意味著可以更快、更經(jīng)濟地開發(fā)出性能強大的視覺模型,為高效開發(fā)性能強大的視覺模型提供了新的路徑。

責任編輯:龐桂玉 來源: 小白學AI算法
相關(guān)推薦

2025-01-09 11:14:13

2025-04-07 04:30:00

2024-06-13 11:44:43

2024-07-30 11:20:00

圖像視覺

2024-05-24 15:53:20

視覺圖像

2017-07-03 07:14:49

深度學習無監(jiān)督學習稀疏編碼

2022-05-17 16:38:40

數(shù)據(jù)訓練

2025-04-07 03:30:00

2025-04-10 06:30:00

2025-04-10 11:52:55

2022-04-26 09:44:29

算法庫EasyCV開源

2023-11-23 15:54:01

人工智能監(jiān)督學習無監(jiān)督學習

2022-07-28 12:18:40

視覺語言模型

2020-01-20 14:25:19

數(shù)據(jù)平臺架構(gòu)

2017-05-08 22:40:55

深度學習自編碼器對抗網(wǎng)絡

2023-10-07 09:29:09

2021-10-13 17:28:33

AI 數(shù)據(jù)人工智能

2021-07-07 17:19:07

人工智能代碼開源

2020-04-28 17:26:04

監(jiān)督學習無監(jiān)督學習機器學習

2025-03-10 08:53:00

點贊
收藏

51CTO技術(shù)棧公眾號