深度学习笔记------卷积训练

模型构成

相比于一般的神经网络,卷积的输入数据更多,同时模型的相关参数也会更多,这就导致了其训练的消耗会比一般的神经网络大,但是基本的结构还是有类似的地方的。

输入数据

输入的数据一般为图像数据,但是由于图形数据中的色彩特征,往往会存在一些预处理,将相应的图形分解为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(偏导值)

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