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

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

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

解析yolov7采用的一項(xiàng)技術(shù):模型結(jié)構(gòu)重參化

博世蘇州 ? 來源:博世蘇州 ? 作者:博世蘇州 ? 2022-08-09 14:27 ? 次閱讀

Yolov7問世,刷新了目標(biāo)檢測內(nèi)卷的新上限!小博此次攜手博世AI大神Zlex做一次解析。今天,我們不準(zhǔn)備解析yolov7,而是解析yolov7采用的一項(xiàng)技術(shù):模型結(jié)構(gòu)重參化。

首先,這要從古老的vgg說起,很久很久以前神經(jīng)網(wǎng)絡(luò)還沒有很多花樣的時候,他是一個以卷積為主串聯(lián)的網(wǎng)絡(luò)結(jié)構(gòu),如下圖所示:

3a51761a-179c-11ed-ba43-dac502259ad0.png

3a5ec388-179c-11ed-ba43-dac502259ad0.png

由于見證了神經(jīng)網(wǎng)絡(luò)的神奇效果,科學(xué)家工程師們前仆后繼開發(fā)了resnet, inception net, 以及自學(xué)習(xí)產(chǎn)生的efficientnet等等以結(jié)構(gòu)創(chuàng)新為主的系列,以及歸一化系列(ln,bn,gn,in),激活函數(shù)系列, 卷積系列等各種新的計算層,還有各種損失函數(shù)層等等。

隨著思維的展開,除了從計算方法(數(shù)學(xué)推理角度)和網(wǎng)絡(luò)結(jié)構(gòu)(實(shí)驗(yàn)性創(chuàng)新角度)層面創(chuàng)新,還有哪些腦洞可以打開呢?是否可以實(shí)現(xiàn)數(shù)學(xué)和網(wǎng)絡(luò)結(jié)構(gòu)方面的互相轉(zhuǎn)化?答案是肯定的,數(shù)學(xué)推算和結(jié)構(gòu)設(shè)計之間是可以相互轉(zhuǎn)化的。

而模型結(jié)構(gòu)重參化就是其中一種。

01

模型結(jié)構(gòu)重參化

模型結(jié)構(gòu)重參化是繼承了深度學(xué)習(xí)的特性,并作為思考點(diǎn)而展開的,也就是訓(xùn)練(train)和推斷(deploy)分別思考的策略,通常我們是可以忍受訓(xùn)練速度較慢,但是推理更加快速的部署方案。

基于這個現(xiàn)實(shí)的考慮,是否可能通過增加訓(xùn)練的復(fù)雜度但不增加推斷運(yùn)行的時間,從而達(dá)到模型能力的提升?

其實(shí)這一切都經(jīng)不起科學(xué)家的推敲,這種思路的可行性答案也是肯定的,其實(shí)在很久之前的部署加速技巧—— Conv、BN、Relu 三個層融合(大部分情況是conv和bn融合)也是發(fā)現(xiàn)了——訓(xùn)練和部署可以在網(wǎng)絡(luò)結(jié)構(gòu)不同的情況下實(shí)現(xiàn)效果等價,這個數(shù)學(xué)公式等價變換思路。而tensorRT等部署加速方案也都融合了這項(xiàng)技術(shù)。

模型結(jié)構(gòu)重參化(structural re-parameterization)是丁霄漢近年來提出的一種通用深度學(xué)習(xí)模型設(shè)計方法論。該方法論首先指出了構(gòu)造一系列用于訓(xùn)練的結(jié)構(gòu),并將其結(jié)構(gòu)等價轉(zhuǎn)換為另一種用于測試的結(jié)構(gòu),也就是訓(xùn)練和測試的結(jié)構(gòu)不再相同,但是效果等效。

該理論是假設(shè)在訓(xùn)練資源相對豐富的條件下,在不降低推理能力的前提下又能達(dá)到提速的目的。因此訓(xùn)練時的模型可以足夠復(fù)雜,且具備優(yōu)秀的性質(zhì)。而轉(zhuǎn)換得到的推理時模型可以簡化,但能力不會減弱,也就是實(shí)現(xiàn)無損壓縮。

為什么要以vgg為例,而不是以目前各種先進(jìn)復(fù)雜的結(jié)構(gòu)為例解析這一設(shè)計呢?其原因在于:模型結(jié)構(gòu)復(fù)雜提升了精度,但不利于硬件的各種并行加速計算。但vgg這種單一的結(jié)構(gòu)更容易做很多的變形和加速操作,Repvgg就是基于vgg網(wǎng)絡(luò)的模型結(jié)構(gòu)重參化。

論文中對比了resnet的參差結(jié)構(gòu)和rep結(jié)構(gòu)的不同,以及訓(xùn)練和推理網(wǎng)絡(luò)如何轉(zhuǎn)化,如下圖所示:

3a80dd74-179c-11ed-ba43-dac502259ad0.png

以上設(shè)計方法論基于的數(shù)學(xué)關(guān)系是:

(i+c+b)*w=i*w + c*w + b*w的等式理論。

該等式畫成結(jié)構(gòu)圖是:

3a988cda-179c-11ed-ba43-dac502259ad0.png

只不過在卷積的世界里,a和b表示的是一個n*n的核;而在一些設(shè)計里面,a和b的大小是不一致的。這個時候就需要把現(xiàn)在a和b的維度進(jìn)行一致性轉(zhuǎn)換,也就是repvgg作者采用的:把1*1的核通過pad的方法補(bǔ)0操作變成3*3的核,達(dá)到a、b維度一致。

identity的操作相當(dāng)于是1*1的單位矩陣卷積pad后就可以轉(zhuǎn)化為3*3的卷積核。還應(yīng)該值得注意的是:每個卷積后面還跟著bn層,這是就用到了上述提到的conv和bn的融合計算方法。

02

Yolov7在這項(xiàng)技術(shù)上的發(fā)現(xiàn)和創(chuàng)新

Yolov7中的模型結(jié)構(gòu)重參化做了哪些創(chuàng)新?

Zlex發(fā)現(xiàn)Rep的結(jié)構(gòu)策略直接用到resnet等結(jié)構(gòu)的網(wǎng)絡(luò)中達(dá)不到預(yù)期效果,分析后發(fā)現(xiàn)identity層的使用破壞了resnet的參差結(jié)構(gòu)和densenet的級聯(lián)結(jié)構(gòu),因此去掉identity層,采用如下圖(g和h)的結(jié)構(gòu)方式有效。

3aa93ab2-179c-11ed-ba43-dac502259ad0.png

03

Yolov7工業(yè)應(yīng)用領(lǐng)域的改善空間

俗話說,極致的項(xiàng)目一般是“既要,也要,還要”的模式——既要推理速度快!也要推理精度高!還要訓(xùn)練速度也不能太慢!

Yolov7無疑是吸收了很多仙氣修煉成的佳作,但也存在些許缺點(diǎn),這些缺點(diǎn)也是該設(shè)計本質(zhì)性的東西,Yolov7的訓(xùn)練速度經(jīng)過Zlex親測,比其他yolo系列慢了很多。對于資源有限型的AI愛好者也形成了一定的障礙,單元時間可以跑的實(shí)驗(yàn)次數(shù)少了很多,驗(yàn)證一些想法的節(jié)奏也慢了很多。

Yolov7給博世工業(yè)檢測、自動駕駛、數(shù)字化等領(lǐng)域又注入了新的超能力,應(yīng)用過程中也會發(fā)現(xiàn)這樣或者那樣的問題,比方說訓(xùn)練資源有限,速度跟不上項(xiàng)目的節(jié)奏,能力提升的trick不夠適應(yīng)自己的應(yīng)用場景,小數(shù)據(jù)訓(xùn)練效果不佳,不同平臺的移植工作量大等等,需要我們博世工程師在適配、融合和改進(jìn)的路上堅定的前進(jìn)。

審核編輯 :李倩

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

    關(guān)注

    1

    文章

    3254

    瀏覽量

    48881
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5504

    瀏覽量

    121229

原文標(biāo)題:博采眾長 | 在提升深度學(xué)習(xí)模型能力方面的那些魔鬼細(xì)節(jié):模型結(jié)構(gòu)重參化

文章出處:【微信號:rbacinternalevents,微信公眾號:博世蘇州】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    采用華為云 Flexus 云服務(wù)器 X 實(shí)例部署 YOLOv3 算法完成目標(biāo)檢測

    、前言 1.1 開發(fā)需求 這篇文章講解:?采用華為云最新推出的 Flexus 云服務(wù)器 X 實(shí)例部署 YOLOv3 算法,完成圖像分析、目標(biāo)檢測。 隨著計算機(jī)視覺技術(shù)的飛速發(fā)展,深度
    的頭像 發(fā)表于 01-02 12:00 ?31次閱讀
    <b class='flag-5'>采用</b>華為云 Flexus 云服務(wù)器 X 實(shí)例部署 <b class='flag-5'>YOLOv</b>3 算法完成目標(biāo)檢測

    AMD獲得一項(xiàng)玻璃基板技術(shù)專利

    近日,處理器大廠AMD宣布獲得了一項(xiàng)涵蓋玻璃芯基板技術(shù)的專利(專利號“12080632”),這消息標(biāo)志著AMD在高性能系統(tǒng)級封裝(SiP)領(lǐng)域的研究取得了重要進(jìn)展。
    的頭像 發(fā)表于 12-02 10:33 ?210次閱讀

    手冊上新 |迅為RK3568開發(fā)板NPU例程測試

    yolov5目標(biāo)檢測 6.13 yolov5-seg語義分割 6.14 yolov6目標(biāo)檢測 6.15 yolov7目標(biāo)檢測 6.16 yolov
    發(fā)表于 10-23 14:06

    中國電信人工智能研究院完成首個全國產(chǎn)萬卡萬模型訓(xùn)練

    近日,中國電信人工智能研究院宣布了一項(xiàng)重大技術(shù)突破:成功完成國內(nèi)首個基于全國產(chǎn)萬卡集群訓(xùn)練的萬億參數(shù)大模型。
    的頭像 發(fā)表于 09-30 16:41 ?1703次閱讀

    基于迅為RK3588【RKNPU2項(xiàng)目實(shí)戰(zhàn)1】:YOLOV5實(shí)時目標(biāo)分類

    【RKNPU2項(xiàng)目實(shí)戰(zhàn)1】:YOLOV5實(shí)時目標(biāo)分類 https://www.bilibili.com/video/BV1ZN411D7V8/?spm_id_from=333.999.0.0
    發(fā)表于 08-15 10:51

    手冊上新 |迅為RK3568開發(fā)板NPU例程測試

    yolov5目標(biāo)檢測 6.13 yolov5-seg語義分割 6.14 yolov6目標(biāo)檢測 6.15 yolov7目標(biāo)檢測 6.16 yolov
    發(fā)表于 08-12 11:03

    YOLOv5的原理、結(jié)構(gòu)、特點(diǎn)和應(yīng)用

    YOLOv5(You Only Look Once version 5)是種基于深度學(xué)習(xí)的實(shí)時目標(biāo)檢測算法,它屬于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的范疇。下面我將詳細(xì)介紹YOLOv5的原理、結(jié)構(gòu)
    的頭像 發(fā)表于 07-03 09:23 ?5996次閱讀

    基于昇騰AI Yolov7模型遷移到昇騰平臺EA500I邊緣計算盒子的實(shí)操指南

    科技攜手昇騰推出了系列邊緣計算產(chǎn)品,具備性能強(qiáng)勁、更寬工溫、外設(shè)接口豐富、利舊性強(qiáng)等特點(diǎn),同時,得益于昇騰AI軟件棧的全面支持,這些產(chǎn)品為各行業(yè)AI應(yīng)用高效、低成本落地提供了強(qiáng)有力的支撐。 YOLOv7是目前YOLO系列目標(biāo)檢測算法的
    的頭像 發(fā)表于 06-26 17:51 ?653次閱讀
    基于昇騰AI  <b class='flag-5'>Yolov7</b><b class='flag-5'>模型</b>遷移到昇騰平臺EA500I邊緣計算盒子的實(shí)操指南

    【大語言模型:原理與工程實(shí)踐】大語言模型的預(yù)訓(xùn)練

    訓(xùn)練數(shù)據(jù)時,數(shù)量、質(zhì)量和多樣性三者缺不可。 數(shù)據(jù)的多樣性對于大語言模型至關(guān)重要,這主要體現(xiàn)在數(shù)據(jù)的類別和來源兩個方面。豐富的數(shù)據(jù)類別能夠提供多樣的語言表達(dá)特征,如官方知識型數(shù)據(jù)、口語表達(dá)的論壇
    發(fā)表于 05-07 17:10

    maixcam部署yolov5s 自定義模型

    部分不樣。 獲得自定義訓(xùn)練得到的yolov5s onnx模型 準(zhǔn)備自定義數(shù)據(jù)集(博主用的是VOC數(shù)據(jù)集) 數(shù)據(jù)集目錄結(jié)構(gòu)如下: └─VOC2028:自定義數(shù)據(jù)集 ├─Annotat
    發(fā)表于 04-23 15:43

    NVIDIA即將推出一項(xiàng)新的生成式AI專業(yè)認(rèn)證

    NVIDIA 即將推出一項(xiàng)新的生成式 AI 專業(yè)認(rèn)證,助力開發(fā)者在這一重要領(lǐng)域證明自身技術(shù)實(shí)力。
    的頭像 發(fā)表于 03-14 09:43 ?559次閱讀

    華為技術(shù)近日公開了一項(xiàng)“超聲波指紋”專利

    國家知識產(chǎn)權(quán)局顯示,華為技術(shù)有限公司近日公開了一項(xiàng)“超聲波指紋”專利,該專利編號為 CN117058725A,申請日為 2023 年 7 月 4 日。
    的頭像 發(fā)表于 03-12 10:50 ?995次閱讀
    華為<b class='flag-5'>技術(shù)</b>近日公開了<b class='flag-5'>一項(xiàng)</b>“超聲波指紋”專利

    機(jī)器視覺缺陷檢測是工業(yè)自動領(lǐng)域的一項(xiàng)關(guān)鍵技術(shù)

    機(jī)器視覺缺陷檢測是工業(yè)自動領(lǐng)域的一項(xiàng)關(guān)鍵技術(shù),
    的頭像 發(fā)表于 02-22 13:59 ?542次閱讀
    機(jī)器視覺缺陷檢測是工業(yè)自動<b class='flag-5'>化</b>領(lǐng)域的<b class='flag-5'>一項(xiàng)</b>關(guān)鍵<b class='flag-5'>技術(shù)</b>

    深入淺出Yolov3和Yolov4

    Yolov3是目標(biāo)檢測Yolo系列非常非常經(jīng)典的算法,不過很多同學(xué)拿到Yolov3或者Yolov4的cfg文件時,并不知道如何直觀的可視查看網(wǎng)絡(luò)結(jié)
    的頭像 發(fā)表于 01-11 10:42 ?800次閱讀
    深入淺出<b class='flag-5'>Yolov</b>3和<b class='flag-5'>Yolov</b>4

    在英特爾AI開發(fā)板上用OpenVINO NNCF優(yōu)化YOLOv7

    提高了性能和效率。YOLO算法作為one-stage目標(biāo)檢測算法最典型的代表,其基于深度神經(jīng)網(wǎng)絡(luò)進(jìn)行對象的識別和定位,運(yùn)行速度很快,可以用于實(shí)時系統(tǒng)。YOLOv7 是 YOLO 模型系列的下個演進(jìn)階段,在不增加推理成本的情況下
    的頭像 發(fā)表于 01-05 09:29 ?771次閱讀
    在英特爾AI開發(fā)板上用OpenVINO NNCF優(yōu)化<b class='flag-5'>YOLOv7</b>