深度學習筆記------卷積訓練

模型構成

相比於一般的神經網絡,卷積的輸入數據更多,同時模型的相關參數也會更多,這就導致了其訓練的消耗會比一般的神經網絡大,但是基本的結構還是有類似的地方的。

輸入數據

輸入的數據一般爲圖像數據,但是由於圖形數據中的色彩特徵,往往會存在一些預處理,將相應的圖形分解爲rgb三個色彩通道;或者僅僅關注圖像的輪廓特徵,進行灰度處理;有些還會在正式的卷積訓練前額外加一層,將圖片進行一些放縮操作,最終獲得的數據以數字形式表示。

輸出數據

一般卷積用來構建分類器,輸出就是對應的標籤數據,一般以0,1表示,0表示不屬於這個類型,或者是輸出這一類型分類的概率。一般最後輸出都是來自全連接層的。

評估函數

輸出的數據是要有一個評估的,使用這個評估我們可以瞭解模型參數對數據的擬合情況,對於多分類我們一般用H(y)=in(yiy^i)2H(y)=\sum_i^n(y_i-\hat y_i)^2 來表示,yiy_i爲實際的分類標籤值,y^i\hat y_i爲預測的標籤值,我們訓練的目的也就是儘可能的減小該函數的值,使得我們的模型能夠儘可能的擬合數據情況。通過梯度下降等方式,對參數進行求偏導這與一般的神經網絡也是一致的。

卷積核

模型中主要的參數承擔者就是卷積核了,一個卷積核往往含有多個參數,對於一般的二維卷積核(以矩陣的形式表示):[a11a12a21a22]\begin{bmatrix}a_{11} & a_{12} \\a_{21} & a_{22} \end{bmatrix}(爲了表示方便使用222*2的形狀,一般的卷積核形狀都是奇數*奇數,這裏按互相關運算來卷積)
相應的函數定義爲f(x)=x11a11+x12a12+x21a21+x22a22+bf(x)=x_{11}*a_{11}+x_{12}*a_{12}+x_{21}*a_{21}+x_{22}*a_{22}+b(還有一個偏置值)

對於多通道的卷積核:[a11a12a21a22]\begin{bmatrix}a_{11} & a_{12} \\a_{21} & a_{22} \end{bmatrix}[b11b12b21b22]\begin{bmatrix}b_{11} & b_{12} \\b_{21} & b_{22} \end{bmatrix}[c11c12c21c22]\begin{bmatrix}c_{11} & c_{12} \\c_{21} & c_{22} \end{bmatrix}
相應的函數定義爲f(x)=(x111a11+x112a12+x121a21+x122a22)+(x211b11+x212b12+x221b21+x222b22)+(x311c11+x312c12+x321c21+x322c22)+bf(x)=(x_{111}*a_{11}+x_{112}*a_{12}+x_{121}*a_{21}+x_{122}*a_{22})+(x_{211}*b_{11}+x_{212}*b_{12}+x_{221}*b_{21}+x_{222}*b_{22})+(x_{311}*c_{11}+x_{312}*c_{12}+x_{321}*c_{21}+x_{322}*c_{22})+b(還有一個偏置值)

池化函數

最大池化max([x11x12x21x22])=max(x11,x12,x21,x22)max(\begin{bmatrix}x_{11} & x_{12} \\x_{21} & x_{22} \end{bmatrix})=max(x_{11},x_{12},x_{21},x_{22})
平均池化mean([x11x12x21x22])=(x11+x12+x21+x22)/4mean(\begin{bmatrix}x_{11} & x_{12} \\x_{21} & x_{22} \end{bmatrix})=(x_{11}+x_{12}+x_{21}+x_{22})/4
池化的操作就與之間的神經網絡有很大的不同了,在池化之前一般經過了激活函數的處理(激活函數與池化的處理順序可以互換,池化之後進行激活可以減少激活函數的運算量,但是對應的池化消去的數據就無法在之後使用了)

激活函數

相應的激活函數與一般的神經網絡一致,常用的有Sigmoid函數與Relu函數等。

參數初始化

爲網絡中的諸多參數確定初值,爲了保證訓練的效果,需要對這些參數的初值進行一些要求。
這些參數的初值不能全部相同,否則運算過程中相同形狀的卷積覈對相同的輸入進行運算,會導致多個卷積核僅僅只能提取一個特徵。(多個卷積覈對應的運算實際是等效的(“對稱性”))
要打破這種對稱性,可以進行隨機初始化,同時爲了保證在之後的偏導計算中(特別是鏈式法則的乘法運算)不會出現過大或過小的梯度值,取得隨機值不宜過大,也不宜爲0。根據不同的激活函數,可以選擇不同的初始化方式。

前向傳播


前向傳播的過程是從輸入層向後進行的逐層的參數計算,直至得到輸出並且計算到相應的評估函數。
順序爲卷積運算得到特徵圖,特徵圖經由激活函數(可能還有歸一化),再進行池化(可能有多層次),最終到全連接層前將數據展開,之後逐層進行線性運算,激活(可能還有歸一化),直到最後輸出,轉到評估函數。

感受野

網絡的前向計算中,實際是對輸入的多個參數的處理,但是在每一層的計算中參與的輸入數據是有數量(感受野的大小)差別的,越向後面的計算,實際展開時包含的輸入參數就越多,相應的一個參數能涵蓋的輸入數據的區域(感受野)也就越大。

圖中第二層中的每個參數都需要最底層中9個輸入參與計算,所以其感受野爲對應的9個元素,而最上層的元素計算需要第二層的9個元素,對應到最底層中就是底層的全部元素參與計算,相應的感受野就是底層的全部元素。(步幅爲1,無填充)

反向傳播

主要通過梯度下降來進行訓練,與一般的神經網絡類似,只是在卷積與池化的處理上與一般的神經網絡不同。利用偏導計算來進行,逐步減小評估函數值。
參數更新:新的參數的值ww(新值)=w=w(舊值)+η+\eta(學習率)h*h(偏導值)

全連接層

全連接層的訓練就是一般的反向傳播,從評估函數開始逐層傳遞,並進行偏導計算,多個層次的參數相當於多個函數的複合形式,對應的使用鏈式法則對其進行處理,相應的可以參考深度學習筆記------神經網絡

池化層

對於池化層的反向傳播只要根據不同的池化函數將誤差對應分配。

最大池化
對於最大池化,返回給上層的有兩類數據,一個是在池化中保留下來最大值的上層元素,對應將誤差傳遞,其餘的元素對應返回誤差爲0。
例如:池化層得到的偏導誤差爲[3467]\begin{bmatrix}3 &4 \\6 &7\end{bmatrix}
上層的數據爲[1360245235633113]\begin{bmatrix}1 &3 &6 &0 \\2 &4& 5&2\\3 &5 & 6&3\\3 &1 & 1&3 \end{bmatrix}對應分配到的誤差爲[0040030006700000]\begin{bmatrix}0 &0&4 &0 \\0 &3& 0&0\\0 &6 & 7&0\\0 &0 & 0&0 \end{bmatrix}

平均池化
平均池化則是將相應的誤差數據均分,並且傳遞給所有的上層元素。
例如:池化層得到的偏導誤差爲[4488]\begin{bmatrix}4 &4 \\8 &8\end{bmatrix}
上層的數據爲[1360245235633113]\begin{bmatrix}1 &3 &6 &0 \\2 &4& 5&2\\3 &5 & 6&3\\3 &1 & 1&3 \end{bmatrix}對應分配到的誤差爲[1111111122222222]\begin{bmatrix}1 &1&1 &1 \\1 &1&1 &1\\2 &2 & 2&2\\2 &2 & 2&2 \end{bmatrix}

卷積層

先從一個簡單的互相關運算開始(步幅爲1):

[a11a12a13a21a22a23a31a32a33]conv[w11w12w21w22]\begin{bmatrix}a_{11} &a_{12} &a_{13} \\a_{21} &a_{22} &a_{23} \\a_{31} &a_{32} &a_{33} \end{bmatrix}conv\begin{bmatrix}w_{11} &w_{12} \\w_{21} &w_{22} \end{bmatrix}展開一下有:
[w11w120w21w2200000w11w120w21w22000000w11w120w21w2200000w11w120w21w22][a11a12a13a21a22a23a31a32a33]\begin{bmatrix}w_{11} &w_{12}&0&w_{21}&w_{22}&0&0&0&0\\0&w_{11} &w_{12}&0&w_{21}&w_{22}&0&0&0\\0&0&0&w_{11} &w_{12}&0&w_{21}&w_{22}&0\\0&0&0&0&w_{11} &w_{12}&0&w_{21}&w_{22} \end{bmatrix}\begin{bmatrix}a_{11} \\a_{12} \\a_{13} \\a_{21} \\a_{22} \\a_{23} \\a_{31} \\a_{32} \\a_{33} \end{bmatrix}得到:

[a11w11+a12w12+a21w21+a22w22a12w11+a13w12+a22w21+a23w22a21w11+a22w12+a31w21+a32w22a22w11+a23w12+a32w21+a33w22]\begin{bmatrix}a_{11} w_{11}+a_{12}w_{12}+a_{21}w_{21}+a_{22}w_{22}&a_{12} w_{11}+a_{13}w_{12}+a_{22}w_{21}+a_{23}w_{22}\\a_{21} w_{11}+a_{22}w_{12}+a_{31}w_{21}+a_{32}w_{22}&a_{22} w_{11}+a_{23}w_{12}+a_{32}w_{21}+a_{33}w_{22}\end{bmatrix}

對應於上層傳過來的誤差爲:[δ11δ12δ21δ22]\begin{bmatrix}\delta_{11} &\delta_{12} \\\delta_{21} &\delta_{22} \end{bmatrix}

對於aija_{ij}進行求偏導對應的爲:

a11a_{11}w11δ11+0δ12+0δ21+0δ22w_{11}\delta_{11}+0\delta_{12} +0\delta_{21}+0\delta_{22}
a12a_{12}w12δ11+w11δ12+0δ21+0δ22w_{12}\delta_{11}+w_{11}\delta_{12} +0\delta_{21}+0\delta_{22}
a13a_{13}0δ11+w12δ12+0δ21+0δ220\delta_{11}+w_{12}\delta_{12} +0\delta_{21}+0\delta_{22}
a21a_{21}w21δ11+0δ12+w11δ21+0δ22w_{21}\delta_{11}+0\delta_{12} +w_{11}\delta_{21}+0\delta_{22}
a22a_{22}w22δ11+w21δ12+w12δ21+w11δ22w_{22}\delta_{11}+w_{21}\delta_{12} +w_{12}\delta_{21}+w_{11}\delta_{22}
a23a_{23}w22δ11+0δ12+w12δ21+0δ22w_{22}\delta_{11}+0\delta_{12} +w_{12}\delta_{21}+0\delta_{22}
a31a_{31}0δ11+0δ12+w21δ21+0δ220\delta_{11}+0\delta_{12} +w_{21}\delta_{21}+0\delta_{22}
a32a_{32}0δ11+0δ12+w22δ21+w21δ220\delta_{11}+0\delta_{12} +w_{22}\delta_{21}+w_{21}\delta_{22}
a33a_{33}0δ11+0δ12+0δ21+w22δ220\delta_{11}+0\delta_{12} +0\delta_{21}+w_{22}\delta_{22}
即爲ww上對應的列向量,組成爲矩陣爲

[w11δ11w12δ11+w11δ12w12δ12w21δ11+w11δ21w22δ11+w21δ12+w12δ21+w11δ22w22δ11+w12δ21w21δ21w22δ21+w21δ22w22δ22]\begin{bmatrix}w_{11}\delta_{11} &w_{12}\delta_{11}+w_{11}\delta_{12} &w_{12}\delta_{12} \\w_{21}\delta_{11} +w_{11}\delta_{21} &w_{22}\delta_{11}+w_{21}\delta_{12} +w_{12}\delta_{21}+w_{11}\delta_{22} &w_{22}\delta_{11}+w_{12}\delta_{21}\\w_{21}\delta_{21}&w_{22}\delta_{21}+w_{21}\delta_{22}&w_{22}\delta_{22}\end{bmatrix}

變化一下有:[00000δ11δ1200δ21δ2200000]conv[w22w21w12w11]\begin{bmatrix}0&0&0&0\\0&\delta_{11} &\delta_{12} &0\\0&\delta_{21} &\delta_{22}&0 \\0&0&0&0\end{bmatrix}conv\begin{bmatrix}w_{22} &w_{21} \\w_{12} &w_{11} \end{bmatrix}(步幅爲1)

反轉卷積核(關於中心對稱反轉,或者反轉返回的誤差δ\delta),再將返回的誤差δ\delta填充爲0,最後進行互相關操作就可以得到對應的偏導了。對於步幅爲1的卷積層關於輸入參數a的偏導就完成了。(有些參數後面只有一層就不許要後續的輸入參數,在求偏導時也就不需要這一過程了)

之後是對卷積函數中的參數w求偏導。

將上面的式子[a11a12a13a21a22a23a31a32a33]conv[w11w12w21w22]\begin{bmatrix}a_{11} &a_{12} &a_{13} \\a_{21} &a_{22} &a_{23} \\a_{31} &a_{32} &a_{33} \end{bmatrix}conv\begin{bmatrix}w_{11} &w_{12} \\w_{21} &w_{22} \end{bmatrix}再次展開:

[a11a12a21a22a12a13a22a23a21a22a31a32a22a23a32a33][w11w12w21w22]\begin{bmatrix}a_{11}&a_{12}&a_{21}& a_{22} \\a_{12} &a_{13}&a_{22}& a_{23} \\a_{21} &a_{22}&a_{31}& a_{32} \\a_{22} &a_{23}&a_{32}& a_{33} \end{bmatrix}\begin{bmatrix}w_{11} \\w_{12} \\w_{21} \\w_{22}\end{bmatrix}(轉換回二維)得到:

[a11w11+a12w12+a21w21+a22w22a12w11+a13w12+a22w21+a23w22a21w11+a22w12+a31w21+a32w22a22w11+a23w12+a32w21+a33w22]\begin{bmatrix}a_{11} w_{11}+a_{12}w_{12}+a_{21}w_{21}+a_{22}w_{22}&a_{12} w_{11}+a_{13}w_{12}+a_{22}w_{21}+a_{23}w_{22}\\a_{21} w_{11}+a_{22}w_{12}+a_{31}w_{21}+a_{32}w_{22}&a_{22} w_{11}+a_{23}w_{12}+a_{32}w_{21}+a_{33}w_{22}\end{bmatrix}

對應於上層傳過來的誤差爲:[δ11δ12δ21δ22]\begin{bmatrix}\delta_{11} &\delta_{12} \\\delta_{21} &\delta_{22} \end{bmatrix}

對於wijw_{ij}進行求偏導對應的爲:

w11w_{11}a11δ11+a12δ12+a21δ21+a22δ22a_{11}\delta_{11}+a_{12}\delta_{12} +a_{21}\delta_{21}+a_{22}\delta_{22}
w12w_{12}a12δ11+a13δ12+a22δ23+a22δ22a_{12}\delta_{11}+a_{13}\delta_{12} +a_{22}\delta_{23}+a_{22}\delta_{22}
w21w_{21}a21δ11+a22δ12+a31δ21+a32δ22a_{21}\delta_{11}+a_{22}\delta_{12} +a_{31}\delta_{21}+a_{32}\delta_{22}
w22w_{22}a22δ11+a23δ12+a32δ21+a33δ22a_{22}\delta_{11}+a_{23}\delta_{12} +a_{32}\delta_{21}+a_{33}\delta_{22}
即爲a上對應的列向量,組成爲矩陣爲:

[a11δ11+a12δ12+a21δ21+a22δ22a12δ11+a13δ12+a22δ23+a22δ22a21δ11+a22δ12+a31δ21+a32δ22a22δ11+a23δ12+a32δ21+a33δ22]\begin{bmatrix}a_{11}\delta_{11}+a_{12}\delta_{12} +a_{21}\delta_{21}+a_{22}\delta_{22} &a_{12}\delta_{11}+a_{13}\delta_{12} +a_{22}\delta_{23}+a_{22}\delta_{22} \\a_{21}\delta_{11}+a_{22}\delta_{12} +a_{31}\delta_{21}+a_{32}\delta_{22} &a_{22}\delta_{11}+a_{23}\delta_{12} +a_{32}\delta_{21}+a_{33}\delta_{22}\end{bmatrix}

變化一下有:[a11a12a13a21a22a23a31a32a33]conv[δ11δ12δ21δ22]\begin{bmatrix}a_{11} &a_{12} &a_{13} \\a_{21} &a_{22} &a_{23} \\a_{31} &a_{32} &a_{33} \end{bmatrix}conv\begin{bmatrix}\delta_{11} &\delta_{12} \\\delta_{21} &\delta_{22} \end{bmatrix}

關於卷積核的參數wijw_{ij}的偏導即爲返回的誤差與輸入層參數的互相關運算。
但是上面我們沒有考慮步幅的因素(填充相當於固定某些位置爲0)。

步幅爲2的卷積

[a11a12a13a14a21a22a23a24a31a32a33a34a41a42a43a44]conv[w11w12w21w22]=[t11t12t21t22]\begin{bmatrix}a_{11} &a_{12} &a_{13}&a_{14} \\a_{21} &a_{22} &a_{23} &a_{24}\\a_{31} &a_{32} &a_{33} &a_{34}\\a_{41} &a_{42} &a_{43} &a_{44}\end{bmatrix}conv\begin{bmatrix}w_{11} &w_{12} \\w_{21} &w_{22} \end{bmatrix}=\begin{bmatrix}t_{11} &t_{12} \\t_{21} &t_{22} \end{bmatrix}

t11=a11w11+a12w12+a21w21+a22w22t_{11}=a_{11} w_{11}+a_{12}w_{12}+a_{21}w_{21}+a_{22}w_{22}
t12=a13w11+a14w12+a23w21+a24w22t_{12}=a_{13} w_{11}+a_{14}w_{12}+a_{23}w_{21}+a_{24}w_{22}
t21=a31w11+a32w12+a41w21+a42w22t_{21}=a_{31} w_{11}+a_{32}w_{12}+a_{41}w_{21}+a_{42}w_{22}
t22=a33w11+a34w12+a43w21+a44w22t_{22}=a_{33} w_{11}+a_{34}w_{12}+a_{43}w_{21}+a_{44}w_{22}
展開一下有:
[w11w1200w21w22000000000000w11w1200w21w220000000000000000w11w1200w21w22000000000000w11w1200w21w22][a11a12a13a14a21a22a23a24a31a32a33a34a41a42a43a44]\begin{bmatrix}w_{11} &w_{12}&0&0&w_{21}&w_{22}&0&0&0&0&0&0&0&0&0&0\\0&0&w_{11} &w_{12}&0&0&w_{21}&w_{22}&0&0&0&0&0&0&0&0\\0&0&0&0&0&0&0&0&w_{11} &w_{12}&0&0&w_{21}&w_{22}&0&0\\0&0&0&0&0&0&0&0&0&0&w_{11} &w_{12}&0&0&w_{21}&w_{22} \end{bmatrix}\begin{bmatrix}a_{11} \\a_{12} \\a_{13}\\a_{14} \\a_{21} \\a_{22} \\a_{23}\\a_{24} \\a_{31} \\a_{32} \\a_{33}\\a_{34} \\a_{41} \\a_{42} \\a_{43}\\a_{44}\end{bmatrix}
對應於上層傳過來的誤差爲:[δ11δ12δ21δ22]\begin{bmatrix}\delta_{11} &\delta_{12} \\\delta_{21} &\delta_{22} \end{bmatrix}

對於aija_{ij}進行求偏導對應的爲:[w11δ11w12δ11w11δ12w12δ12w21δ11w22δ11w21δ12w22δ12w11δ21w12δ21w11δ22w12δ22w21δ21w22δ21w21δ22w22δ22]\begin{bmatrix}w_{11}\delta_{11} &w_{12}\delta_{11} &w_{11}\delta_{12}&w_{12}\delta_{12} \\w_{21}\delta_{11} &w_{22}\delta_{11} &w_{21}\delta_{12}&w_{22}\delta_{12}\\w_{11}\delta_{21} &w_{12}\delta_{21} &w_{11}\delta_{22}&w_{12}\delta_{22}\\w_{21}\delta_{21} &w_{22}\delta_{21} &w_{21}\delta_{22}&w_{22}\delta_{22}\end{bmatrix}即爲ww上對應的列向量.

同樣可以進行對應的變換於是得到:

[000000δ110δ120000000δ210δ22000000]conv[w22w21w12w11]\begin{bmatrix}0&0&0&0&0\\0&\delta_{11} &0&\delta_{12} &0\\0&0&0&0&0\\0&\delta_{21} &0&\delta_{22}&0 \\0&0&0&0&0\end{bmatrix}conv\begin{bmatrix}w_{22} &w_{21} \\w_{12} &w_{11} \end{bmatrix}(步幅爲1)

與步幅爲一的操作差不多,只不過在返回誤差的元素之間加上了一個填充。對於更大的步幅可以同樣的進行推導。

卷積函數中的參數ww求偏導
一樣進行展開有:

[a11a12a21a22a13a14a23a24a31a32a41a42a33a34a43a44][w11w12w21w22]\begin{bmatrix}a_{11}&a_{12}&a_{21}& a_{22} \\a_{13} &a_{14}&a_{23}& a_{24} \\a_{31} &a_{32}&a_{41}& a_{42} \\a_{33} &a_{34}&a_{43}& a_{44} \end{bmatrix}\begin{bmatrix}w_{11} \\w_{12} \\w_{21} \\w_{22}\end{bmatrix}

[a11w11+a12w12+a21w21+a22w22a13w11+a14w12+a23w21+a24w22a31w11+a32w12+a41w21+a42w22a33w11+a34w12+a43w21+a44w22]\begin{bmatrix}a_{11} w_{11}+a_{12}w_{12}+a_{21}w_{21}+a_{22}w_{22}&a_{13} w_{11}+a_{14}w_{12}+a_{23}w_{21}+a_{24}w_{22}\\a_{31} w_{11}+a_{32}w_{12}+a_{41}w_{21}+a_{42}w_{22}&a_{33} w_{11}+a_{34}w_{12}+a_{43}w_{21}+a_{44}w_{22}\end{bmatrix}

對應於上層傳過來的誤差爲:[δ11δ12δ21δ22]\begin{bmatrix}\delta_{11} &\delta_{12} \\\delta_{21} &\delta_{22} \end{bmatrix}

對於wijw_{ij}進行求偏導對應的爲:

w11w_{11}a11δ11+a13δ12+a31δ21+a33δ22a_{11}\delta_{11}+a_{13}\delta_{12} +a_{31}\delta_{21}+a_{33}\delta_{22}
w12w_{12}a12δ11+a14δ12+a32δ23+a34δ22a_{12}\delta_{11}+a_{14}\delta_{12} +a_{32}\delta_{23}+a_{34}\delta_{22}
w21w_{21}a21δ11+a23δ12+a41δ21+a43δ22a_{21}\delta_{11}+a_{23}\delta_{12} +a_{41}\delta_{21}+a_{43}\delta_{22}
w22w_{22}a22δ11+a24δ12+a42δ21+a44δ22a_{22}\delta_{11}+a_{24}\delta_{12} +a_{42}\delta_{21}+a_{44}\delta_{22}
即爲a上對應的列向量,組成爲矩陣爲:

[a11δ11+a13δ12+a31δ21+a33δ22a12δ11+a14δ12+a32δ23+a34δ22a21δ11+a23δ12+a41δ21+a43δ22a22δ11+a24δ12+a42δ21+a44δ22]\begin{bmatrix}a_{11}\delta_{11}+a_{13}\delta_{12} +a_{31}\delta_{21}+a_{33}\delta_{22} &a_{12}\delta_{11}+a_{14}\delta_{12} +a_{32}\delta_{23}+a_{34}\delta_{22} \\a_{21}\delta_{11}+a_{23}\delta_{12} +a_{41}\delta_{21}+a_{43}\delta_{22} &a_{22}\delta_{11}+a_{24}\delta_{12} +a_{42}\delta_{21}+a_{44}\delta_{22}\end{bmatrix}

變化一下有:[a11a12a13a14a21a22a23a24a31a32a33a34a41a42a43a44]conv[δ110δ12000δ210δ22]\begin{bmatrix}a_{11} &a_{12} &a_{13} &a_{14}\\a_{21} &a_{22} &a_{23} &a_{24}\\a_{31} &a_{32} &a_{33}&a_{34} \\a_{41} &a_{42} &a_{43}&a_{44}\end{bmatrix}conv\begin{bmatrix}\delta_{11}&0 &\delta_{12} \\0&0&0 \\\delta_{21} &0&\delta_{22} \end{bmatrix}(步幅爲1)

也在返回誤差的元素之間加上了一個填充,得到了關於wijw_{ij}的偏導。
還有關於偏置bb的偏導,在卷積運算中(線性運算),最後還要加上一個相應的偏置值。
每一個卷積覈定義一個偏置值bb,在計算中這一個偏置是共享的,上面的卷積運算改變一下有:
t11=a11w11+a12w12+a21w21+a22w22+bt_{11}=a_{11} w_{11}+a_{12}w_{12}+a_{21}w_{21}+a_{22}w_{22}+b
t12=a13w11+a14w12+a23w21+a24w22+bt_{12}=a_{13} w_{11}+a_{14}w_{12}+a_{23}w_{21}+a_{24}w_{22}+b
t21=a31w11+a32w12+a41w21+a42w22+bt_{21}=a_{31} w_{11}+a_{32}w_{12}+a_{41}w_{21}+a_{42}w_{22}+b
t22=a33w11+a34w12+a43w21+a44w22+bt_{22}=a_{33} w_{11}+a_{34}w_{12}+a_{43}w_{21}+a_{44}w_{22}+b

同樣根據返回的誤差有:[δ11δ12δ21δ22]\begin{bmatrix}\delta_{11} &\delta_{12} \\\delta_{21} &\delta_{22} \end{bmatrix}

於是關於bb的偏導爲δ11+δ12+δ21+δ22\delta_{11} +\delta_{12}+\delta_{21} +\delta_{22},步幅的改變對其沒有影響,上面步幅爲1的運算關於bb的偏導也是相應返回誤差的和。

卷積完成後的激活函數操作與一般的神經網絡相同,也是直接求其偏導加入到鏈式法則中運算。
最終得到的相應的誤差值進行梯度下降,使用相應的學習率參數來控制迭代的速度。
參數更新:新的參數的值ww(新值)=w=w(舊值)+η+\eta(學習率)h*h(偏導值)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章