1 CNN(Convolutional Neural Networks)卷积神经网络基础
卷积和池化的示意图:
蓝色矩形:输入尺寸n=5,5x5的图片
绿色矩形:输出尺寸计算:(n+2p-f)/s +1 = (5+2x1-3 ) /2 +1 = 2+1= 3 得到3x3的输出
动态阴影:过滤器(filter)f=3,3x3的卷积核、 步长(stride) s=2 、(虚线区域)边缘(padding ) p=1
卷积和池化不同在过滤器的内部取值不同
卷积时动态阴影:过滤器内部数值随意设置
池化时动态阴影:过滤器内部数值固定设置,最大池化max pool去最大值,平均池化avg pool取均值
卷积核的个数可以自定义,代表输出尺寸的通道数
2 CNN的几种经典模型
LeNet-5,1989年,最早期的CNN网络
输入图片(宽,高,通道数),两层卷积和池化连续降低宽高,升高了通道数,最后全连接层FC,120维降维到84,为了减小softmax分类的计算成本(那个时代的论文的模型设计,要结合当时的计算机发展水平来理解)
AlexNet,2012年,Imagenet大赛冠军
同样通过卷积和池化降低宽高升通道,但是第一层和第二层之间,设置了padding=same为了保证输入和输出尺寸相同,二、三层之间也一样设置。接着做了一个宽高和通道一模一样的卷积,然后再降宽高和通道数,最后FC降维softmax分类。
随着计算机发展,采用更深层的卷积网络,两片GPU同时训练,分担计算量。
VGG,2014年,Imagenet大赛亚军
卷积方式的变化:设置两个相同的卷积,升高了通道,再通过池化降宽高的思想,而且均是成倍的降低和升高。
网络层数逐渐加深,计算量也一定随之升高,深层网络的必须要解决的问题。
GoogLeNet,2014年,Imagenet大赛冠军
模型整体是由多个Inception V1结构组成
左图为采用Inception结构之前,28x28x192 x 5x5x32,计算量巨大。
右图为Inception结构之后,28x28x192 x 1x1x16 x 5x5x32,计算量小一些,有个1x1和通道数过渡。
Inception通过卷积方式设计减小计算量,Inception v2,v3,v4 对v1进行优化,用更小的卷积代替5x5、3x3
ResNet,2015年,残差网络
残差网络由残差块组成,a[l]直接传递给a[l+2],保证信息可以传递到长距离
残差设计主要解决深层网络的问题,通过跳远连接减小计算量,即使层数深训练也可以保证顺利进行
CNN系类演化方向:
下面图片参照博客:http://blog.csdn.net/cyh_24/article/details/51440344
CNN系列扩展内容,转载这篇博客:
https://blog.csdn.net/loveliuzz/article/details/79080194