1-5 卷積步長


卷積步長( Strided convolutions)

卷積中的步幅是另一個構建卷積神經網絡的基本操作。

如果你想用 3×3 的過濾器卷積這個 7×7 的圖像,和之前不同的是,我們把步幅設置成了2。你還和之前一樣取左上方的 3×3 區域的元素的乘積,再加起來,最后結果為 91。

只是之前我們移動藍框的步長是 1,現在移動的步長是 2,我們讓過濾器跳過 2 個步長,注意一下左上角,這個點移動到其后兩格的點,跳過了一個位置。然后你還是將每個元素相乘並求和,你將會得到的結果是 100。

現在我們繼續,將藍色框移動兩個步長,你將會得到 83 的結果。當你移動到下一行的時候,你也是使用步長 2 而不是步長 1,所以我們將藍色框移動到這里:

最終結果:

我們用 3×3 的矩陣卷積一個 7×7 的矩陣,得到一個 3×3 的輸出。輸入和輸出的維度是由下面的公式決定的。如果你用一個f × f的過濾器卷積一個n × n的圖像,你的 padding 為p,步幅為s,在這個例子中s= 2,你會得到一個輸出,因為現在你不是一次移動一個步子,而是一次移動s個步子,輸出於是變為:

$\frac{{n + 2p - f}}{s} + 1 \times \frac{{n + 2p - f}}{s} + 1$

在我們的這個例子里, n = 7, p = 0, f = 3, s = 2,所以代入公式中得到的輸出就是3×3。

如果商不是一個整數,就需要我們向下取整。用符號$\left\lfloor {} \right\rfloor$表示,也叫做進行進行地板除(floor)這個原則實現的方式是,你只在藍框完全包括在圖像或填充完的圖像內部時,才對它進行運算。如果有任意一個藍框移動到了外面,那你就不要進行相乘操作,這是一個慣例。你的 3×3 的過濾器必須完全處於圖像中或者填充之后的圖像區域內才輸出相應結果,這就是慣例。

如果你看的是一本典型的數學教科書,那么卷積的定義是做元素乘積求和,實際上還有一個步驟是你首先要做的,也就是在把這個 6×6 的矩陣和 3×3 的過濾器卷積之前,首先你將 3×3 的過濾器沿水平和垂直軸翻轉,所以:

變成:

這相當於將 3×3 的過濾器做了個鏡像。

但是實際使用時,我們跳過了這個鏡像操作。從技術上講,我們實際上做的,我們在前面視頻中使用的操作,有時被稱為互相關( cross-correlation)而不是卷積( convolution)。但在深度學習文獻中,按照慣例,我們將這(不進行翻轉操作)叫做卷積操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM