卷积神经网络基础总结

    xiaoxiao2021-04-16  33

    原文地址:卷积神经网络基础总结 作者:王江源 一、卷积的基本操作过程 卷积也称为滤波,是一种线性的信号处理技术。 二、卷积神经网络的卷积层结构 单层动态演示: 详见: https://cs231n.github.io/assets/conv-demo/index.html output = W*input + b 不同层之间的连接   三、卷积层参数之间的关系 卷积层的输入(不考虑Batch):3维张量H1×W1×D1,其中H、W为图像的高度和宽度,D1为图像的深度(如RGB通道,简单理解为图像的张数) 卷积核(kernal)的个数:K,通常为2的n次方 每个卷积核的维度大小:F,(真正的维度是F×F×D1) 卷积的步长:S,指的是卷积核每次滑动的距离 输入图像边缘的Padding: P 偏置的维度:等于卷积核的个数K 卷积层的输出:3维张量H2×W2×D2。 他们之间的关系如下: (1)输出特征图像的个数等于卷积核的个数:D2 = K (2)输出图像的宽度:W2 = (W1 - F + 2P)/S + 1 (2)输出图像的高度:H2 = (H1 - F + 2P)/S + 1 一个输出特征图共享一个卷积核参数和偏置。 可训练参数的个数:(F×F×D1 + 1)×K 四、Pooling(池化/降采样)过程 Pooling层一般用于降维,将一个k×k的区域内取平均或取最大值,作为这一个小区域内的特征,传递到下一层。传统的Pooling层是不重叠的,使Pooling层重叠可以降低错误率,而且对防止过拟合有一定的效果。 通常取2×2或3×3 Pooling, 该过程没有可训练的参数。 五、深度神经网络 1、深度革命中遇到的问题:  随着CNN网络的发展,尤其的VGG、GoogLeNet等网络的提出,大家发现网络的层数是一个关键因素,貌似越深的网络效果越好。但是随着网络层数的增加,问题也随之而来。   (1)第一个问题: vanishing/exploding gradients(即梯度消失或爆炸):这就导致训练难以收敛。但是随着 normalized initialization and BN(Batch Normalization)的提出,解决了梯度消失或爆炸问题。   (2)第二个问题:网络越深,训练误差和测试误差越大。在收敛问题解决后,又一个问题暴露出来:随着网络深度的增加,系统精度得到饱和之后,迅速的下滑。让人意外的是这个性能下降不是过拟合导致的。对一个合适深度的模型加入额外的层数导致训练误差变大。如下图所示,可通过Deep Residual Learning 框架来解决这种因为深度增加而导致准确性下降问题。 2、深度卷积网络的演变
    转载请注明原文地址: https://ju.6miu.com/read-672761.html

    最新回复(0)