丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給叢末
發(fā)送

0

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

本文作者: 叢末 2019-02-20 09:44
導(dǎo)語:本文介紹了十多種卷積網(wǎng)絡(luò)類型。

雷鋒網(wǎng)  AI 科技評論按:深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)大家知多少?對于那些聽說過卻又對它們沒有特別清晰的認(rèn)識的小伙伴們,Kunlun Bai 這篇文章非常值得一讀。Kunlun Bai 是一位人工智能、機(jī)器學(xué)習(xí)、物體學(xué)以及工程學(xué)領(lǐng)域的研究型科學(xué)家,在本文中,他詳細(xì)地介紹了 2D、3D、1x1 、轉(zhuǎn)置 、空洞(擴(kuò)張)、空間可分離、深度可分離、扁平化、 分組等十多種卷積網(wǎng)絡(luò)類型。雷鋒網(wǎng) AI 科技評論編譯如下。

(本部分為下篇,點(diǎn)擊查看上篇內(nèi)容)

7. 空洞卷積(擴(kuò)張卷積)

下面這兩篇論文對空洞卷積(Dilated Convolution)進(jìn)行了介紹:

  • 《使用深度卷積網(wǎng)絡(luò)和全連接 CRF 做語義圖像分割》(Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs,https://arxiv.org/abs/1412.7062

  • 《通過空洞卷積做多規(guī)模的上下文聚合》(Multi-scale context aggregation by dilated convolutions,https://arxiv.org/abs/1511.07122

空洞卷積也稱作擴(kuò)張卷積(Atrous Convolution)。

這是一個標(biāo)準(zhǔn)的離散卷積:

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

標(biāo)準(zhǔn)卷積

空洞卷積如下:

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

當(dāng) l=1 時,空洞卷積就變成了一個標(biāo)準(zhǔn)卷積。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

直觀上,空洞卷積通過在卷積核部分之間插入空間讓卷積核「膨脹」。這個增加的參數(shù) l(空洞率)表明了我們想要將卷積核放寬到多大。雖然各實(shí)現(xiàn)是不同的,但是在卷積核部分通常插入 l-1 空間。下圖顯示了當(dāng) l-1,2,4 時的卷積核大小。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

空洞卷積的感受野。本質(zhì)上是在不增加額外的計(jì)算成本的情況下觀察感受野。

在圖像中,3 x 3 的紅點(diǎn)表明經(jīng)過卷積后的輸出圖像的像素是 3 x 3。雖然三次空洞卷積都得出了相同維度的輸出圖像,但是模型觀察到的感受野(receptive field)是大不相同的。l=1 時,感受野為 3 x 3;l=2 時,感受野是 7 x 7;l=3 時,感受野增至 15x15。有趣的是,伴隨這些操作的參數(shù)數(shù)量本質(zhì)上是相同的,不需要增加參數(shù)運(yùn)算成本就能「觀察」大的感受野。正因?yàn)榇?,空洞卷積常被用以低成本地增加輸出單元上的感受野,同時還不需要增加卷積核大小,當(dāng)多個空洞卷積一個接一個堆疊在一起時,這種方式是非常有效的。

《通過空洞卷積做多規(guī)模的上下文聚合》的論文作者在多層空洞卷積以外創(chuàng)建了一個網(wǎng)絡(luò),其中的空洞率 l 每層都以指數(shù)級的方式增長。結(jié)果,當(dāng)參數(shù)數(shù)量每層僅有直線式的增長時,有效的感受野實(shí)現(xiàn)了指數(shù)型的增長。

該論文中,空洞卷積被用于系統(tǒng)地聚合多規(guī)模的上下文信息,而不需要損失分辨率。該論文表明,其提出的模塊提高了當(dāng)時(2016 年)最先進(jìn)的語義分割系統(tǒng)的準(zhǔn)確率。大家可以閱讀這篇論文獲得更多信息。

8. 可分離卷積

可分離卷積用于一些神經(jīng)網(wǎng)絡(luò)架構(gòu),例如 MobileNet(該架構(gòu)論文地址:https://arxiv.org/abs/1704.04861)??煞蛛x卷積分為空間可分離卷積(spatially separable convolution)和深度可分離卷積(depthwise separable convolution)。

8.1 空間可分離卷積

空間可分離卷積在圖像的 2D 空間維度上執(zhí)行,例如高和寬兩個維度。從概念上來看,顧名思義,空間可分離卷積將卷積分解為兩項(xiàng)單獨(dú)的操作。下面所展示的案例中,一個卷積核為 3x3 的 Sobel 卷積核拆分成了一個 3x1 卷積核和一個 1x3 卷積核。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

一個卷積核為 3x3 的 Sobel 卷積核拆分成了一個 3x1 卷積核和一個 1x3 卷積核

在卷積中,3x3 卷積核可以直接對圖像進(jìn)行卷積操作。在空間可分離卷積中,首先由 3x1 卷積核對圖像進(jìn)行卷積,之后再應(yīng)用 1x3 卷積核。在執(zhí)行相同的操作中,這就要求 6 個而不是 9 個參數(shù)了。

此外,比起卷積,空間可分離卷積要執(zhí)行的矩陣乘法運(yùn)算也更少。舉一個具體的案例,在卷積核為 3x3 的 5x5 圖像上做卷積,要求橫向掃描 3 個位置(以及縱向掃描 3 個位置)上的卷積核,共有 9 個位置,如下圖標(biāo)出的 9 個點(diǎn)所示。在每個位置都進(jìn)行 9 次元素級別的乘法運(yùn)算,共執(zhí)行 9 x 9 = 81 次運(yùn)算。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

針對空間可分離卷積,另一方面,我們先在 5x5 圖像上應(yīng)用一個 3x1 的過濾器,這樣的話就能橫向掃描 5 個位置的卷積核以及縱向掃描 3 個位置的卷積核,總共 5 x 3=15 個位置,如下圖所標(biāo)的點(diǎn)所示。這樣的話就共要進(jìn)行 15 x 3 = 45 次乘法運(yùn)算。現(xiàn)在得到的是一個 3 x 5 的矩陣,這個矩陣經(jīng)過 1 x 3 卷積核的卷積操作——從橫向上的 3 個位置以及縱向上的 5 個位置來掃描該矩陣。對于這 9 個位置中的每一個,都進(jìn)行了 3 次元素級別的乘法運(yùn)算,這個步驟總共要求 9 x 3=27 次乘法運(yùn)算。因此,總體上,該空間可分離卷積共進(jìn)行了 45 + 27 = 72 次乘法運(yùn)算,也比標(biāo)準(zhǔn)的卷積所要進(jìn)行的乘法運(yùn)算次數(shù)要少。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

有 1 個通道的空間可分離卷積

讓我們稍微概括一下上面的案例。假設(shè)我們現(xiàn)在在 m x m 卷積核、卷積步長=1 、填充=0 的 N x N 圖像上做卷積。傳統(tǒng)的卷積需要進(jìn)行 (N-2) x (N-2) x m x m 次乘法運(yùn)算,而空間可分離卷積只需要進(jìn)行 N x (N-2) x m + (N-2) x (N-2) x m = (2N-2) x (N-2) x m 次乘法運(yùn)算??臻g可分離卷積與標(biāo)準(zhǔn)的卷積的計(jì)算成本之比為:

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

對于圖像大小 N 大于過濾器大?。∟ >> m),這個比率就變成了 2 / m,這就意味著在這種漸進(jìn)情況(N >> m)下,對于一個 3x3 的過濾器,空間可分離卷積與標(biāo)準(zhǔn)的卷積之間的計(jì)算成本比率為 2/3;對于一個 5x5 的過濾器,比率為 2/5;對于一個 7x7 的過濾器,比如為 2/7,以此類推。

雖然空間可分離卷積節(jié)省了計(jì)算成本,但是它很少應(yīng)用于深度學(xué)習(xí)中。一個主要的原因是,并不是所有的卷積核都能被拆分為 2 個更小的卷積核。如果我們用這種空間可分離卷積來取代所有傳統(tǒng)的卷積,就會束縛我們?nèi)ニ褜び?xùn)練期間所有可能存在的卷積核,因?yàn)檫@個訓(xùn)練結(jié)果可能是還只是次優(yōu)的。

8.2 深度可分離卷積

現(xiàn)在,讓我們移步到深度可分離卷積,它在深度學(xué)習(xí)中的應(yīng)用要更普遍得多(例如在 MobileNet 和 Xception 中)。深度可分離卷積由兩步組成:深度卷積以及 1x1 卷積。

在介紹這些步驟前,值得回顧一下前面部分所提到的 2D 卷積核 1x1 卷積。讓我們先快速過一下標(biāo)準(zhǔn)的 2D 卷積。舉一個具體的案例,假設(shè)輸入層的大小為 7 x 7 x 3(高 x 寬 x 通道),過濾器大小為 3 x 3 x 3,經(jīng)過一個過濾器的 2D 卷積后,輸出層的大小為 5 x 5 x 1(僅有 1 個通道)。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

使用 1 個過濾器做標(biāo)準(zhǔn)的 2D 卷積來創(chuàng)建一個 1 層的輸出

一般來說,兩個神經(jīng)網(wǎng)絡(luò)層間應(yīng)用了多個過濾器,現(xiàn)在假設(shè)過濾器個數(shù)為 128。128 次 2D 卷積得到了 128 個 5 x 5 x 1 的輸出映射。然后將這些映射堆疊為一個大小為 5 x 5 x 128 的單個層。空間維度如高和寬縮小了,而深度則擴(kuò)大了。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

使用 128 個過濾器做標(biāo)準(zhǔn)的 2D 卷積來創(chuàng)建一個 128 層的輸出

接下來看看使用深度可分離卷積如何實(shí)現(xiàn)同樣的轉(zhuǎn)換。

首先,我們在輸入層上應(yīng)用深度卷積。我們在 2D 卷積中分別使用 3 個卷積核(每個過濾器的大小為 3 x 3 x 1),而不使用大小為 3 x 3 x 3 的單個過濾器。每個卷積核僅對輸入層的 1 個通道做卷積,這樣的卷積每次都得出大小為 5 x 5 x 1 的映射,之后再將這些映射堆疊在一起創(chuàng)建一個 5 x 5 x 3 的圖像,最終得出一個大小為 5 x 5 x 3 的輸出圖像。這樣的話,圖像的空間維度縮小了嗎,但是深度保持與原來的一樣。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

深度可分離卷積—第一步:在 2D 卷積中分別使用 3 個卷積核(每個過濾器的大小為 3 x 3 x 1),而不使用大小為 3 x 3 x 3 的單個過濾器。每個卷積核僅對輸入層的 1 個通道做卷積,這樣的卷積每次都得出大小為 5 x 5 x 1 的映射,之后再將這些映射堆疊在一起創(chuàng)建一個 5 x 5 x 3 的圖像,最終得出一個大小為 5 x 5 x 3 的輸出圖像。

深度可分離卷積的第二步是擴(kuò)大深度,我們用大小為 1x1x3 的卷積核做 1x1 卷積。每個 1x1x3 卷積核對 5 x 5 x 3 輸入圖像做卷積后都得出一個大小為 5 x 5 x1 的映射。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

這樣的話,做 128 次 1x1 卷積后,就可以得出一個大小為 5 x 5 x 128 的層。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

深度可分離卷積完成這兩步后,同樣可以將一個 7 x 7 x 3 的輸入層轉(zhuǎn)換為 5 x 5 x 128 的輸出層。

深度可分離卷積的完整過程如下圖所示:


萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

深度可分離卷積的完整過程

因此,做深度可分離卷積的優(yōu)勢是什么?高效!相比于 2D 卷積,深度可分離卷積的執(zhí)行次數(shù)要少得多。

讓我們回憶一下 2D 卷積案例中的計(jì)算成本:128 個 3x3x3 的卷積核移動 5x5 次,總共需要進(jìn)行的乘法運(yùn)算總數(shù)為 128 x 3 x 3 x 3 x 5 x 5 = 86,400 次。

那可分離卷積呢?在深度卷積這一步,有 3 個 3x3x3 的卷積核移動 5x5 次,總共需要進(jìn)行的乘法運(yùn)算次數(shù)為 3x3x3x1x5x5 = 675 次;在第二步的 1x1 卷積中,有 128 個 3x3x3 的卷積核移動 5x5 次,總共需要進(jìn)行的乘法運(yùn)算次數(shù)為 128 x 1 x 1 x 3 x 5 x 5 = 9,600 次。因此,深度可分離卷積共需要進(jìn)行的乘法運(yùn)算總數(shù)為 675 + 9600 = 10,275 次,花費(fèi)的計(jì)算成本僅為 2D 卷積的 12%。

因此對于任意大小的圖像來說,應(yīng)用深度可分離卷積能節(jié)省多少次計(jì)算呢?我們稍微概括一下上面的案例。假設(shè)輸入圖像大小為 H x W x D,2D 卷積的卷積步長為 1,填充為 0,卷積核大小為 h x h x D(兩個 h 相等)、個數(shù)為 Nc。2D 卷積后,大小為 H x W x D 的輸入層最終轉(zhuǎn)換為大小為(H-h+1)x(W-h+1)x Nc 的輸出層,總共需要進(jìn)行的乘法運(yùn)算次數(shù)為:Nc x h x h x D x (H-h+1) x (W-h+1)。

針對同樣的轉(zhuǎn)換,深度可分離卷積總共需要進(jìn)行的乘法運(yùn)算次數(shù)為:D x h x h x 1 x (H-h+1) x (W-h+1) + Nc x 1 x 1 x D x (H-h+1) x (W-h+1) = (h x h + Nc) x D x (H-h+1) x (W-h+1)。

深度可分離卷積與 2D 卷積之間的乘法運(yùn)算次數(shù)之比為:

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

對于大部分現(xiàn)代框架而言,輸出層往往都有許多個通道,例如幾百甚至幾千個通道。對于 Nc >> h 的層,上面的表達(dá)式會縮短為 1/h/h,這就意味著對于這個漸進(jìn)的表達(dá)式而言,如果使用的過濾器大小為 3 x 3,2D 卷積需要進(jìn)行的乘法運(yùn)算次數(shù)比深度可分離卷積多出 9 次;使用大小為 5 x5 的過濾器,則要多出 25 次。

使用深度可分離卷積有什么缺點(diǎn)嗎?當(dāng)然有。深度可分離卷積會減少卷積中的參數(shù)個數(shù),這樣的話,對于一個小的模型,如果采用深度可分離模型來踢打 2D 模型,該模型的能力就會被大為削弱。結(jié)果,該模型也會變成次優(yōu)的模型。然而,如果恰當(dāng)使用,深度可分離卷積可以提高效率而不會明顯損害模型的性能。

9. 扁平化卷積

《將扁平化卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于前饋加速》(Flattened convolutional neural networks for feedforward acceleration,https://arxiv.org/abs/1412.5474)這篇論文對扁平化卷積(Flattened convolutions)進(jìn)行了介紹。直觀上,這種卷積的思路就是應(yīng)用過濾器分離,即將標(biāo)準(zhǔn)的分離器拆分為 3 個 1D 分離器,而不是直接應(yīng)用一個標(biāo)準(zhǔn)的卷積過濾器來將輸入層映射為輸出層。這個思路類似于前部分所提到的空間可分離卷積,其中的一個空間過濾器近似于兩個 rank-1 過濾器。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

圖片源自:https://arxiv.org/abs/1412.5474

需要注意的一點(diǎn)事,如果標(biāo)準(zhǔn)卷積的過濾器是 rank-1 過濾器,這樣的過濾器可以被拆分為 3 個 1D 過濾器的交叉乘積,但是這是一個前提條件并且標(biāo)準(zhǔn)過濾器的固有 rank 往往比現(xiàn)實(shí)應(yīng)用中的更高。正如論文中所指出的:「隨著分類問題的難度增加,解決該問題還需要更多的關(guān)鍵部分... 深度網(wǎng)絡(luò)中學(xué)習(xí)過濾器具有分布的特征值,并且將分離直接用于過濾器會導(dǎo)致明顯的信息丟失?!?/p>

為了減輕這類問題,論文限制了感受野的關(guān)系從而讓模型可以根據(jù)訓(xùn)練學(xué)習(xí) 1D 分離的過濾器。這篇論文聲稱,通過使用由連續(xù)的 1D 過濾器組成的扁平化網(wǎng)絡(luò)在 3D 空間的所有方向上訓(xùn)練模型,能夠提供的性能與標(biāo)準(zhǔn)卷積網(wǎng)絡(luò)相當(dāng),不過由于學(xué)習(xí)參數(shù)的顯著減少,其計(jì)算成本要更低得多。

10. 分組卷積

2012 年的一篇 AlexNet 論文(ImageNet Classification with Deep Convolutional Neural Networks,https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf)對分組卷積(Grouped convolution)進(jìn)行了介紹。采用這種卷積的主要原因是為了讓網(wǎng)絡(luò)用有限的記憶(1.5GB 記憶/GPU)在兩個 GPU 上進(jìn)行訓(xùn)練。下圖的 AlexNet 現(xiàn)實(shí)了大部分層的兩條分離的卷積路線,正在進(jìn)行兩個 GPU 的模型并行化計(jì)算。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

圖片源自:https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

這里我描述的是分組卷積是如何實(shí)現(xiàn)的。首先,傳統(tǒng)的 2D 卷積步驟如下圖所示。在這個案例中,通過應(yīng)用 128 個過濾器(每個過濾器的大小為 3 x 3 x 3),大小為 7 x 7 x 3 的輸入層被轉(zhuǎn)換為大小為 5 x 5 x 128 的輸出層。針對通用情況,可概括為:通過應(yīng)用 Dout 個卷積核(每個卷積核的大小為 h x w x Din),可將大小為 Hin x Win x Din 的輸入層轉(zhuǎn)換為大小為 Hout x Wout x Dout 的輸出層。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

標(biāo)準(zhǔn) 2D 卷積

在分組卷積中,過濾器被拆分為不同的組,每一個組都負(fù)責(zé)具有一定深度的傳統(tǒng) 2D 卷積的工作。下圖的案例表示得更清晰一些。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)


拆分為 2 個過濾組的分組卷積

上圖表示的是被拆分為 2 個過濾器組的分組卷積。在每個過濾器組中,其深度僅為名義上的 2D 卷積的一半(Din / 2),而每個過濾器組都包含 Dout /2 個過濾器。第一個過濾器組(紅色)對輸入層的前半部分做卷積([:, :, 0:Din/2]),第二個過濾器組(藍(lán)色)對輸入層的后半部分做卷積([:, :, Din/2:Din])。最終,每個過濾器組都輸出了 Dout/2 個通道。整體上,兩個組輸出的通道數(shù)為 2 x Dout/2 = Dout。之后,我們再將這些通道堆疊到輸出層中,輸出層就有了 Dout 個通道。

10.1 分組卷積 VS 深度卷積

你可能已經(jīng)觀察到了分組卷積和深度可分離卷積中用到的深度卷積之間的某些聯(lián)系和區(qū)別。如果過濾器組的數(shù)量與輸入層的通道數(shù)相同,每個過濾器的深度就是 Din / Din = 1,其與深度卷積中的過濾器深度相同。

從另一個角度來說,每個過濾器組現(xiàn)在包含 Dout / Din 個過濾器??傮w而言,其輸出層的深度就是 Dout,這就與深度卷積的輸出層深度不同,深度卷積不改變層的深度,但隨后深度可分離卷積中的 1 x 1 卷積會加大層的深度。

執(zhí)行分組卷積有如下幾個優(yōu)勢:

第一個優(yōu)勢是訓(xùn)練的高效性。由于卷積被拆分到幾條路線中,每條路線都由不同的 GPU 分別進(jìn)行處理。這一過程就允許模型以平行的方式在多個 GPU 上進(jìn)行訓(xùn)練。比起在一個 GPU 上一個一個地訓(xùn)練模型,這種在多個 GPU 上的模型并行化訓(xùn)練方式每一步都可以給網(wǎng)絡(luò)喂養(yǎng)更多的圖像。模型并行化被認(rèn)為比數(shù)據(jù)并行化更佳,后者將數(shù)據(jù)集進(jìn)行拆分,然后對每一批數(shù)據(jù)進(jìn)行訓(xùn)練。不過,當(dāng)每批數(shù)據(jù)的大小過小時,我們執(zhí)行的工作基本上是隨機(jī)的,而不是批量梯度下降。這就會造成訓(xùn)練速度變慢或聚合效果變差的結(jié)果。

對于訓(xùn)練非常深度的神經(jīng)網(wǎng)絡(luò),分組卷積變得很重要,如下圖中 ResNeXt 所示。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

圖片源自:https://arxiv.org/abs/1611.05431

第二個優(yōu)勢是模型更加高效,例如,當(dāng)過濾器組數(shù)增加時,模型參數(shù)就會減少。在前一個案例中,在標(biāo)準(zhǔn)的 2D 卷積中,過濾器有 h x w x Din x Dout 個參數(shù),而在拆分為 2 個過濾器組的分組卷積中,過濾器僅有 (h x w x Din/2 x Dout/2) x 2 個參數(shù):參數(shù)數(shù)量減少了一半。

第三個優(yōu)勢是給人帶來了些驚喜的。分組卷積能提供比標(biāo)準(zhǔn) 2D 卷積更好的模型。另一篇很棒的博客

「A Tutorial on Filter Groups (Grouped Convolution)」闡述了這一點(diǎn)。這里僅提取了文章的部分內(nèi)容,大家可前往 https://blog.yani.io/filter-group-tutorial/ 閱讀全文。

其原因與稀疏的過濾器有關(guān)。下面的圖像就是相鄰層的過濾器之間的相互關(guān)系,這個關(guān)系是稀疏的。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

在 CIFAR10 訓(xùn)練的 Network-in-Network 模型中相鄰層的過濾器之間的相關(guān)性矩陣。高相關(guān)的過濾器對更亮,而低相關(guān)過濾器對更暗。圖片源自:https://blog.yani.io/filter-group-tutorial/

那針對分組卷積的相關(guān)性映射是怎么樣的呢?

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

當(dāng)采用 1、2、4、8 和 16 個過濾器組訓(xùn)練時,在 CIFAR10 訓(xùn)練的 Network-in-Network 模型中相鄰層的過濾器之間的相關(guān)性。圖片源自:https://blog.yani.io/filter-group-tutorial/

上圖表示的就是模型采用 1、2、4、8 和 16 個過濾器組訓(xùn)練時,相鄰層的過濾器的相互關(guān)系。這篇文章提出了一個推論:「過濾器組的作用就是學(xué)習(xí)通道維度上的塊對角結(jié)構(gòu)的稀疏性... 在對過濾器進(jìn)行了分組的網(wǎng)絡(luò)中,高相關(guān)性的過濾器以更結(jié)構(gòu)化的方式學(xué)習(xí)。結(jié)果,不要求學(xué)習(xí)的過濾器關(guān)系也不再需要用參數(shù)進(jìn)行表示,這就顯著減少了網(wǎng)絡(luò)中的參數(shù)數(shù)量,并且在減少參數(shù)的過程中不容易過度擬合,因此這種類似正則化的效果可以讓優(yōu)化器學(xué)習(xí)更準(zhǔn)確、更有效的深度網(wǎng)絡(luò)?!?/p>

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

過濾器分離:正如論文作者所指出的,過濾器組似乎將學(xué)習(xí)的過濾器分為兩個不同的組:黑白過濾器和彩色過濾器。圖片源自:https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

此外,每個過濾器組都學(xué)習(xí)數(shù)據(jù)獨(dú)一無二的表示。正如 AlexaNet 這篇論文的作者所提到的,過濾器組似乎將學(xué)習(xí)的過濾器組織成了兩個不同的組:黑白濾鏡和彩色濾鏡。

11. 混洗分組卷積

曠視研究院的 ShuffleNet 論文(ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices,https://arxiv.org/abs/1707.01083)對混洗分組卷積(Shuffled grouped convolution)進(jìn)行了介紹。ShuffleNet 是一種計(jì)算高效的卷積架構(gòu),專為計(jì)算能力十分有限的移動設(shè)備(如 10–150 MFLOPs)設(shè)計(jì)。

混洗分組卷積背后的思路與分組卷積(應(yīng)用于 MobileNet 、ResNeXt 等網(wǎng)絡(luò))以及深度可分離卷積(應(yīng)用于 Xception)背后的思路相關(guān)。

總的來說,混洗分組卷積包括分組卷積和通道混洗(channel shuffling)。

在分組卷積部分,我們了解到了過濾器被拆分為不同的組,每個組都負(fù)責(zé)擁有一定深度的傳統(tǒng) 2D 卷積的工作,顯著減少了整個操作步驟。在下圖這個案例中,假設(shè)過濾器分成了 3 組。第一個過濾器組對輸入層的紅色部分做卷積;第二個和第三個過濾器組分別對輸入層的綠色和藍(lán)色部分做卷積。每個過濾器組中的卷積核深度僅為輸入層整個通道的 1/3。在這個案例中,進(jìn)行第一個分組卷積 GConv1 后,輸入層被映射到中間的特征映射上,之后特征映射又通過第一個分組卷積 GConv2 被映射到輸出層上。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

分組卷積雖然計(jì)算高效,但它也存在問題,即每個過濾器分組僅對從前面層的固定部分向后傳遞的信息進(jìn)行處理。在上面這個圖像的案例中,第一個過濾器組(紅色)僅處理從輸入通道的前 1/3 部分向后傳遞的信息;藍(lán)色過濾器組僅處理從輸入通道的后 1/3 部分向后傳遞的信息。這樣的話,每個過濾器組就僅限于學(xué)習(xí)一些特定的特征,這種屬性就阻礙了訓(xùn)練期間信息在通道組之間流動,并且還削弱了特征表示。為了克服這一問題,我們可以應(yīng)用通道混洗。

通道混洗的思路就是混合來自不同過濾器組的信息。下圖中,顯示了應(yīng)用有 3 個過濾器組的第一個分組卷積 GConv1 后所得到的特征映射。在將這些特征映射喂養(yǎng)到第二個分組卷積之前,先將每個組中的通道拆分為幾個小組,然后再混合這些小組。

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

通道混洗

經(jīng)過這種混洗,我們再接著如常執(zhí)行第二個分組卷積 GConv2。但是現(xiàn)在,由于經(jīng)過混洗的層中的信息已經(jīng)被混合了,我們本質(zhì)上是將特征映射層的不同小組喂養(yǎng)給了 GConv2 中的每個組。結(jié)果,不僅信息可以在通道組間進(jìn)行流動,特征表示也得到增強(qiáng)。

12. 逐點(diǎn)分組卷積

ShuffleNet 論文(ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices,https://arxiv.org/abs/1707.01083)同樣也對逐點(diǎn)分組卷積(Pointwise grouped convolution)進(jìn)行了介紹。一般針對 MobileNet 或 ResNeXt 中的分組卷積,分組在 3x3 的空間卷積而不是 1x1 卷積上執(zhí)行。

ShuffleNet 這篇論文認(rèn)為 1x1 卷積的計(jì)算成本也很高,提議也對 1x1 卷積進(jìn)行分組。逐點(diǎn)分組卷積,顧名思義,就是針對 1x1 卷積進(jìn)行分組操作,這項(xiàng)操作與分組卷積的相同,僅有一項(xiàng)更改——就是在 1x1 過濾器而非 NxN 過濾器 (N>1) 執(zhí)行。

在該論文中,作者使用了我們都有所了解的 3 種卷積: (1) 混洗分組卷積; (2) 逐點(diǎn)分組卷積; 以及 (3) 深度可分離卷積。這種架構(gòu)設(shè)計(jì)能明顯地減少計(jì)算量同時還能保持準(zhǔn)確性。在實(shí)際的移動設(shè)備上,ShuffleNet 的分類錯誤與 AlexNet 的相當(dāng)。然而,從使用 AlexNe 的 720 MFLOPs 到使用 ShuffleNet 的 40–140 MFLOPs,計(jì)算成本明顯下降。在面向移動設(shè)備的卷積神經(jīng)網(wǎng)絡(luò)領(lǐng)域,ShuffleNe 以相對較小的計(jì)算成本以及良好的模型性能廣受歡迎。

其他參考博文&文章

論文

via:https://towardsdatascience.com/a-comprehensive-introduction-to-different-types-of-convolutions-in-deep-learning-669281e58215 雷鋒網(wǎng) AI 科技評論編譯

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

萬字長文帶你看盡深度學(xué)習(xí)中的各種卷積網(wǎng)絡(luò)(下篇)

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說