一: 概论
CNN一般用于计算机视觉(CV)和自然语言处理领域(NLP)
在图像处理领域相对于传统网络的输入值为像素点,例如下图NN输入的是像素点,例如彩色图片32*32,则需要输入神经元(32*32*3)+1(bias),而在CNN中输入一整个图片即可(32*32*3)。
传统网络参数过多
二:整体架构
输入层--卷积层--池化层--全链接层
三:卷积层
用来特征提取
卷积膜的深度需要和输入图片的深度一样,每一个卷积核长和宽可以不一样,针对于不同的通道。
设输入图片n*n,卷积核为m*m,最终获得的长度为(n-m+1)*(n-m+1),其中Padding和step均为0。
在上图中可以看到有2组卷积核 ,每一组都会分别对图片进行卷积,每一组还会有一个bias参数,一组卷积结果最终合并成一个卷积核大小的矩阵(特征图,feature map)并会每个位置加上一个bias。
Padding作用:能够使得边界点对特征图的贡献和中心点类似。
每一个卷积后都会跟一个Relu,一般两次卷积一次池化。
Relu和池化不算在CNN层数中。
四:池化层
和下采样相同,一般减小为原来特征的四分之一。
一般使用Max Pooling
五:经典网络架构
AlexNet
VGG
ResNet
六:感受野以及为什么不用大的卷积核
其中括号里的C为输入通道数C,括号外的C为C个卷积核。