国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > YOLOv4詳細(xì)分析 | 細(xì)數(shù)當(dāng)前最佳檢測(cè)框架小細(xì)節(jié)(2)

YOLOv4詳細(xì)分析 | 細(xì)數(shù)當(dāng)前最佳檢測(cè)框架小細(xì)節(jié)(2)

發(fā)布人:CV研究院 時(shí)間:2020-12-30 來(lái)源:工程師 發(fā)布文章

用于骨干部分的 Bag of Specials(BoS)

·  Mish 激活

·  交叉階段部分連接(CSP)

·  多輸入加權(quán)的殘差連接(MiWRC)

Mish 激活

假設(shè)激活函數(shù)的形式為:

24.png

其中一元或二元算子有很多不同的候選函數(shù),比如余弦函數(shù)。在選用這些函數(shù)時(shí),我們可以隨機(jī)猜測(cè),然后基于不同的任務(wù)(比如分類(lèi))和數(shù)據(jù)集來(lái)評(píng)估對(duì)應(yīng)模型的表現(xiàn)。最終,我們可以選出能讓模型表現(xiàn)最好的激活函數(shù)。

我們還可以應(yīng)用強(qiáng)化學(xué)習(xí)來(lái)更高效地搜索解空間。

23.png

使用此方法并進(jìn)行實(shí)驗(yàn),結(jié)果發(fā)現(xiàn)了下面這個(gè)新激活函數(shù) Swish,其表現(xiàn)優(yōu)于 ReLU 以及其它許多激活函數(shù)。

22.png

具有不同 β 值的 Swish 激活函數(shù)

Mish 是另一個(gè)與 ReLU 和 Swish 很相似的激活函數(shù)。Mish 的論文(arXiv:1908.08681)宣稱(chēng)使用 Mish 的深度網(wǎng)絡(luò)在許多不同數(shù)據(jù)集上的表現(xiàn)都更優(yōu)。

21.png

為 CSPDarknet53 和檢測(cè)器使用 Mish,YOLOv4 的兩個(gè)準(zhǔn)確度都獲得了提升。

多輸入加權(quán)的殘差連接(MiWRC)

過(guò)去幾年里,研究者很關(guān)注應(yīng)該向網(wǎng)絡(luò)層輸入哪些特征圖。有時(shí)候,我們會(huì)突破僅使用之前一層的傳統(tǒng)方法。

現(xiàn)在,更重要的是層的連接方式,尤其是目標(biāo)檢測(cè)器中層的連接方式。前面已經(jīng)討論過(guò) FPN 和 PAN 示例。下圖中的 d 展示了另一種頸部設(shè)計(jì) BiFPN,其論文(arXiv:1911.09070)宣稱(chēng) BiFPN 在準(zhǔn)確度與效率的權(quán)衡方面表現(xiàn)更好。

20.png

YOLOv4 比較了其與 EfficientDet 的表現(xiàn),而后者被認(rèn)為是目前最先進(jìn)的技術(shù)之一。我們來(lái)看看這種技術(shù)。如下所示,EfficientDet 以 EfficientNet 作骨干,以 BiFPN 為頸部。

19.png

為便參照,下面給出了基于 MBConv 層構(gòu)建的 EfficientNet 的架構(gòu),這些層由反向殘差模塊組成。

18.png

正如其論文(arXiv:1801.04381)中提到的那樣,這種反向殘差模塊的構(gòu)成方式為:

第一層稱(chēng)為逐深度卷積,其通過(guò)為每個(gè)輸入通道應(yīng)用單個(gè)卷積過(guò)濾器來(lái)執(zhí)行輕量級(jí)的過(guò)濾。第二層是一個(gè) 1×1 卷積,稱(chēng)為逐點(diǎn)卷積,負(fù)責(zé)通過(guò)計(jì)算輸入通道的線性組合來(lái)構(gòu)建新特征。

假設(shè)輸入的維度為 h? × w? × d?。則其會(huì)應(yīng)用 d? 個(gè) k × k 的卷積過(guò)濾器——每個(gè)通道一個(gè)。然后其會(huì)為所有通道應(yīng)用 1×1 卷積過(guò)濾器,得到大小為 h? × w? × d? 的輸出。因此,總計(jì)算復(fù)雜度為:

17.jpg

其關(guān)鍵優(yōu)勢(shì)是所需的計(jì)算量比傳統(tǒng)卷積層要少得多。

在許多機(jī)器學(xué)習(xí)和深度學(xué)習(xí)問(wèn)題中,我們都要學(xué)習(xí)輸入的低維表征。我們會(huì)通過(guò)創(chuàng)建「信息」瓶頸來(lái)提取數(shù)據(jù)的核心信息。這會(huì)迫使我們發(fā)現(xiàn)最重要的信息,這正是學(xué)習(xí)的核心原理。遵循這一原理,反向殘差模塊以低維表征為輸入,然后使用卷積(線性運(yùn)算)和非線性運(yùn)算對(duì)其進(jìn)行操作。但是,ReLU 等非線性部分面臨著一大問(wèn)題:非線性運(yùn)算會(huì)不成比例地拉伸或壓縮某些區(qū)域。在發(fā)生這樣的壓縮時(shí),輸入可能會(huì)映射到同樣的區(qū)域 / 點(diǎn)。舉個(gè)例子,ReLU 可能會(huì)將通道折疊進(jìn)這片低維空間中,從而導(dǎo)致信息不可避免地丟失。正如其論文中寫(xiě)道:

移除窄小層中的非線性特性是很重要的,這樣才能維持表征能力。

為了解決這一問(wèn)題,我們可對(duì)維度(通道的數(shù)量)進(jìn)行臨時(shí)的擴(kuò)展。我們希望當(dāng)我們的通道數(shù)量較多時(shí),在經(jīng)過(guò)非線性運(yùn)算之后,信息仍可能保存于某些通道之中。下面給出了反向殘差模塊的一些細(xì)節(jié):

16.png

可以看到,低維表征首先被擴(kuò)展到了 t_k 個(gè)通道。然后,使用輕量的 3 × 3 逐深度卷積對(duì)其進(jìn)行過(guò)濾。在該模塊的最后,特征又會(huì)被約減回低維。當(dāng)其保持在高維空間中時(shí),就加入非線性運(yùn)算。

15.png

該模塊的起始處和終點(diǎn)之間添加了一個(gè)殘差連接。下面左圖是傳統(tǒng)的殘差模塊,右圖是這里描述的反向殘差模塊。

14.png

理解 EfficientDet 的核心概念是很有趣的。但 EfficientDet 在 YOLOv4 上的主要貢獻(xiàn)是多輸入加權(quán)的殘差連接。在 EfficientDet 論文中,可以觀察到不同分辨率下不同的輸入特征,它們對(duì)輸出特征的貢獻(xiàn)也不相等。但在之前的討論中,我們無(wú)差別地添加了這些特征。在 EfficientDet 中,在構(gòu)建輸出時(shí),輸入特征的加權(quán)是各不相同的:

13.jpg

其中 w? 的訓(xùn)練和學(xué)習(xí)方式與其它可訓(xùn)練參數(shù)一樣。

用于檢測(cè)器的 Bag of freebies (BoF)

用于 YOLOv4 檢測(cè)器的 BoF 特征包括:

  • CIoU-loss

  • CmBN

  • DropBlock 正則化

  • Mosaic 數(shù)據(jù)增強(qiáng)

  • 自對(duì)抗訓(xùn)練

  • 消除網(wǎng)格敏感度

  • 為單個(gè)基本真值使用多個(gè)錨

  • 余弦退火調(diào)度器

  • 最優(yōu)超參數(shù)

  • 隨機(jī)訓(xùn)練形狀

CIoU-loss

損失函數(shù)能為我們提供如何調(diào)整權(quán)重以降低成本的信號(hào)。所以在預(yù)測(cè)結(jié)果錯(cuò)誤時(shí),我們期望其能為我們提供前進(jìn)的方向。但在使用 IoU 且基本真值框與預(yù)測(cè)結(jié)果不重疊時(shí),這卻無(wú)法實(shí)現(xiàn)。假設(shè)有兩個(gè)預(yù)測(cè)結(jié)果與基本真值都不重疊,則 IoU 損失函數(shù)無(wú)法確定哪個(gè)結(jié)果更好——即便其中一個(gè)結(jié)果可能與基本真值更接近。

12.jpg

Generalized IoU(GIoU)通過(guò)將該損失優(yōu)化為以下形式而解決了這一問(wèn)題:

11.jpg

但這個(gè)損失函數(shù)通常會(huì)首先擴(kuò)展其預(yù)測(cè)邊界框,直到其與基本真值區(qū)域有重疊。然后它會(huì)縮小以增大 IoU。相比于理論上的迭代次數(shù)需求,這個(gè)過(guò)程實(shí)際需要更多迭代次數(shù)。

首先,引入 Distance-IoU Loss(DIoU):

10.jpg

其引入了一個(gè)新的目標(biāo)以減少兩個(gè)框的中心點(diǎn)之間的距離。

最后,引入 Complete IoU Loss(CIoU)以便:

  • 增大基本真值框與預(yù)測(cè)框之間的重疊面積;

  • 最小化它們的中心點(diǎn)之間的距離;

  • 維持框的長(zhǎng)寬比的一致性。

其最終定義為:

9.jpg

CmBN

原始的批歸一化會(huì)收集小批量數(shù)據(jù)內(nèi)樣本的均值和方差,以白化(whiten)層輸入。但是,如果小批量數(shù)據(jù)規(guī)模很小,則這些估計(jì)結(jié)果將具有很高的噪聲。一種解決方案是在許多小批量數(shù)據(jù)上估計(jì)它們。但是,由于每次迭代中權(quán)重都會(huì)變化,因此在這些權(quán)重下收集的統(tǒng)計(jì)數(shù)據(jù)可能會(huì)在新的權(quán)重下變得不準(zhǔn)確。單純地求平均可能出錯(cuò)。幸運(yùn)的是,權(quán)重的改變是逐漸發(fā)生的。交叉迭代批歸一化(CBM)使用了以下的調(diào)整來(lái)基于 k 個(gè)之前的迭代估計(jì)這些統(tǒng)計(jì)數(shù)據(jù)。

8.jpg7.png

CmBN 是一個(gè)經(jīng)過(guò)修改的選項(xiàng),其僅收集單個(gè)批次內(nèi)小批量數(shù)據(jù)之間的統(tǒng)計(jì)數(shù)據(jù)。

自對(duì)抗訓(xùn)練(SAT)

SAT 是一種數(shù)據(jù)增強(qiáng)技術(shù)。其首先會(huì)在訓(xùn)練樣本上執(zhí)行一次前向通過(guò)。使用傳統(tǒng)方法時(shí),我們會(huì)在反向傳播過(guò)程中調(diào)整模型的權(quán)重來(lái)提升檢測(cè)器檢測(cè)圖像中目標(biāo)的能力。但這里所采樣的方向卻相反。它會(huì)修改圖像,使其能在最大程度上降低檢測(cè)器的性能,即創(chuàng)建以當(dāng)前模型為目標(biāo)的對(duì)抗攻擊——即使新圖像可能在人眼看來(lái)與原來(lái)的一樣。接下來(lái),使用這張新圖像與原始的邊界框和類(lèi)別標(biāo)簽來(lái)訓(xùn)練該模型。這有助于提升模型的泛化能力并降低過(guò)擬合。

消除網(wǎng)格敏感度

邊界框 b 的計(jì)算方式為:

6.png

對(duì)于 b?=c? 和 b?=c?+1 的情況,我們需要 t? 分別具有很大的負(fù)值和正值。但我們可以將 σ 與一個(gè)比例因子(>1.0)相乘,從而更輕松地實(shí)現(xiàn)這一目標(biāo)。以下是對(duì)源代碼的修改:

5.png

為單個(gè)基本真值使用多個(gè)錨點(diǎn)

如果 IoU(ground truth, anchor) > IoU threshold,則為單個(gè)基本真值使用多個(gè)錨點(diǎn)。(注:作者沒(méi)有更多地說(shuō)明該方法在 YOLOv4 中的作用。)

余弦退火調(diào)度器

余弦調(diào)度會(huì)根據(jù)一個(gè)余弦函數(shù)來(lái)調(diào)整學(xué)習(xí)率。首先,較大的學(xué)習(xí)率會(huì)以較慢的速度減小。然后在中途時(shí),學(xué)習(xí)的減小速度會(huì)變快,最后學(xué)習(xí)率的減小速度又會(huì)變得很慢。

4.png

這張圖展示了學(xué)習(xí)率衰減的方式(下圖中還應(yīng)用了學(xué)習(xí)率預(yù)熱)及其對(duì) mAP 的影響??赡芸雌饋?lái)并不明顯,這種新的調(diào)度方法的進(jìn)展更為穩(wěn)定,而不是在停滯一段時(shí)間后又取得進(jìn)展。

3.png

余弦學(xué)習(xí)率 + 預(yù)熱

使用遺傳算法(進(jìn)化算法)的超參數(shù)選擇

進(jìn)化算法是一種有根據(jù)的猜測(cè)方法。其遵循「適者生存」的概念。舉個(gè)例子,如果我們隨機(jī)選擇 100 組超參數(shù)。然后使用它們訓(xùn)練 100 個(gè)模型。之后,我們從中選出表現(xiàn)最好的 10 個(gè)模型。對(duì)于每個(gè)被選中的模型,都根據(jù)原始版本創(chuàng)建 10 個(gè)超參數(shù)略有不同的變體版本。再使用這些新的超參數(shù)重新訓(xùn)練模型,再次選出其中表現(xiàn)最好的。隨著我們不斷迭代,我們應(yīng)該可以找到超參數(shù)的最佳集合。另外,我們也可以一開(kāi)始使用默認(rèn)超參數(shù),然后再執(zhí)行突變。正如其論文(arXiv: 2004.10934)中寫(xiě)道:

遺傳算法使用 YOLOv3-SPP,根據(jù) GIoU 損失進(jìn)行訓(xùn)練,并為 min-val 5k 數(shù)據(jù)集搜索 300 epoch。我們?yōu)檫z傳算法實(shí)驗(yàn)采用了搜索得到的學(xué)習(xí)率 0.00261、動(dòng)量 0.949、用于分配基本真值的 IoU 閾值 0.213 以及損失歸一化算子 0.07。

隨機(jī)訓(xùn)練形狀

許多單階段目標(biāo)檢測(cè)器都是用固定的輸入圖像形狀進(jìn)行訓(xùn)練的。為了提升泛化能力,我們可以使用不同的圖像大小訓(xùn)練模型。(YOLO 中的多尺度訓(xùn)練。)

用于檢測(cè)器的 Bag of Specials(BoS)

用于 YOLOv4 檢測(cè)器的 BoS 特征包括:

  • Mish 激活

  • 修改版 SPP 模塊

  • 修改版 SAM 模塊

  • 修改版 PAN 路徑聚合模塊

  • DIoU-NMS

DIoU-NMS

非極大值抑制(NMS)會(huì)過(guò)濾掉其它預(yù)測(cè)同一目標(biāo)的邊界框并保留置信度最高的邊界框。

2.png

DIoU(前面討論過(guò))用作 NMS 的一個(gè)因子。該方法在抑制冗余的邊界框時(shí)會(huì)使用 IoU 和兩個(gè)邊界框的中心點(diǎn)之間的距離。這能使得模型能更加穩(wěn)健地應(yīng)對(duì)有遮擋的情況。

評(píng)估過(guò)的技術(shù)

盡管本文介紹的都是已被整合進(jìn) YOLOv4 中的技術(shù),但 YOLOv4 也投入了很大努力來(lái)評(píng)估其它技術(shù)。最后,展示一下 YOLOv4 考慮過(guò)的技術(shù)列表:

1.png

原文鏈接:https://medium.com/@jonathan_hui/yolov4-c9901eaa8e61

/End.

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞:

相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉