卷积神经网络( CNN )

CNN前向传播和反向传播来自:https://www.cnblogs.com/pinard/p/6494810.htmlhttps://www.cnblogs.com/pinard/p/6494810.htmlhttps://www.cnblogs.com/pinard/p/6494810.html如何用全连接的方式理解卷积:

卷积神经网络( CNN )_第1张图片

卷积神经网络( CNN )_第2张图片

 卷积运算共享权重和偏置:每个隐层的神经元都有一个偏置和连接到它的局部感受野的5x5的权重,并且对这一层的所有神经元使用相同的权重和偏置。这一个隐层的所有神经元检测完全相同的特征,在输入图像的不同位置。这说明卷积网络可以很好地适应图片的平移不变性共享权重和偏置被称为卷积核或者滤波器

CNN的组件:

卷积神经网络是由:卷积层,激活函数,池化层(平均池化和最大池化 ) 以及全连接层构成。

卷积神经网络( CNN )_第3张图片

· 卷积层:(一个3D卷积核称为一个通道,每一层可以有多个卷积核)

卷积神经网络( CNN )_第4张图片

 卷积运算举例:  输入图片:32*32*3   卷积核大小:5*5*3  卷积核数量:6  输出特征图:28*28*6

卷积核里的元素一开始是随机初始化的,随着训练次数迭代,卷积核中的元素会越来越优化。如果卷积核比较小,获得的特征更加细腻,特征损失的就比较少,但是训练时间会比较慢,

池化作用是将图片进行压缩,加速训练的作用,但是会让我们的特征损失较多,最大池化会将图片中比较明显的特征凸显出来,平均池化会将每个区域共同特征凸显出来。

最后的输出特征图为什么是28*28*6, 因为卷积核数量是6,所以最终生成6通道特征图。

卷积神经网络( CNN )_第5张图片

 CNN卷积层大多数使用Relu()激活函数,可以明显改善梯度消失的问题。卷积中,使用Relu()函数的位置是该层卷积运算结束后使用Relu()函数,之后再连接池化层等层,依此类推。如果卷积步长大于1 , 卷积操作具有降维的作用,也就是卷积之后图片会缩小

CNN的池化层(最大池化):超参数有: 尺寸,步长。

最大池化:        (根据学者实验得到,最大池化比平均池化效果更好一点)                                                                                                        卷积神经网络( CNN )_第6张图片卷积神经网络( CNN )_第7张图片

 全连接层:

输出层属于全连接层,在输出层使用softmax()函数,将一个实数值向量压缩到(0,1)  所有元素和为1

卷积网络的前向传播:

 2. CNN输入层前向传播到卷积层 

一个3*3卷积核, 如果水平第一行大于零  列中其余参数等于0, 表示获得图片的水平特征,如:所以同一张图片,用多层网络,每层通过不同的卷积核,获得不同方向的卷积核卷积神经网络( CNN )_第8张图片

卷积神经网络( CNN )_第9张图片

 3. 隐藏层前向传播到卷积层

卷积神经网络( CNN )_第10张图片

 4. 隐藏层前向传播到池化层

卷积神经网络( CNN )_第11张图片

 5. 隐藏层前向传播到全连接层

卷积神经网络( CNN )_第12张图片

卷积网络反向传播运算:

卷积神经网络( CNN )_第13张图片

1. 想要反向传播,首先是将神经网络已经前向传播了,并且已经计算出损失函数 J 的值,

池化层反向传播:

卷积神经网络( CNN )_第14张图片

 卷积层反向传播计算:

卷积神经网络( CNN )_第15张图片

你可能感兴趣的:(深度学习,cnn,深度学习,人工智能)