日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

3.4 滑动窗口的卷积实现-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

發(fā)布時(shí)間:2025/4/5 135 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3.4 滑动窗口的卷积实现-深度学习第四课《卷积神经网络》-Stanford吴恩达教授 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

←上一篇↓↑下一篇→
3.3 目標(biāo)檢測(cè)回到目錄3.5 Bounding Box 預(yù)測(cè)

滑動(dòng)窗口的卷積實(shí)現(xiàn) (Convolutional Implementation of Sliding Window)

上節(jié)課,我們學(xué)習(xí)了如何通過(guò)卷積網(wǎng)絡(luò)實(shí)現(xiàn)滑動(dòng)窗口對(duì)象檢測(cè)算法,但效率很低。這節(jié)課我們講講如何在卷積層上應(yīng)用這個(gè)算法。

為了構(gòu)建滑動(dòng)窗口的卷積應(yīng)用,首先要知道如何把神經(jīng)網(wǎng)絡(luò)的全連接層轉(zhuǎn)化成卷積層。我們先講解這部分內(nèi)容,下一張幻燈片,我們將按照這個(gè)思路來(lái)演示卷積的應(yīng)用過(guò)程。

假設(shè)對(duì)象檢測(cè)算法輸入一個(gè)14×14×3的圖像,圖像很小,不過(guò)演示起來(lái)方便。在這里過(guò)濾器大小為5×5,數(shù)量是16,14×14×3的圖像在過(guò)濾器處理之后映射為10×10×16。然后通過(guò)參數(shù)為2×2的最大池化操作,圖像減小到5×5×16。然后添加一個(gè)連接400個(gè)單元的全連接層,接著再添加一個(gè)全連接層,最后通過(guò)softmax單元輸出 yyy 。為了跟下圖區(qū)分開(kāi),我先做一點(diǎn)改動(dòng),用4個(gè)數(shù)字來(lái)表示 yyy ,它們分別對(duì)應(yīng)softmax單元所輸出的4個(gè)分類(lèi)出現(xiàn)的概率。這4個(gè)分類(lèi)可以是行人、汽車(chē)、摩托車(chē)和背景或其它對(duì)象。

現(xiàn)在我要演示的就是如何把這些全連接層轉(zhuǎn)化為卷積層,畫(huà)一個(gè)這樣的卷積網(wǎng)絡(luò),它的前幾層和之前的一樣,而對(duì)于下一層,也就是這個(gè)全連接層,我們可以用5×5的過(guò)濾器來(lái)實(shí)現(xiàn),數(shù)量是400個(gè)(編號(hào)1所示),輸入圖像大小為5×5×16,用5×5的過(guò)濾器對(duì)它進(jìn)行卷積操作,過(guò)濾器實(shí)際上是5×5×16,因?yàn)樵诰矸e過(guò)程中,過(guò)濾器會(huì)遍歷這16個(gè)通道,所以這兩處的通道數(shù)量必須保持一致,輸出結(jié)果為1×1。假設(shè)應(yīng)用400個(gè)這樣的5×5×16過(guò)濾器,輸出維度就是1×1×400,我們不再把它看作一個(gè)含有400個(gè)節(jié)點(diǎn)的集合,而是一個(gè)1×1×400的輸出層。從數(shù)學(xué)角度看,它和全連接層是一樣的,因?yàn)檫@400個(gè)節(jié)點(diǎn)中每個(gè)節(jié)點(diǎn)都有一個(gè)5×5×16維度的過(guò)濾器,所以每個(gè)值都是上一層這些5×5×16激活值經(jīng)過(guò)某個(gè)任意線(xiàn)性函數(shù)的輸出結(jié)果。

我們?cè)偬砑恿硗庖粋€(gè)卷積層(編號(hào)2所示),這里用的是1×1卷積,假設(shè)有400個(gè)1×1的過(guò)濾器,在這400個(gè)過(guò)濾器的作用下,下一層的維度是1×1×400,它其實(shí)就是上個(gè)網(wǎng)絡(luò)中的這一全連接層。最后經(jīng)由1×1過(guò)濾器的處理,得到一個(gè)softmax激活值,通過(guò)卷積網(wǎng)絡(luò),我們最終得到這個(gè)1×1×4的輸出層,而不是這4個(gè)數(shù)字(編號(hào)3所示)。

以上就是用卷積層代替全連接層的過(guò)程,結(jié)果這幾個(gè)單元集變成了1×1×400和1×1×4的維度。

參考論文:Sermanet, Pierre, et al. “OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks.” Eprint Arxiv (2013).

掌握了卷積知識(shí),我們?cè)倏纯慈绾瓮ㄟ^(guò)卷積實(shí)現(xiàn)滑動(dòng)窗口對(duì)象檢測(cè)算法。講義中的內(nèi)容借鑒了屏幕下方這篇關(guān)于OverFeat的論文,它的作者包括Pierre Sermanet,David Eigen,張翔,Michael Mathieu,Rob Fergus,Yann LeCun。

假設(shè)向滑動(dòng)窗口卷積網(wǎng)絡(luò)輸入14×14×3的圖片,為了簡(jiǎn)化演示和計(jì)算過(guò)程,這里我們依然用14×14的小圖片。和前面一樣,神經(jīng)網(wǎng)絡(luò)最后的輸出層,即softmax單元的輸出是1×1×4,我畫(huà)得比較簡(jiǎn)單,嚴(yán)格來(lái)說(shuō),14×14×3應(yīng)該是一個(gè)長(zhǎng)方體,第二個(gè)10×10×16也是一個(gè)長(zhǎng)方體,但為了方便,我只畫(huà)了正面。所以,對(duì)于1×1×400的這個(gè)輸出層,我也只畫(huà)了它1×1的那一面,所以這里顯示的都是平面圖,而不是3D圖像。

假設(shè)輸入給卷積網(wǎng)絡(luò)的圖片大小是14×14×3,測(cè)試集圖片是16×16×3,現(xiàn)在給這個(gè)輸入圖片加上黃色條塊,在最初的滑動(dòng)窗口算法中,你會(huì)把這片藍(lán)色區(qū)域輸入卷積網(wǎng)絡(luò)(紅色筆標(biāo)記)生成0或1分類(lèi)。接著滑動(dòng)窗口,步幅為2個(gè)像素,向右滑動(dòng)2個(gè)像素,將這個(gè)綠框區(qū)域輸入給卷積網(wǎng)絡(luò),運(yùn)行整個(gè)卷積網(wǎng)絡(luò),得到另外一個(gè)標(biāo)簽0或1。繼續(xù)將這個(gè)橘色區(qū)域輸入給卷積網(wǎng)絡(luò),卷積后得到另一個(gè)標(biāo)簽,最后對(duì)右下方的紫色區(qū)域進(jìn)行最后一次卷積操作。我們?cè)谶@個(gè)16×16×3的小圖像上滑動(dòng)窗口,卷積網(wǎng)絡(luò)運(yùn)行了4次,于是輸出了了4個(gè)標(biāo)簽。

結(jié)果發(fā)現(xiàn),這4次卷積操作中很多計(jì)算都是重復(fù)的。所以執(zhí)行滑動(dòng)窗口的卷積時(shí)使得卷積網(wǎng)絡(luò)在這4次前向傳播過(guò)程中共享很多計(jì)算,尤其是在這一步操作中(編號(hào)1),卷積網(wǎng)絡(luò)運(yùn)行同樣的參數(shù),使得相同的5×5×16過(guò)濾器進(jìn)行卷積操作,得到12×12×16的輸出層。然后執(zhí)行同樣的最大池化(編號(hào)2),輸出結(jié)果6×6×16。照舊應(yīng)用400個(gè)5×5的過(guò)濾器(編號(hào)3),得到一個(gè)2×2×400的輸出層,現(xiàn)在輸出層為2×2×400,而不是1×1×400。應(yīng)用1×1過(guò)濾器(編號(hào)4)得到另一個(gè)2×2×400的輸出層。再做一次全連接的操作(編號(hào)5),最終得到2×2×4的輸出層,而不是1×1×4。最終,在輸出層這4個(gè)子方塊中,藍(lán)色的是圖像左上部分14×14的輸出(紅色箭頭標(biāo)識(shí)),右上角方塊是圖像右上部分(綠色箭頭標(biāo)識(shí))的對(duì)應(yīng)輸出,左下角方塊是輸入層左下角(橘色箭頭標(biāo)識(shí)),也就是這個(gè)14×14區(qū)域經(jīng)過(guò)卷積網(wǎng)絡(luò)處理后的結(jié)果,同樣,右下角這個(gè)方塊是卷積網(wǎng)絡(luò)處理輸入層右下角14×14區(qū)域(紫色箭頭標(biāo)識(shí))的結(jié)果。

如果你想了解具體的計(jì)算步驟,以綠色方塊為例,假設(shè)你剪切出這塊區(qū)域(編號(hào)1),傳遞給卷積網(wǎng)絡(luò),第一層的激活值就是這塊區(qū)域(編號(hào)2),最大池化后的下一層的激活值是這塊區(qū)域(編號(hào)3),這塊區(qū)域?qū)?yīng)著后面幾層輸出的右上角方塊(編號(hào)4,5,6)。

所以該卷積操作的原理是我們不需要把輸入圖像分割成四個(gè)子集,分別執(zhí)行前向傳播,而是把它們作為一張圖片輸入給卷積網(wǎng)絡(luò)進(jìn)行計(jì)算,其中的公共區(qū)域可以共享很多計(jì)算,就像這里我們看到的這個(gè)4個(gè)14×14的方塊一樣。

下面我們?cè)倏匆粋€(gè)更大的圖片樣本,假如對(duì)一個(gè)28×28×3的圖片應(yīng)用滑動(dòng)窗口操作,如果以同樣的方式運(yùn)行前向傳播,最后得到8×8×4的結(jié)果。跟上一個(gè)范例一樣,以14×14區(qū)域滑動(dòng)窗口,首先在這個(gè)區(qū)域應(yīng)用滑動(dòng)窗口,其結(jié)果對(duì)應(yīng)輸出層的左上角部分。接著以大小為2的步幅不斷地向右移動(dòng)窗口,直到第8個(gè)單元格,得到輸出層的第一行。然后向圖片下方移動(dòng),最終輸出這個(gè)8×8×4的結(jié)果。因?yàn)樽畲蟪鼗瘏?shù)為2,相當(dāng)于以大小為2的步幅在原始圖片上應(yīng)用神經(jīng)網(wǎng)絡(luò)。

總結(jié)一下滑動(dòng)窗口的實(shí)現(xiàn)過(guò)程,在圖片上剪切出一塊區(qū)域,假設(shè)它的大小是14×14,把它輸入到卷積網(wǎng)絡(luò)。繼續(xù)輸入下一塊區(qū)域,大小同樣是14×14,重復(fù)操作,直到某個(gè)區(qū)域識(shí)別到汽車(chē)。

但是正如在前一頁(yè)所看到的,我們不能依靠連續(xù)的卷積操作來(lái)識(shí)別圖片中的汽車(chē),比如,我們可以對(duì)大小為28×28的整張圖片進(jìn)行卷積操作,一次得到所有預(yù)測(cè)值,如果足夠幸運(yùn),神經(jīng)網(wǎng)絡(luò)便可以識(shí)別出汽車(chē)的位置。

以上就是在卷積層上應(yīng)用滑動(dòng)窗口算法的內(nèi)容,它提高了整個(gè)算法的效率。不過(guò)這種算法仍然存在一個(gè)缺點(diǎn),就是邊界框的位置可能不夠準(zhǔn)確。下節(jié)課,我們將學(xué)習(xí)如何解決這個(gè)問(wèn)題。

課程板書(shū)





←上一篇↓↑下一篇→
3.3 目標(biāo)檢測(cè)回到目錄3.5 Bounding Box 預(yù)測(cè)

總結(jié)

以上是生活随笔為你收集整理的3.4 滑动窗口的卷积实现-深度学习第四课《卷积神经网络》-Stanford吴恩达教授的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。