讓你的ConVNet一卷到底,plain網絡首次超過80%top1精度

2021-01-20 騰訊網

新智元推薦

來源:AIWalker

編輯:SF

【新智元導讀】該文是清華大學&曠視科技等提出的一種新穎的CNN設計範式,它將ACNet的思想與VGG架構進行了巧妙的結合,首次將plain模型的精度在ImageNet上提升到了超過80%top1精度。相比ResNet、RegNet、EfficientNet等網絡,RepVGG具有更好的精度-速度均衡。

paper: httsp://arxiv.org/abs/2101.03697

code: https://github.com/DingXiaoH/RepVGG

Abstract

本文提出一種簡單而強有力的CNN架構RepVGG,在推理階段,它具有與VGG類似的架構,而在訓練階段,它則具有多分支架構體系,這種訓練-推理解耦的架構設計源自一種稱之為「重參數化(re-parameterization)」的技術。

在ImageNet數據集上,RepVGG取得了超過80%的top-1精度,這是plain模型首次達到如此高的精度。在NVIDIA 1080TiGPU上,RepVGG比ResNet50快83%,比ResNet101快101%,同時具有更高的精度;相比EfficientNet與RegNet,RepVGG表現出了更好的精度-速度均衡。

該文的主要貢獻包含以下三個方面

提出了一種簡單有強有的CNN架構RepVGG,相比EfficientNet、RegNet等架構,RepVGG具有更佳的精度-速度均衡;

提出採用重參數化技術對plain架構進行訓練-推理解耦;

在圖像分類、語義分割等任務上驗證了RepVGG的有效性。

Method

Simple is Fast, Memory-economical, Flexible

簡單的ConvNet具有這樣三點優勢:

Fast:

相比VGG,現有的多分支架構理論上具有更低的Flops,但推理速度並未更快。比如VGG16的參數量為EfficientNetB3的8.4倍,但在1080Ti上推理速度反而快1.8倍。這就意味著前者的計算密度是後者的15倍。

Flops與推理速度的矛盾主要源自兩個關鍵因素

(1) MAC(memory access cose),比如多分支結構的Add與Cat的計算很小,但MAC很高;

(2)並行度,已有研究表明:並行度高的模型要比並行度低的模型推理速度更快。

Memory-economical:

多分支結構是一種內存低效的架構,這是因為每個分支的結構都需要在Add/Concat之前保存,這會導致更大的峰值內存佔用;而plain模型則具有更好的內存高效特徵。

Flexible:

多分支結構會限制CNN的靈活性,比如ResBlock會約束兩個分支的tensor具有相同的形狀;與此同時,多分支結構對於模型剪枝不夠友好。

Training-time Multi-branch Architecture

Palin模型具有多種優勢但存在一個重要的弱勢:性能差。比如VGG16在ImageNet僅能達到72%的top-1指標。

本文所設計的RepVGG則是受ResNet啟發得到,ResNet的ResBlock顯示的構建了一個短連接模型信息流

,當

的維度不匹配時,上述信息流則轉變為

儘管多分支結構對於推理不友好,但對於訓練友好,作者將RepVGG設計為訓練時的多分支,推理時單分支結構。作者參考ResNet的identity與1x1分支,設計了如下形式模塊:

其中,

分別對應

卷積。在訓練階段,通過簡單的堆疊上述模塊構建CNN架構;而在推理階段,上述模塊可以輕易轉換為

形式,且

的參數可以通過線性組合方式從已訓練好的模型中轉換得到。

Re-param for Plain Inference-time Model

接下來,我們將介紹如何將已訓練模塊轉換成單一的

卷積用於推理。下圖給出了參數轉換示意圖。

我們採用

表示輸入

,輸出

,卷積核為3的卷積;

採用

表示輸入

,輸出

,卷積核為1的卷積;

採用

表示

卷積後的BatchNorm的參數;

採用

表示

卷積後的BatchNorm的參數;

採用

表示identity分支的BatchNorm的參數。

假設

分別表示輸入與輸出,當

時,

否則,簡單的採用無identity分支的模塊,也就是說只有前兩項。註:bn表示推理時的BN。

首先,我們可以將每個BN與其前接Conv層合併:

註:identity分支可以視作

卷積。通過上述變換,此時上述模塊僅僅具有一個

卷積核,兩個

卷積核以及三個bias參數。

此時,三個bias參數可以通過簡單的add方式合併為一個bias;而卷積核則可以將

卷積核參數加到

卷積核的中心點得到。

Architectural Specification

前面介紹了RepVGG的核心模塊設計方式,接下來就要介紹RepVGG的網絡結構如何設計了。

下表給出了RepVGG的配置信息,包含深度與寬度。

RepVGG是一種類VGG的架構,在推理階段它僅僅採用

卷積與ReLU,且未採用MaxPool。對於分類任務,採用GAP+全連接層作為輸出頭。

對於每個階段的層數按照如下三種簡單的規則進行設計:

第一個階段具有更大的解析度,故而更為耗時,為降低推理延遲僅僅採用了一個卷積層;

最後一個階段因為具有更多的通道,為節省參數量,故而僅設計一個卷積層;

在倒數第二個階段,類似ResNet,RepVGG放置了更多的層。

基於上述考量,RepVGG-A不同階段的層數分別為1-2-4-14-1;與此同時,作者還構建了一個更深的RepVGG-B,其層數配置為1-4-6-16-1。RepVGG-A用於與輕量型網絡和中等計算量網絡對標,而RepVGG-B用於與高性能網絡對標。

與此同時,作者採用因子

控制前四個階段的通道,因子

控制最後一個階段的通道,通常

(我們期望最後一層具有更豐富的特徵)。

為避免大尺寸特徵的高計算量,對於第一階段的輸出通道做了約束

。基於此得到的不同RepVGG見下表。

為進一步降低計算量與參數量,作者還設計了可選的

組卷積替換標準卷積。具體地說,在RepVGG-A的3-5-7-...-21卷積層採用了組卷積;此外,在RepVGG-B的23-25-27卷積層同樣採用了組卷積。

Experiments

接下來,我們將在不同任務上驗證所提方案的有效性,這裡主要在ImageNet圖像分類任務上進行了實驗分析。

上表給出了RepVGG與不同計算量的ResNe及其變種在精度、速度、參數量等方面的對比。

可以看到:RepVGG表現出了更好的精度-速度均衡,比如

RepVGG-A0比ResNet18精度高1.25%,推理速度快33%;

RepVGG-A1比Resnet34精度高0.29%,推理速度快64%;

RepVGG-A2比ResNet50精度高0.17%,推理速度快83%;

RepVGG-B1g4比ResNet101精度高0.37%,推理速度快101%;

RepVGG-B1g2比ResNet152精度相當,推理速度快2.66倍。

另外需要注意的是:RepVGG同樣是一種參數高效的方案。比如:相比VGG16,RepVGG-B2b168.com僅需58%參數量,推理快10%,精度高6.57%。

與此同時,還與EfficientNet、RegNet等進行了對比,對比如下:

RepVGG-A2比EfficientNet-B0精度高1.37%,推理速度快59%;

RepVGG-B1比RegNetX-3.2GF精度高0.39%,推理速度稍快;

此外需要注意:RepVGG僅需200epoch即可取得超過80%的top1精度,見上表對比。這應該是plain模型首次在精度上達到SOTA指標

相比RegNetX-12GF,RepVGG-B3的推理速度快31%,同時具有相當的精度。

儘管RepVGG是一種簡單而強有力的ConvNet架構,它在GPU端具有更快的推理速度、更少的參數量和理論FLOPS;但是在低功耗的端側,MobileNet、ShuffleNet會更受關注。

全文到此結束,更多消融實驗分析建議各位同學查看論文原文。

題外話

話說在半個月多之前就聽說xiangyu等人把ACNet的思想與Inception相結合設計了一種性能更好的重參數化方案RepVGG,即可取得訓練時的性能提升,又可以保持推理高效,使得VGG類網絡可以達到ResNet的高性能。

在初次看到RepVGG架構後,筆者就曾嘗試將其用於VDSR圖像超分方案中,簡單一試,確實有了提升,而且不需要進行梯度裁剪等額外的一些操作,贊。

從某種程度上講,RepVGG應該是ACNet的的一種極致精簡,比如上圖給出了ACNet的結構示意圖,它採用了

三種卷積設計;而RepVGG則是僅僅採用了

三個分支設計。

ACNet與RepVGG的另外一點區別在於:ACNet是將上述模塊用於替換ResBlock或者Inception中的卷積,而RepVGG則是採用所設計的模塊用於替換VGG中的卷積。

Code

最後附上作者提供的RepVGG的核心模塊實現code,如下所示。

相關焦點

  • plain jane麻辣雞歌詞什麼意思 plain jane麻辣雞歌詞諧音翻唱全文
    抖音plain jane remix歌曲非常火,plain jane麻辣雞歌詞中文什麼意思?很多人求plain jane麻辣雞歌詞翻譯,下面帶來plain jane歌詞大意介紹。plain jane麻辣雞歌詞什麼意思  歌名《plain jane》中文翻譯過來的含義是不起眼的女孩,也泛指普通女孩。
  • 記錄 加州鮮為人知的Carrizo Plain秘密野花
    支持下辛辛苦苦碼字拍照作圖的螺旋君,點上面的藍字關注「抹茶螺旋君」吧:)    加州三月看花季,最出名的有比如開滿了加州州花紅罌粟的Poppy Reserve,位於San Diego北側的看完花順便還能去逛下outlet工廠店的
  • plain jane麻辣雞歌詞什麼意思 麻辣雞歌詞諧音翻譯
    抖音plain jane remix歌曲非常火,plain jane麻辣雞歌詞中文什麼意思?很多人求plain jane麻辣雞歌詞翻譯,下面帶來plain jane歌詞大意介紹。plain jane麻辣雞歌詞什麼意思歌名《plain jane》中文翻譯過來的含義是不起眼的女孩,也泛指普通女孩。
  • 算算一卷衛生紙有多長?看看你家衛生紙還能撐幾天?
    一捲紙到底有多長?剩下的紙夠不夠用?為了解決這個問題,又要散發我這該死的迷人的數學魅力了。我們以最常見這種捲紙為例。這種捲紙一般都是分節的,不得不說這樣的設計還是很人性化的。其實一般包裝上都會告訴你這衛生紙每一節長和寬的尺寸,而且一些良心廠家會在包裝上說明一捲紙有多少節!遇到這樣的良心廠家,我們算捲紙的長度的很easy了!
  • 12個寫論文必備的神經網絡可視化工具
    本文介紹了了12個將神經網絡畫地更好看的工具。1. draw_convnet一個用於畫卷積神經網絡的Python腳本連結:https://github.com/gwding/draw_convnet
  • 精度首超ResNet,港科大和CMU提出史上最強二值化網絡ReActNet
    論文地址:https://arxiv.org/abs/2003.03488開源地址:https://github.com/liuzechun/ReActNet在眾多卷積神經網絡(CNN)壓縮算法中,二值化網絡(BNN)作為網絡量化的極端情況,一直擁有著高壓縮比,高加速比的性能優勢,但是BNN的精度不高也一直飽受詬病,阻礙了BNN在實際場景中的應用。
  • 神經網絡技術檢測玻璃鋼缺陷精度高
    科技日報訊 (記者董映璧)俄羅斯託木斯克理工大學開發出一種利用神經網絡技術檢測半透明材料缺陷的新方法,測量精度超過所有其他方法。相關研究結果發表在最近的《無損評估》上。研究人員開發的使用人工神經網絡技術檢測半透明材料缺陷的新方法,主要包括檢測時使用的算法軟體,其有效性取決於用於神經網絡學習的數據的數量和質量,對於特定的材料和設備,可以對網絡學習進行訓練,使測量精度超過其他方法。目前,該軟體正在實驗室進一步研究,研究人員計劃繼續改進算法以提高其準確性。
  • 你是「列文虎克」嗎?|這個網絡流行梗到底是什麼意思
    從去年開始,「列文虎克」作為一個網絡流行詞彙突然在各大社交媒體平臺和彈幕中活躍起來。「你就是列文虎克」、「不愧是列文虎克」、「列文虎克女孩」、「列文虎克式看劇」……「列文虎克」似乎可以作為一個名詞,也可以是一個形容詞,那麼這個梗到底是什麼意思?
  • SBS防水卷材一卷多少平方
    那麼,SBS防水卷材一卷有多少平方呢?想必這是很多人非常關注的一個問題,那麼,小編就來講一下這個問題,希望能幫助大家了解一二。目前,市面上售賣的SBS防水卷材規格上都是1mX10m,也就是說一卷10個平方,但是,片巖型和黃砂型由於重量問題,一般長度不到10m,例如4mm厚的片巖型和黃砂型SBS防水卷材規格是1mX7.5m,這樣的卷材一卷就只有7.5個平方。
  • 80邁80碼到底等於多少公裡/小時?
    經常聽到朋友們說車子開到80邁就開始出現抖動啊,異響啊等等等,今天我們先不談車子本身的問題,咱就先說說「邁」、「碼」、「公裡/小時
  • 胸穿首次抽液,最多不要超過多少毫升?
    教材的說法 《診斷學(第 9 版)》:「首次抽液不超過 600ml,以後每次不超過 1000ml,若為膿胸,每次儘量抽盡」。 《內科學(第 9 版)》:「首次抽液不要超過 700ml,以後每次抽液量不應超過 1000ml,每周抽液 2~3 次」。
  • SBS改性瀝青防水卷材多少錢一卷
    目前市面上的SBS防水卷材大都是1m寬X10m長的,也就是一卷是10個平方,由於重量原因,4mm厚的黃砂型和片巖型是1m寬X7.5m長,一卷是7.5個平方。一般防水卷材的單價都是以元/平方為單位,所以長度是導致每卷材料價格不一的因素之一。
  • 2020年全國一卷高考理綜在線估分對答案
    2020年全國一卷高考理綜在線估分對答案 2020-07-09 21:36 來源:新東方網 作者:
  • 發尾卷一卷,臉瞬間小一圈!
    發尾卷一卷,臉瞬間小一圈!發尾卷一卷,臉瞬間小一圈!臉大連寬臉肉餅的妹子看過來,長發短髮中發發尾燙依舊是瘦臉的最佳選擇,尤其是對於第一次燙髮的妹子來說,發尾卷真的是百搭又瘦臉~發尾卷中的「C卷」可是能夠瘦臉修容的佼佼者了。內扣搭配空氣劉海,不僅顯臉小,還特別的減齡。
  • 以太坊周交易量首次超過比特幣
    根據市場分析公司Coin Metrics今天發布的一份新報告,自2018年初以來,以太坊的調整後每周交易價值已首次超過比特幣。上周六,以太坊「7天平均調整後轉移價值」達30.8億美元,而比特幣為30.1億美元。Coin Metrics將其歸因於DeFi的興起。
  • 馬化騰談數字生態:廣度、深度、精度三者密不可分
    馬化騰表示,從廣度、深度、精度三個角度來看, 廣度讓每個人都受益,深度可以助力創新,精度則可以提高生活品質,三者密不可分,數位化將提高每個人的生活品質。他認為,流動的數據、開放的網絡和智能的系統,是數字新生態必不可少的組成部分。馬化騰指出,2015年中央政府報告首次出現「網際網路+」,2017年提出數字經濟,今年提出數字中國。
  • 殲20的速度高達2.8馬赫到底多快?跑車的80邁=80碼=80公裡?
    殲20的速度高達2.8馬赫到底有多快?二、跑車的80邁=80碼=80公裡?70碼也一度成為了網絡熱詞…….80邁,那就是每小時行駛129公裡。這要是在限速80的公路行駛,你絕對的超速50%。
  • 無處不在的「中國精度」
    在這段時期內,「中國精度」的使用體驗和服務性能得到了穩定提升與長足發展。特別是在過去的兩年內,「中國精度」的基礎用戶量已從2018年的5萬,逐漸增加到今天基礎用戶量超過15萬的龐大規模。在中越邊界勘測項目中,實地勘察的邊界往往遠離市區,通信運營商的信號不穩定,分布不均勻,基準站和流動站無法採用網絡模式作業,傳統測量模式受到種種困擾。正是在這種情況下,「中國精度」的優勢得到充分發揮,由於採用衛星代替了地面基站,用戶只需要攜帶一臺接收機,使用星站差分模式,便可以進行數據採集,極大地提高了測繪效率。