如何用全连接的方式理解卷积:
卷积运算共享权重和偏置:每个隐层的神经元都有一个偏置和连接到它的局部感受野的5x5的权重,并且对这一层的所有神经元使用相同的权重和偏置。这一个隐层的所有神经元检测完全相同的特征,在输入图像的不同位置。这说明卷积网络可以很好地适应图片的平移不变性。共享权重和偏置被称为卷积核或者滤波器
CNN的组件:
卷积神经网络是由:卷积层,激活函数,池化层(平均池化和最大池化 ) 以及全连接层构成。
· 卷积层:(一个3D卷积核称为一个通道,每一层可以有多个卷积核)
卷积运算举例: 输入图片:32*32*3 卷积核大小:5*5*3 卷积核数量:6 输出特征图:28*28*6
卷积核里的元素一开始是随机初始化的,随着训练次数迭代,卷积核中的元素会越来越优化。如果卷积核比较小,获得的特征更加细腻,特征损失的就比较少,但是训练时间会比较慢,
池化作用是将图片进行压缩,加速训练的作用,但是会让我们的特征损失较多,最大池化会将图片中比较明显的特征凸显出来,平均池化会将每个区域共同特征凸显出来。
最后的输出特征图为什么是28*28*6, 因为卷积核数量是6,所以最终生成6通道特征图。
CNN卷积层大多数使用Relu()激活函数,可以明显改善梯度消失的问题。卷积中,使用Relu()函数的位置是该层卷积运算结束后使用Relu()函数,之后再连接池化层等层,依此类推。如果卷积步长大于1 , 卷积操作具有降维的作用,也就是卷积之后图片会缩小
CNN的池化层(最大池化):超参数有: 尺寸,步长。
最大池化: (根据学者实验得到,最大池化比平均池化效果更好一点)
全连接层:
输出层属于全连接层,在输出层使用softmax()函数,将一个实数值向量压缩到(0,1) 所有元素和为1
卷积网络的前向传播:
2. CNN输入层前向传播到卷积层
一个3*3卷积核, 如果水平第一行大于零 列中其余参数等于0, 表示获得图片的水平特征,如:所以同一张图片,用多层网络,每层通过不同的卷积核,获得不同方向的卷积核
3. 隐藏层前向传播到卷积层
4. 隐藏层前向传播到池化层
5. 隐藏层前向传播到全连接层
卷积网络反向传播运算:
1. 想要反向传播,首先是将神经网络已经前向传播了,并且已经计算出损失函数 J 的值,
池化层反向传播:
卷积层反向传播计算: