1.3ms耗時(shí)!清華最新開源行動裝置神經(jīng)網(wǎng)路架構(gòu) RepViT
Mar 11, 2024 pm 12:07 PM論文地址:https://arxiv.org/abs/2307.09283
代碼地址:https://github.com/THU-MIG/RepViT
RepViT 在移動端 ViT 架構(gòu)中表現(xiàn)出色,展現(xiàn)出顯著的優(yōu)勢。接下來,我們將探討本研究的貢獻(xiàn)所在。
- 文中提到,輕量級 ViTs 通常比輕量級 CNNs 在視覺任務(wù)上表現(xiàn)得更好,這主要?dú)w功于它們的多頭自注意力模塊(
MSHA
)可以讓模型學(xué)習(xí)全局表示。然而,輕量級 ViTs 和輕量級 CNNs 之間的架構(gòu)差異尚未得到充分研究。 - 在這項(xiàng)研究中,作者們通過整合輕量級 ViTs 的有效架構(gòu)選擇,逐步提升了標(biāo)準(zhǔn)輕量級 CNN(特別是?
MobileNetV3
?的移動友好性。這便衍生出一個(gè)新的純輕量級 CNN 家族的誕生,即RepViT
。值得注意的是,盡管 RepViT 具有 MetaFormer 結(jié)構(gòu),但它完全由卷積組成。 - 實(shí)驗(yàn)結(jié)果表明,
RepViT
?超越了現(xiàn)有的最先進(jìn)的輕量級 ViTs,并在各種視覺任務(wù)上顯示出優(yōu)于現(xiàn)有最先進(jìn)輕量級ViTs的性能和效率,包括 ImageNet 分類、COCO-2017 上的目標(biāo)檢測和實(shí)例分割,以及 ADE20k 上的語義分割。特別地,在ImageNet
上,RepViT
?在?iPhone 12
?上達(dá)到了近乎 1ms 的延遲和超過 80% 的Top-1 準(zhǔn)確率,這是輕量級模型的首次突破。
好了,接下來大家應(yīng)該關(guān)心的應(yīng)該時(shí)“如何設(shè)計(jì)到如此低延遲但精度還很6的模型”出來呢?
方法
再?ConvNeXt
?中,作者們是基于?ResNet50
?架構(gòu)的基礎(chǔ)上通過嚴(yán)謹(jǐn)?shù)睦碚摵蛯?shí)驗(yàn)分析,最終設(shè)計(jì)出一個(gè)非常優(yōu)異的足以媲美?Swin-Transformer
?的純卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)。同樣地,RepViT
也是主要通過將輕量級 ViTs 的架構(gòu)設(shè)計(jì)逐步整合到標(biāo)準(zhǔn)輕量級 CNN,即MobileNetV3-L
,來對其進(jìn)行針對性地改造(魔改)。在這個(gè)過程中,作者們考慮了不同粒度級別的設(shè)計(jì)元素,并通過一系列步驟達(dá)到優(yōu)化的目標(biāo)。
訓(xùn)練配方的對齊
在論文中,新引入了一個(gè)用於衡量行動裝置上延遲的指標(biāo),並確保訓(xùn)練策略與目前流行的輕量級ViTs 保持一致。這項(xiàng)措施的目的是為了確保模型訓(xùn)練的一貫性,其中涉及延遲度量和訓(xùn)練策略的調(diào)整兩個(gè)關(guān)鍵概念。
延遲度量指標(biāo)
為了更準(zhǔn)確地衡量模型在真實(shí)行動裝置上的效能,作者選擇了直接測量模型在裝置上的實(shí)際延遲,以此作為基準(zhǔn)度量。這個(gè)度量方法不同於先前的研究,它們主要透過FLOPs
或模型大小等指標(biāo)來優(yōu)化模型的推理速度,這些指標(biāo)並不總是能很好地反映在行動應(yīng)用中的實(shí)際延遲。
訓(xùn)練策略的對齊
這裡,將 MobileNetV3-L 的訓(xùn)練策略調(diào)整以與其他輕量級 ViTs 模型對齊。這包括使用?AdamW
?優(yōu)化器【ViTs 模型必備的優(yōu)化器】,進(jìn)行 5 個(gè) epoch 的預(yù)熱訓(xùn)練,以及使用餘弦退火學(xué)習(xí)率調(diào)度進(jìn)行 300 個(gè) epoch 的訓(xùn)練。儘管這種調(diào)整導(dǎo)致了模型準(zhǔn)確率的略微下降,但可以保證公平性。
區(qū)塊設(shè)計(jì)的最佳化
接下來,基於一致的訓(xùn)練設(shè)置,作者們探索了最優(yōu)的區(qū)塊設(shè)計(jì)。區(qū)塊設(shè)計(jì)是 CNN 架構(gòu)中的重要組成部分,優(yōu)化區(qū)塊設(shè)計(jì)有助於提高網(wǎng)路的效能。
分離Token 混音器和通道混合器
這塊主要是對?MobileNetV3-L
?的塊結(jié)構(gòu)進(jìn)行了改進(jìn),分離了令牌混合器和通道混合器。原來的 MobileNetV3 區(qū)塊結(jié)構(gòu)包含一個(gè) 1x1 擴(kuò)張卷積,然後是一個(gè)深度卷積和一個(gè) 1x1 的投影層,然後透過殘差連接連接輸入和輸出。在此基礎(chǔ)上,RepViT 將深度卷積提前,使得通道混合器和令牌混合器能夠被分開。為了提高性能,還引入了結(jié)構(gòu)重參數(shù)化來在訓(xùn)練時(shí)為深度濾波器引入多分支拓?fù)?。最終,作者們成功地在 MobileNetV3 區(qū)塊中分離了令牌混合器和通道混合器,並將這種區(qū)塊命名為 RepViT 區(qū)塊。
降低擴(kuò)張比例並增加寬度
在通道混合器中,原本的擴(kuò)張比例是4,這表示MLP 區(qū)塊的隱藏維度是輸入維度的四倍,消耗了大量的計(jì)算資源,對推理時(shí)間有很大的影響。為了緩解這個(gè)問題,我們可以將擴(kuò)張比例降低到 2,從而減少了參數(shù)冗餘和延遲,使得 MobileNetV3-L 的延遲降低到 0.65ms。隨後,透過增加網(wǎng)路的寬度,即增加各階段的通道數(shù)量,Top-1 準(zhǔn)確率提高到 73.5%,而延遲只增加到 0.89ms!
宏觀架構(gòu)元素的最佳化
在這一步,本文進(jìn)一步優(yōu)化了MobileNetV3-L在行動裝置上的效能,主要從宏觀架構(gòu)元素出發(fā),包括stem,降採樣層,分類器以及整體階段比例。透過優(yōu)化這些宏觀架構(gòu)元素,模型的效能可以顯著提高。
淺層網(wǎng)路使用卷積擷取器
#圖片
ViTs 通常使用一個(gè)將輸入影像分割成非重疊補(bǔ)丁的 "patchify" 操作作為 stem。然而,這種方法在訓(xùn)練優(yōu)化性和對訓(xùn)練配方的敏感度上存在問題。因此,作者們採用了早期卷積來代替,這種方法已經(jīng)被許多輕量級 ViTs 所採納。對比之下,MobileNetV3-L 使用了一個(gè)更複雜的 stem 進(jìn)行 4x 下採樣。這樣一來,雖然濾波器的初始數(shù)量增加到24,但總的延遲降低到0.86ms,同時(shí) top-1 準(zhǔn)確率提高到 73.9%。
更深的下取樣層
在 ViTs 中,空間下取樣通常透過一個(gè)單獨(dú)的補(bǔ)丁合併層來實(shí)現(xiàn)。因此這裡我們可以採用一個(gè)單獨(dú)且更深的下採樣層,以增加網(wǎng)路深度並減少因解析度降低而帶來資訊損失的程度。具體地,作者們首先使用一個(gè) 1x1 卷積來調(diào)整通道維度,然後將兩個(gè) 1x1 卷積的輸入和輸出通過殘差連接,形成一個(gè)前饋網(wǎng)路。此外,他們還在前面增加了 RepViT 區(qū)塊以進(jìn)一步加深下取樣層,這一步提高了 top-1 準(zhǔn)確率到 75.4%,同時(shí)延遲為 0.96ms。
更簡單的分類器
#在輕量級ViTs 中,分類器通常由一個(gè)全域平均池化層後面接一個(gè)線性層組成。相比之下,MobileNetV3-L 使用了一個(gè)更複雜的分類器。因?yàn)楝F(xiàn)在最後的階段有更多的通道,所以作者們將它替換為一個(gè)簡單的分類器,即一個(gè)全域平均池化層和一個(gè)線性層,這一步將延遲降低到0.77ms,同時(shí)top-1 準(zhǔn)確率為74.8%。
整體階段比例
階段比例代表了不同階段中區(qū)塊數(shù)量的比例,從而表示了計(jì)算在各階段中的分佈。論文選擇了一個(gè)更優(yōu)的階段比例 1:1:7:1,然後增加網(wǎng)路深度到 2:2:14:2,從而實(shí)現(xiàn)了一個(gè)更深的佈局。這一步驟將 top-1 準(zhǔn)確率提高到 76.9%,同時(shí)延遲為 1.02 ms。
微觀設(shè)計(jì)的調(diào)整
接下來,RepViT 透過逐層微觀設(shè)計(jì)來調(diào)整輕量級CNN,這包括選擇合適的捲積核大小和優(yōu)化擠壓-激勵(lì)(Squeeze- and-excitation,簡稱SE)層的位置。這兩種方法都能顯著改善模型效能。
卷積核大小的選擇
眾所周知,CNNs 的效能和延遲通常受到卷積核大小的影響。例如,為了建模像 MHSA 這樣的遠(yuǎn)距離上下文依賴,ConvNeXt 使用了大卷積核,從而實(shí)現(xiàn)了顯著的效能提升。然而,大卷積核對於行動裝置並不友好,因?yàn)樗挠?jì)算複雜性和記憶體存取成本。 MobileNetV3-L 主要使用 3x3 的捲積,有一部分區(qū)塊中使用 5x5 的捲積。作者們將它們替換為3x3的捲積,這導(dǎo)致延遲降低到 1.00ms,同時(shí)保持了76.9%的top-1準(zhǔn)確率。
SE 層的位置
自註意力模組相對於卷積的一個(gè)優(yōu)點(diǎn)是根據(jù)輸入調(diào)整權(quán)重的能力,這稱為資料驅(qū)動屬性。作為一個(gè)通道注意力模組,SE層可以彌補(bǔ)卷積在缺乏資料驅(qū)動屬性上的限制,從而帶來更好的效能。 MobileNetV3-L 在某些區(qū)塊中加入了SE層,主要集中在後兩個(gè)階段。然而,與分辨率較高的階段相比,分辨率較低的階段從SE提供的全局平均池化操作中獲得的準(zhǔn)確率提升較小。作者們設(shè)計(jì)了一種策略,在所有階段以交叉塊的方式使用SE層,從而在最小的延遲增量下最大化準(zhǔn)確率的提升,這一步將top-1準(zhǔn)確率提升到77.4%,同時(shí)延遲降低到0.87ms。 【這點(diǎn)其實(shí)百度在很早前就已經(jīng)做過實(shí)驗(yàn)比對得到過這個(gè)結(jié)論了,SE 層放置在靠近深層的地方效果好】
網(wǎng)路架構(gòu)
最終,透過整合上述改進(jìn)策略,我們便得到了模型RepViT
的整體架構(gòu),該模型有多個(gè)變種,例如RepViT-M1/ M2/M3
。同樣地,不同的變種主要透過每個(gè)階段的通道數(shù)和區(qū)塊數(shù)來區(qū)分。
實(shí)驗(yàn)
影像分類
偵測與分割
#總結(jié)
本文透過引入輕量級ViT 的架構(gòu)選擇,重新審視了輕量級CNNs 的高效設(shè)計(jì)。這導(dǎo)致了 RepViT 的出現(xiàn),這是一種新的輕量級 CNNs 家族,專為資源受限的行動裝置設(shè)計(jì)。在各種視覺任務(wù)上,RepViT 超越了現(xiàn)有的最先進(jìn)的輕量級 ViTs 和 CNNs,顯示出優(yōu)越的性能和延遲。這突顯了純粹的輕量級 CNNs 對行動裝置的潛力。
以上是1.3ms耗時(shí)!清華最新開源行動裝置神經(jīng)網(wǎng)路架構(gòu) RepViT的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

iPhone不支持在通訊錄應(yīng)用中直接創(chuàng)建聯(lián)繫人組,但可通過以下方法實(shí)現(xiàn)類似功能:1.在通訊錄應(yīng)用中使用“群組”功能,點(diǎn)擊“編輯”>“添加群組”創(chuàng)建自定義群組;2.通過編輯每個(gè)聯(lián)繫人將其加入對應(yīng)群組;3.若需群發(fā)消息,可在信息應(yīng)用中新建多人對話實(shí)現(xiàn);4.使用iCloud或Gmail同步標(biāo)籤化分組,便於電腦端管理大量聯(lián)繫人。這些方法結(jié)合使用可高效管理聯(lián)繫人群組。

TocheckifaniPhoneisunlocked,1)gotoSettings>Cellular>CellularDataOptionsandlookforlabelslike“Unlocked”or“NoSIMrestrictions,”2)insertadifferentcarrier’sactiveSIMcardandseeifthephoneacceptsit,3)usetheIMEInumberononlinetoolslikeIMEI.infotocheckunlo

確定iPhone的折舊價(jià)值需考慮多個(gè)因素並比較不同平臺。 2.首選蘋果官方換購計(jì)劃,其流程簡單透明,但最終估值需以設(shè)備實(shí)際狀況為準(zhǔn)。 3.第三方網(wǎng)站如Gazelle、Swappa等可能提供更高報(bào)價(jià),但需注意描述真實(shí)狀況並避開收費(fèi)陷阱。 4.影響價(jià)值的核心因素包括型號與存儲容量、設(shè)備狀況、運(yùn)營商鎖定狀態(tài)等,小問題也可能影響報(bào)價(jià)。 5.若追求更高回報(bào)可選擇私下出售,但需權(quán)衡時(shí)間成本與交易風(fēng)險(xiǎn)。

要?jiǎng)?chuàng)建iOS17中的PersonalVoice,首先需在設(shè)置中啟用該功能並錄製約五分鐘的聲音模型。具體步驟如下:1.打開“設(shè)置”>“輔助功能”>“旁白”,點(diǎn)擊“PersonalVoice”並選擇“創(chuàng)建PersonalVoice”;2.在安靜環(huán)境中朗讀系統(tǒng)提供的文本,保持語速平穩(wěn);3.創(chuàng)建完成後,可在“旁白”中使用你的個(gè)性化語音朗讀消息、通知等,也可切換回默認(rèn)語音;4.當(dāng)前僅支持英文和部分語言,中文暫不支持;5.錄音時(shí)注意環(huán)境噪音、語調(diào)一致性和存儲空間,並可重新錄製不滿意的內(nèi)容。語音模

換新iPhone時(shí)遷移聯(lián)繫人可通過三種方法完成:第一,使用iCloud同步最省心,確保舊機(jī)已開啟iCloud通訊錄備份,新機(jī)登錄同一賬號並開啟同步即可;第二,用AirDrop適合少量聯(lián)繫人傳輸,兩臺手機(jī)設(shè)置AirDrop可見性後通過共享按鈕發(fā)送接收;第三,借助電腦中轉(zhuǎn),Mac或Windows均可,通過Finder或iTunes同步聯(lián)繫人並替換或合併數(shù)據(jù)。選擇適合自己的方式並註意賬號與權(quán)限設(shè)置即可輕鬆完成遷移。

iPhone的RAM無法手動清理,但可通過以下方法釋放內(nèi)存提升流暢度:1.關(guān)閉後臺應(yīng)用:雙擊Home鍵或從底部上滑暫停關(guān)閉卡片;2.定期重啟手機(jī):每週一次刷新系統(tǒng)狀態(tài);3.減少後臺刷新:進(jìn)入設(shè)置→通用→後臺App刷新限制應(yīng)用數(shù)量;4.避免同時(shí)運(yùn)行多個(gè)高資源應(yīng)用,分階段使用以減輕內(nèi)存壓力。這些操作能有效緩解iPhone內(nèi)存緊張導(dǎo)致的卡頓問題。

在蘋果手機(jī)上購買USDT等穩(wěn)定幣需通過海外Apple ID下載合規(guī)交易所App並完成認(rèn)證後進(jìn)行交易,具體步驟如下:1. 使用非大陸地區(qū)Apple ID登錄App Store;2. 下載推薦平臺如歐易(OKX)、幣安(Binance)、火幣(HTX)、Gate.io或KuCoin;3. 完成註冊及身份認(rèn)證(KYC);4. 進(jìn)入“買幣”或“C2C/P2P交易”頁面選擇USDT;5. 根據(jù)支付方式篩選商家並下單;6. 通過支付寶、微信或銀行卡付款並確認(rèn)交易;7. 等待商家放幣至賬戶,整個(gè)過程完成後即可

若忘記iPhone密碼,可嘗試以下方法:1.使用iTunes/Finder進(jìn)入恢復(fù)模式恢復(fù)設(shè)備(需已連接過電腦);2.若開啟“查找我的iPhone”,可通過iCloud抹除設(shè)備;3.聯(lián)繫Apple客服尋求協(xié)助(需提供購機(jī)憑證)。以上方法中前兩者會清除數(shù)據(jù),建議日後定期備份並啟用查找功能。
