卷积神经网络实例
- 经典卷积网络
- LeNet-5,1980年代的。
- AlexNet
- VGG-16
- 残差网络
- 1*1卷积
- Inception网络
经典卷积网络
LeNet-5,1980年代的。
该网络可以识别图片中的手写数字,是针对灰度图像训练的
AlexNet
首先使用一张2272273的图片做输入,第一层使用96个1111的过滤器,步长s为4,得到555596的输出,然后用33的过滤器,步长为2,进行最大池化操作,输出卷积层尺寸为272796,接着在使用55的过滤器,padding之后,输出的结果是2727256,然后在进行最大池化,33的过滤器,步长为2,得到1313256的输出,在进行padding操作,在进行池化,循环往复,最后得到一个66256的尺寸输出,将其展开得到一个包含9216数的向量,然后是一些全连接层,最后是一个softmax函数。
VGG-16
假设输入2242243的图片,使用64个33的过滤器,步长为1,进行两次卷积操作,输出结果是22422464.,然后池化层,将图像缩小到了11211264.然后又是128个过滤器,进行两次卷积操作得到112112128尺寸的输出,接着是池化层得到56 56128,接着用256个过滤器进行三次卷积操作,得到5656*256的输出。循环往复,最后得到的输出如下:
残差网络
- ResNet是由残差块构成的。其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题
- 残差块:如下图所示,是一个两层神经网络,在第l层进行激活,得到a(l+1)再次进行激活,最后得到a(l+2)。
然后有时a【l】还会直接跳到第l+2层进行计算,于是便得到了a【l+2】=g【z【l+2】+a【l】】。这种连接方式,称为跳远连接(skip connection),或简称为捷径(short cut),这就构成了残差块。
最后形成的残差网络就是使用很多的残差块在普通神经网络中,如下所示,会有一些a【l】进行跳跃到后边的神经网络层中进行运算。下图中共有5个残差块。
1*1卷积
假设使用下图所示11的过滤器,里边的数字是2,相当于对输入66的矩阵乘以数字2,很明显用处不大。
如果是一张6632的图片,使用1*1的过滤器进行卷积效果更好。相当于给32个信道应用了全连接。
Inception网络inception模块的作用是代替人工来确定卷积层中的过滤器类型。或者确定是否需要创建卷积层或池化层。