0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CVPR 2023中的領(lǐng)域適應(yīng): 通過(guò)自蒸餾正則化實(shí)現(xiàn)內(nèi)存高效的CoTTA

jf_pmFSk4VX ? 來(lái)源:GiantPandaCV ? 2023-07-04 11:00 ? 次閱讀

CVPR 2023 中的領(lǐng)域適應(yīng): 通過(guò)自蒸餾正則化實(shí)現(xiàn)內(nèi)存高效的 CoTTA

目錄

前言

內(nèi)存比較

EcoTTA 實(shí)現(xiàn)

Memory-efficient Architecture

Self-distilled Regularization

實(shí)驗(yàn)

分類實(shí)驗(yàn)

分割實(shí)驗(yàn)

總結(jié)

參考

前言

我們介紹了 CoTTA 方法,這次介紹的是基于它的優(yōu)化工作:EcoTTA,被接受在 CVPR 2023 上。

推薦閱讀順序是:

CoTTA

本篇文章

DIGA

上一篇文章我們提到 CoTTA 的輸入是隨時(shí)間軸變化的數(shù)據(jù)(比如自動(dòng)駕駛中不斷切換的天氣條件),且是測(cè)試伴隨訓(xùn)練任務(wù)。所以,CoTTA 通常在內(nèi)存有限的邊緣設(shè)備上進(jìn)行,因此減少內(nèi)存消耗至關(guān)重要。先前的 TTA 研究忽略了減少內(nèi)存消耗的重要性。此外,上一篇文章也提到了長(zhǎng)期適應(yīng)通常會(huì)導(dǎo)致災(zāi)難性的遺忘和錯(cuò)誤積累,從而阻礙在現(xiàn)實(shí)世界部署中應(yīng)用 TTA。

EcoTTA 包括解決這些問(wèn)題的兩個(gè)組成部分。第一個(gè)組件是輕量級(jí)元網(wǎng)絡(luò),它可以使凍結(jié)的原始網(wǎng)絡(luò)適應(yīng)目標(biāo)域。這種架構(gòu)通過(guò)減少反向傳播所需的中間激活量來(lái)最大限度地減少內(nèi)存消耗。第二個(gè)組成部分是自蒸餾正則化,它控制元網(wǎng)絡(luò)的輸出,使其與凍結(jié)的原始網(wǎng)絡(luò)的輸出不顯著偏離。這種正則化可以保留來(lái)自源域的知識(shí),而無(wú)需額外的內(nèi)存。這種正則化可防止錯(cuò)誤累積和災(zāi)難性遺忘,即使在長(zhǎng)期的測(cè)試時(shí)適應(yīng)中也能保持穩(wěn)定的性能。

內(nèi)存比較

首先,我們先看一下 EcoTTA 和其他方法的內(nèi)存比較。下圖(a)表示在訓(xùn)練過(guò)程中,與參數(shù)相比,激活的大小是主要的內(nèi)存瓶頸。下圖(b)中,x 軸和 y 軸分別表示所有平均誤差和總內(nèi)存消耗,包括參數(shù)和激活。對(duì) CIFAR-C 數(shù)據(jù)集進(jìn)行連續(xù)的在線適應(yīng),EcoTTA在消耗最少的內(nèi)存的同時(shí)取得了最佳結(jié)果。這里我們發(fā)現(xiàn),作者全文的實(shí)驗(yàn)只對(duì)比了類 ResNet 架構(gòu),而 CoTTA 中性能最高的架構(gòu)是 SegFormer。

a1596ef2-19b8-11ee-962d-dac502259ad0.png

EcoTTA 實(shí)現(xiàn)

關(guān)于相關(guān)工作的部分,我們已經(jīng)在 CoTTA 中介紹過(guò)了。將 EcoTTA 的策略和其他方法(都是 TTA 的)對(duì)比如下圖,包括 TENT、EATA 和 CoTTA。TENT 和 EATA 更新了多個(gè) BN 層,這需要存儲(chǔ)大量激活以進(jìn)行梯度計(jì)算。這可能會(huì)導(dǎo)致內(nèi)存問(wèn)題,尤其是在內(nèi)存有限的邊緣設(shè)備上。CoTTA 使用額外的持續(xù)適應(yīng)策略來(lái)訓(xùn)練整個(gè)網(wǎng)絡(luò),這需要大量的內(nèi)存和時(shí)間。相比之下,EcoTTA 要求通過(guò)僅更新幾層來(lái)最大限度地減少激活量。這減少了內(nèi)存消耗,使其適用于內(nèi)存有限的邊緣設(shè)備。

a19508c2-19b8-11ee-962d-dac502259ad0.png

下面我們關(guān)注 EcoTTA 兩個(gè)部分的實(shí)現(xiàn)。

Memory-efficient Architecture

假設(shè)模型中的第 i 個(gè)線性層由權(quán)重 W 和偏置 b 組成,該層的輸入特征和輸出特征分別為 fi 和 fi+1。給定 fi+1 = fiW + b 的前向傳播,從第 i+1 層到第 i 層的反向傳播和權(quán)重梯度分別制定為:

意味著需要更新權(quán)重 W 的可學(xué)習(xí)層必須存儲(chǔ)中間激活 fi 以計(jì)算權(quán)重梯度。相反,凍結(jié)層的反向傳播可以在不保存激活的情況下完成,只需要其權(quán)重 W。

相對(duì)于可學(xué)習(xí)參數(shù),激活占據(jù)了訓(xùn)練模型所需內(nèi)存的大部分?;谶@個(gè)事實(shí),CoTTA 需要大量的內(nèi)存(因?yàn)橐抡麄€(gè) model)。另外,僅僅更新 BN 層中的參數(shù)(例如 TENT 和 EATA)并不是一種足夠有效的方法,因?yàn)樗鼈內(nèi)匀槐4媪硕鄠€(gè) BN 層的大量中間激活。EcoTTA 提出了一種簡(jiǎn)單而有效的方法,通過(guò)丟棄這些激活來(lái)顯著減少大量的內(nèi)存占用。

a1ea0d4a-19b8-11ee-962d-dac502259ad0.png

在這里插入圖片描述

在部署之前,我們首先使用任何預(yù)訓(xùn)練方法獲取一個(gè)預(yù)訓(xùn)練模型。然后,我們將預(yù)訓(xùn)練模型的編碼器分成 K 個(gè)部分,如上圖(a)所示。一個(gè)元網(wǎng)絡(luò)組由一個(gè)批歸一化層和一個(gè)卷積塊(ConvBN-Relu)組成,將輕量級(jí)元網(wǎng)絡(luò)附加到原始網(wǎng)絡(luò)的每個(gè)部分上,如上圖(b)所示。我們?cè)谠磾?shù)據(jù)集上對(duì)元網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,同時(shí)凍結(jié)原始網(wǎng)絡(luò)。這個(gè)預(yù)熱過(guò)程完成后,我們可以進(jìn)行模型部署。強(qiáng)調(diào)一點(diǎn),在測(cè)試時(shí)不需要源數(shù)據(jù)集 Ds,所以本質(zhì)上還是 TTA 的范式。更詳細(xì)的元網(wǎng)絡(luò)組成如下:

a20def80-19b8-11ee-962d-dac502259ad0.png

在這里插入圖片描述

此外,我們需要預(yù)訓(xùn)練模型的幾個(gè)分區(qū)。先前解決域偏移的 TTA 研究表明,相對(duì)于更新深層,更新淺層對(duì)于改善適應(yīng)性能更為關(guān)鍵。受到這樣的發(fā)現(xiàn)啟發(fā),假設(shè)預(yù)訓(xùn)練模型的編碼器被劃分為模型分區(qū)因子 K(例如 4 或 5),我們將編碼器的淺層部分(即 Dense)相對(duì)于深層部分進(jìn)行更多的劃分,表現(xiàn)如下表所示。

a21ee5a6-19b8-11ee-962d-dac502259ad0.png

在這里插入圖片描述

在部署期間,我們只對(duì)目標(biāo)域適應(yīng)元網(wǎng)絡(luò),而凍結(jié)原始網(wǎng)絡(luò)。適應(yīng)過(guò)程中,我們使用熵最小化方法對(duì)熵小于預(yù)定義閾值的樣本進(jìn)行適應(yīng),計(jì)算方法如下面的公式所示,并使用自提出的正則化損失來(lái)防止災(zāi)難性遺忘和錯(cuò)誤累積。

a23c7f94-19b8-11ee-962d-dac502259ad0.png

在這里插入圖片描述

在第二個(gè)公式中,左右兩項(xiàng)分別表示適應(yīng)損失(主要任務(wù)是適應(yīng)目標(biāo)域)和正則化損失。整體而言,EcoTTA 在內(nèi)存使用方面比之前的工作更加高效,平均使用的內(nèi)存比 CoTTA 和 TENT/EATA 少 82% 和 60%。

Self-distilled Regularization

無(wú)標(biāo)簽測(cè)試數(shù)據(jù)集 Dt 上的無(wú)監(jiān)督損失往往會(huì)向模型提供錯(cuò)誤的信號(hào)(即噪聲,,其中 是測(cè)試樣本的真實(shí)標(biāo)簽)。使用無(wú)監(jiān)督損失進(jìn)行長(zhǎng)期適應(yīng)會(huì)導(dǎo)致過(guò)擬合(由于誤差累積)和災(zāi)難性遺忘的問(wèn)題。為了解決這些關(guān)鍵問(wèn)題,EcoTTA 提出了一種自蒸餾正則化方法。如上圖(c)所示,對(duì)每個(gè)元網(wǎng)絡(luò)的第 k 組輸出 進(jìn)行正則化,使其與凍結(jié)的原始網(wǎng)絡(luò)的第 k 部分輸出 保持接近。正則化損失使用平均絕對(duì)誤差(L1 Loss)進(jìn)行計(jì)算,表達(dá)式如下:

由于原始網(wǎng)絡(luò)不會(huì)被更新,從中提取的輸出 , k~K 被認(rèn)為包含了從源域?qū)W到的知識(shí)。利用這個(gè)事實(shí),通過(guò)將元網(wǎng)絡(luò)的輸出 與原始網(wǎng)絡(luò)的輸出進(jìn)行知識(shí)蒸餾的方式進(jìn)行正則化。也就是說(shuō),防止適應(yīng)模型與原始模型顯著偏離,可以避免災(zāi)難性遺忘。通過(guò)保留源域知識(shí)和利用原始模型的類別區(qū)分度,避免誤差累積。值得注意的是,與先前的方法不同,自蒸餾正則化方法無(wú)需保存額外的原始網(wǎng)絡(luò),它只需要很少的計(jì)算量和內(nèi)存開(kāi)銷。

實(shí)驗(yàn)

分類實(shí)驗(yàn)

下表是在 CIFAR-C 數(shù)據(jù)集上的錯(cuò)誤率比較結(jié)果。包括連續(xù) TTA 上處理了 15 種不同的損壞樣本后的平均錯(cuò)誤率,并考慮了模型參數(shù)和激活大小所需的內(nèi)存。其中,還使用了 AugMix 數(shù)據(jù)處理方法來(lái)增強(qiáng)模型的魯棒性。Source 表示未經(jīng)過(guò)適應(yīng)的預(yù)訓(xùn)練模型。single domain的 TENT 是在適應(yīng)到新的目標(biāo)域時(shí)重置模型(因?yàn)檫@篇論文和 CoTTA 都是在 domian flow 的 setting 下考慮的,而不是 single domain),因此需要使用域標(biāo)簽來(lái)指定目標(biāo)域。

a2652340-19b8-11ee-962d-dac502259ad0.png

在這里插入圖片描述

下表是 ImageNet 到 ImageNet-C 的結(jié)果:

a2a9b65e-19b8-11ee-962d-dac502259ad0.png

在這里插入圖片描述

分割實(shí)驗(yàn)

下表是分割實(shí)驗(yàn)的對(duì)比結(jié)果,可以發(fā)現(xiàn)沒(méi)有和 CoTTA 比較,因?yàn)?EcoTTA 沒(méi)有用和 CoTTA 一樣的 backbone: Segformer,而是 ResNet family。這里我的考慮是,在 Segformer 上性能提高可以可能不明顯,并且 Segformer 的內(nèi)存占用更大。

a2e9d888-19b8-11ee-962d-dac502259ad0.png

在這里插入圖片描述

總結(jié)

這個(gè)工作改進(jìn)了 CoTTA 的性能并節(jié)省了大量?jī)?nèi)存,適用于內(nèi)存有限的邊緣設(shè)備(例如,具有 512MB 的樹(shù)莓派和具有 4G B的 iPhone 13)。首先,提出了一種內(nèi)存高效的架構(gòu),由原始網(wǎng)絡(luò)和元網(wǎng)絡(luò)組成。通過(guò)減少用于梯度計(jì)算的中間激活值,該架構(gòu)所需的內(nèi)存大小比先前的 TTA 方法要小得多。其次,在解決長(zhǎng)期適應(yīng)問(wèn)題中,提出了自蒸餾正則化方法,以保留源知識(shí)并防止由于噪聲的無(wú)監(jiān)督損失導(dǎo)致的錯(cuò)誤累積。該方法通過(guò)控制元網(wǎng)絡(luò)的輸出與原始網(wǎng)絡(luò)的輸出沒(méi)有顯著偏離來(lái)實(shí)現(xiàn)。通過(guò)對(duì)多個(gè)數(shù)據(jù)集和主干網(wǎng)絡(luò)進(jìn)行廣泛的實(shí)驗(yàn)證明了 EcoTTA 的內(nèi)存效率和 TTA 上的性能。

參考

https://arxiv.org/abs/2303.01904

https://mp.weixin.qq.com/s/kWzXWENTTBKHKZxKKECdlQ

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2909

    瀏覽量

    73585
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    501

    瀏覽量

    25390
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1197

    瀏覽量

    24552

原文標(biāo)題:CVPR 2023 中的領(lǐng)域適應(yīng): 通過(guò)自蒸餾正則化實(shí)現(xiàn)內(nèi)存高效的 CoTTA

文章出處:【微信號(hào):GiantPandaCV,微信公眾號(hào):GiantPandaCV】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    在深度學(xué)習(xí)為什么要正則輸入?

    今天我們來(lái)講解一下為什么要正則輸入(也叫標(biāo)準(zhǔn)輸入)呢?
    的頭像 發(fā)表于 11-22 09:37 ?1.2w次閱讀
    在深度學(xué)習(xí)<b class='flag-5'>中</b>為什么要<b class='flag-5'>正則</b><b class='flag-5'>化</b>輸入?

    什么是正則表達(dá)式?正則表達(dá)式如何工作?哪些語(yǔ)法規(guī)則適用正則表達(dá)式?

    實(shí)現(xiàn)自動(dòng)文本處理。在許多編程語(yǔ)言中,正則表達(dá)式都被廣泛用于文本處理、數(shù)據(jù)分析、網(wǎng)頁(yè)抓取等領(lǐng)域。通過(guò)正則
    的頭像 發(fā)表于 11-03 14:41 ?1934次閱讀
    什么是<b class='flag-5'>正則</b>表達(dá)式?<b class='flag-5'>正則</b>表達(dá)式如何工作?哪些語(yǔ)法規(guī)則適用<b class='flag-5'>正則</b>表達(dá)式?

    請(qǐng)問(wèn)TV正則怎么求解微分

    TV正則怎么求解微分 需要代碼 可否指教一下 大神
    發(fā)表于 11-20 21:42

    一種基于機(jī)器學(xué)習(xí)的建筑物分割掩模自動(dòng)正則和多邊形方法

    化處理,使其更加逼真,即有更多的直線型輪廓,在需要時(shí)構(gòu)造直角。這是通過(guò)給定輸入圖像為真的概率的鑒別器和從鑒別器響應(yīng)中學(xué)習(xí)創(chuàng)造更真實(shí)圖像的生成器之間的相互作用來(lái)實(shí)現(xiàn)的。最后,從正則的建
    發(fā)表于 09-01 07:19

    喜訊!華秋榮獲2023國(guó)產(chǎn)業(yè)數(shù)字百?gòu)?qiáng)榜企業(yè)

    全國(guó)優(yōu)秀的產(chǎn)業(yè)數(shù)字領(lǐng)域的百?gòu)?qiáng)企業(yè)。同期位列“2023國(guó)產(chǎn)業(yè)數(shù)字百?gòu)?qiáng)榜”的還有阿里巴巴B2B、歐冶云商、國(guó)聯(lián)股份、匯通達(dá)、華能智鏈等行業(yè)
    發(fā)表于 12-04 09:58

    華秋榮獲2023國(guó)產(chǎn)業(yè)數(shù)字百?gòu)?qiáng)榜企業(yè)

    全國(guó)優(yōu)秀的產(chǎn)業(yè)數(shù)字領(lǐng)域的百?gòu)?qiáng)企業(yè)。同期位列“2023國(guó)產(chǎn)業(yè)數(shù)字百?gòu)?qiáng)榜”的還有阿里巴巴B2B、歐冶云商、國(guó)聯(lián)股份、匯通達(dá)、華能智鏈等行業(yè)
    發(fā)表于 12-04 10:01

    適應(yīng)正則項(xiàng)去除乘性噪聲

    文中通過(guò):(1)取對(duì)數(shù)把乘性噪聲模型轉(zhuǎn)變成相加形模型;(2)改進(jìn)正則項(xiàng)成為自適應(yīng)擴(kuò)散模型;(3)將數(shù)學(xué)模型應(yīng)用于圖像處理的實(shí)踐當(dāng)中。在解決了階梯效應(yīng)的同時(shí)保持了圖像的邊緣。
    發(fā)表于 03-09 14:21 ?8次下載
    自<b class='flag-5'>適應(yīng)</b><b class='flag-5'>正則</b><b class='flag-5'>化</b>項(xiàng)去除乘性噪聲

    dropout正則技術(shù)介紹

    dropout技術(shù)是神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)模型的一種簡(jiǎn)單而有效的正則方式。 本文將向你介紹dropout正則技術(shù),并且教你如何在Keras中用Python將其應(yīng)用于你的模型。 讀完本文
    發(fā)表于 10-10 10:38 ?2次下載

    基于正則超分辨率的自適應(yīng)閾值去噪方法

    為了提高正則超分辨率技術(shù)在噪聲環(huán)境下的重建能力,對(duì)廣義總變分( GTV)正則超分辨率重建進(jìn)行了擴(kuò)展研究,提出了一種自適應(yīng)閾值去噪的方法。首先,根據(jù)GTV
    發(fā)表于 11-30 11:26 ?0次下載

    適應(yīng)正則活動(dòng)輪廓模型

    針對(duì)Chan-Vese模型含有許多參數(shù),分割時(shí)需要人為調(diào)整參數(shù),耗費(fèi)大量的人力和時(shí)間的問(wèn)題,提出了一個(gè)自適應(yīng)正則活動(dòng)輪廓模型。首先,對(duì)Chan-Vese模型的數(shù)據(jù)項(xiàng)進(jìn)行簡(jiǎn)化;其次,使用改進(jìn)的邊界
    發(fā)表于 12-18 16:05 ?0次下載

    詳解機(jī)器學(xué)習(xí)和深度學(xué)習(xí)常見(jiàn)的正則

    說(shuō)到正則大家應(yīng)該都不陌生,這個(gè)在機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中都是非常常見(jiàn)的,常用的正則有L1正則
    的頭像 發(fā)表于 01-29 17:52 ?2206次閱讀
    詳解機(jī)器學(xué)習(xí)和深度學(xué)習(xí)常見(jiàn)的<b class='flag-5'>正則</b><b class='flag-5'>化</b>

    正則方法DropKey: 兩行代碼高效緩解視覺(jué)Transformer過(guò)擬合

    美圖影像研究院(MT Lab)與中國(guó)科學(xué)院大學(xué)在 CVPR 2023 上發(fā)表了一篇文章,提出一種新穎且即插即用的正則器 DropKey,該正則
    的頭像 發(fā)表于 04-17 11:35 ?1040次閱讀

    CoTTA的新方法:用于在非平穩(wěn)環(huán)境下進(jìn)行持續(xù)的測(cè)試時(shí)間適應(yīng)

    參考 前言 Continual Test-Time 的領(lǐng)域適應(yīng)CoTTA)在 CVPR 2022 上被提出,目的是在不使用任何源數(shù)據(jù)(source domain)的情況下,將源預(yù)訓(xùn)
    的頭像 發(fā)表于 06-25 11:21 ?1369次閱讀
    <b class='flag-5'>CoTTA</b>的新方法:用于在非平穩(wěn)環(huán)境下進(jìn)行持續(xù)的測(cè)試時(shí)間<b class='flag-5'>適應(yīng)</b>

    一種免反向傳播的 TTA 語(yǔ)義分割方法

    蒸餾正則實(shí)現(xiàn)內(nèi)存高效CoTTA 推薦對(duì)
    的頭像 發(fā)表于 06-30 15:10 ?479次閱讀
    一種免反向傳播的 TTA 語(yǔ)義分割方法

    深度學(xué)習(xí)模型的過(guò)擬合與正則

    在深度學(xué)習(xí)的廣闊領(lǐng)域中,模型訓(xùn)練的核心目標(biāo)之一是實(shí)現(xiàn)對(duì)未知數(shù)據(jù)的準(zhǔn)確預(yù)測(cè)。然而,在實(shí)際應(yīng)用,我們經(jīng)常會(huì)遇到一個(gè)問(wèn)題——過(guò)擬合(Overfitting)。過(guò)擬合是指模型在訓(xùn)練數(shù)據(jù)上表現(xiàn)優(yōu)異,但在
    的頭像 發(fā)表于 07-09 15:56 ?431次閱讀