卷积神经网络(CNN)的训练过程

卷积神经⽹络(CNN)的训练过程
卷积神经⽹络的训练过程
卷积神经⽹络的训练过程分为两个阶段。第⼀个阶段是数据由低层次向⾼层次传播的阶段,即前向传播阶段。另外⼀个阶段是,当前向传播得出的结果与预期不相符时,将误差从⾼层次向底层次进⾏传播训练的阶段,即反向传播阶段。训练过程如图4-1所⽰。训练过程为:
载体构建
1、⽹络进⾏权值的初始化;
波洛克2、输⼊数据经过卷积层、下采样层、全连接层的向前传播得到输出值;
3、求出⽹络的输出值与⽬标值之间的误差;
4、当误差⼤于我们的期望值时,将误差传回⽹络中,依次求得全连接层,下采样层,卷积层的误差。各层的误差可以理解为对于⽹络的总误差,⽹络应承担多少;当误差等于或⼩于我们的期望值时,结束训练。
5、根据求得误差进⾏权值更新。然后在进⼊到第⼆步。
图4-1卷积神经⽹络的训练过程
1.1卷积神经⽹络的前向传播过程
在前向传播过程中,输⼊的图形数据经过多层卷积层的卷积和池化处理,提出特征向量,将特征向量传⼊全连接层中,得出分类识别的结果。当输出的结果与我们的期望值相符时,输出结果。
1.1.1卷积层的向前传播过程
卷积层的向前传播过程是,通过卷积核对输⼊数据进⾏卷积操作得到卷积操作。数据在实际的⽹络中的计算过程,我们以图3-4为例,介绍卷积层的向前传播过程。其中⼀个输⼊为15个神经元的图⽚,
卷积核为2×2×1的⽹络,即卷积核的权值为W1,W2,W3,W4。那么卷积核对于输⼊数据的卷积过程,如下图4-2所⽰。卷积核采⽤步长为1的卷积⽅式,卷积整个输⼊图⽚,形成了局部感受野,然后与其进⾏卷积算法,即权值矩阵与图⽚的特征值进⾏加权和(再加上⼀个偏置量),然后通过激活函数得到输出。
图4-2图⽚深度为1,卷积层的向前传播过程
⽽在图3-4中,图⽚深度为2时,卷积层的向前传播过程如图4-3所⽰。输⼊的图⽚的深度为4×4×2,卷积核为2×2×2,向前传播过程为,求得第⼀层的数据与卷积核的第⼀层的权值的加权和,然后再求得第⼆层的数据与卷积核的第⼆层的权值的加权和,两层的加权和相加得到⽹络的输出。
图4-3图⽚深度为2,卷积层的向前传播过程
1.1.2下采样层的向前传播过程
上⼀层(卷积层)提取的特征作为输⼊传到下采样层,通过下采样层的池化操作,降低数据的维度,可以避免过拟合。如图4-4中为常见的池化⽅式⽰意。最⼤池化⽅法也就是选取特征图中的最⼤值。均值池化则是求出特征图的平均值。随机池化⽅法则是先求出所有的特征值出现在该特征图中的概率,然后在来随机选取其中的⼀个概率作为该特征图的特征值,其中概率越⼤的选择的⼏率越⼤。
图4-4池化操作⽰意图
1.1.3全连接层的向前传播过程
特征图进过卷积层和下采样层的特征提取之后,将提取出来的特征传到全连接层中,通过全连接层,进⾏分类,获得分类模型,得到最后的结果。图4-5为⼀个三层的全连接层。假设卷积神经⽹络中,传⼊全连接层的特征为x1,x2。则其在全连接层中的向前传播过程如图4-5所⽰。第⼀层全连接层有3个神经元y1,y2,y3。这三个节点的权值矩阵为W,其中b1,b2,b3分别为节点y1,y2,y3的偏置量。可以看出,在全连接层中,参数的个数=全连接层中节点的个数×输⼊的特征的个数+节点的个数(偏置量)。其向前传递过程具体如图所⽰,得到输出矩阵后,经过激励函数f(y)的激活,传⼊下⼀层。
图4-5全连接层的向前传播过程
1.2卷积神经⽹络的反向传播过程
当卷积神经⽹络输出的结果与我们的期望值不相符时,则进⾏反向传播过程。求出结果与期望值的误差,再将误差⼀层⼀层的返回,计算出每⼀层的误差,然后进⾏权值更新。该过程的主要⽬的是通过训练样本和期望值来调整⽹络权值。误差的传递过程可以这样来理解,⾸先,数据从输⼊层到输出层,期间经过了卷积层,下采样层,全连接层,⽽数据在各层之间传递的过程中难免会造成数据的损失,则也就导致了误差的产⽣。⽽每⼀层造成的误差值是不⼀样的,所以当我们求出⽹络的总误差之后,需要将误差传⼊⽹络中,求得该各层对于总的误差应该承担多少⽐重。
反向传播的训练过程的第⼀步为计算出⽹络总的误差:求出输出层n的输出a(n)与⽬标值y之间为误差。计算公式为:
其中,为激励函数的导函数的值。
1.2.1全连接层之间的误差传递
求出⽹络的总差之后,进⾏反向传播过程,将误差传⼊输出层的上⼀层全连接层,求出在该层中,产⽣了多少误差。⽽⽹络的误差⼜是由组成该⽹络的神经元所造成的,所以我们要求出每个神经元在⽹络中的误差。求上⼀层的误差,需要出上⼀层中哪些节点与该输出层连接,然后⽤误差乘以节点的权值,求得每个节点的误差,具体如图所⽰:
图4-6 全连接层中误差的传递过程
1.2.2当前层为下采样层,求上⼀层的误差
在下采样层中,根据采⽤的池化⽅法,把误差传⼊到上⼀层。下采样层如果采⽤的是最⼤池化(max-pooling)的⽅法,则直接把误差传到上⼀层连接的节点中。果采⽤的是均值池化(mean pooling)的⽅法,误差则是均匀的分布到上⼀层的⽹络中。另外在下采样层中,是不需要进⾏权值更新的,只需要正确的传递所有的误差到上⼀层。
1.2.3当前层为卷积层,求上⼀层的误差
卷积层中采⽤的是局部连接的⽅式,和全连接层的误差传递⽅式不同,在卷积层中,误差的传递也是依靠卷积核进⾏传递的。在误差传递的过程,我们需要通过卷积核到卷积层和上⼀层的连接节点。求卷积层的上⼀层的误差的过程为:先对卷积层误差进⾏⼀层全零填充,然后将卷积层进⾏⼀百⼋⼗度旋转,再⽤旋转后的卷积核卷积填充过程的误差矩阵,并得到了上⼀层的误差。如图4-7为卷积层的
误差传递过程。图右上⽅为卷积层的向前卷积过程,⽽右下⽅为卷积层的误差传递过程。从图中可以看出,误差的卷积过程正好是沿着向前传播的过程,将误差传到了上⼀层。
图4-7卷积层的误差传递过程
马艺文1.3卷积神经⽹络的权值更新
1.3.1卷积层的权值更新
卷积层的误差更新过程为:将误差矩阵当做卷积核,卷积输⼊的特征图,并得到了权值的偏差矩阵,然后与原先的卷积核的权值相加,并得到了更新后的卷积核。如图4-8,图中可以看出,该卷积⽅式的权值连接正好和向前传播中权值的连接是⼀致的。和岳姆干的水直流
烟机备件
图4-8卷积核的权值更新过程
1.3.2全连接层的权值更新过程
全连接层中的权值更新过程为:
1、求出权值的偏导数值:学习速率乘以激励函数的倒数乘以输⼊值;
2、原先的权值加上偏导值,得到新的权值矩阵。具体的过程如图4-9所⽰(图中的激活函数为Sigmoid函数)。
图4-9全连接层的权值更新过程
她是我的朋友教学设计转载于:wwwblogs/hesi/p/9013328.html

本文发布于:2024-09-21 22:13:44,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/475019.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:卷积   误差   过程   传播
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议