CNN基础知识入门
吴恩达deeplearning之CNN—卷积神经网络入门
2.2经典网络
1、LeNet-5:
如图是一个用LeNet-5手写数字识别的案例,由于LeNet-5只针对灰度图像,所以输入图片只有1个深度(channel or depth)。
(1)过程:
卷积层:
6个5X5过滤器(卷积核),步长为1。Padding = 0(1998年没有padding)
池化:
平均池化(avg pool,那个年代更爱用平均池化),过滤器宽度f=2,步长s=2
卷积层:
16个5X5过滤器(卷积核),步长为1。Padding = 0
池化:
平均池化,过滤器宽度f=2,步长s=2
此时得到400个节点。
全连接层FC:
400个节点,每个节点有120个神经元。
全连接层FC:
120个节点,每个节点有84个神经元。
输出y:
现在更喜欢使用softmax产生10个输出。
(2)分析:
一共用到了6万个左右的参数,今天的神经网络很轻易的就产生上亿个参数。
随着神经网络的深入,可以看到图像的高度nH和宽度nW在减小,而深度(channel or depth)在增加。
可以看到典型的结果:卷积层(CONV)→池化层(POOL)→卷积层(CONV)→池化层(POOL)→全连接层(FC)→全连接层(FC)→输出(Output)
(3)论文参考:
论文推荐: Gradient-based learning applied to document recognition
阅读建议:
1)当时多用的是 sigmoid和tanh,很少用ReLU
2)关于当时nC(通道数)的取值方式现在基本不用。
3)精读第二段,泛读第三段。
2、AlexNet
(1)过程:
卷积层:
96个11X11过滤器(卷积核),步长为4。Padding = 0
池化:
最大池化(MAX-POOL),过滤器宽度f=3,步长s=2
卷积层:
256个5X5过滤器(卷积核)。使用same的Padding。
池化:
最大池化(MAX-POOL),过滤器宽度f=3,步长s=2
卷积层:
384个3X3过滤器(卷积核)。使用same的Padding。
卷积层:
384个3X3过滤器(卷积核)。使用same的Padding。
卷积层:
256个3X3过滤器(卷积核)。使用same的Padding。
池化:
最大池化(MAX-POOL),过滤器宽度f=3,步长s=2。此时得到9216个节点。
全连接层FC:
9216个节点,每个节点有4096个神经元。
全连接层FC:
4096个节点,每个节点有4096个神经元。
输出Output:
Softmax1000,输出1000个结果。
(2)分析:
AlexNet和LeNet很相似,但参数多了很多,有6000万个。当用于训练图像和数据集时,AlexNet能够处理非常相似的基本构造模块,这些模块通常包含大量的隐藏单元或数据。AlexNet使用了ReLU激活函数,这也是一个优势。
(3)论文参考:
论文推荐: ImageNet classification with deep convolutional neural network
阅读建议:
1)当时GPU还比较慢,文章采用了复杂的方法在两个GPU上训练,并进行关联交流。
2)使用了局部响应归一化层(LRN),这类层现在基本用不到。
影响:
这篇论文之后,计算机视觉群体开始重视深度学习。CNN翻身之作。
3、VGG-16
卷积层
均为3X3过滤器(卷积核),步长为1,使用same的Padding。池化层均为
最大池化,过滤器宽度f=2,步长s=2。(nH和nW会减半)
(1)过程:
卷积层:64个过滤器,连续作用2次。
池化层:使得nH和nW减半。
卷积层:128个过滤器,连续作用2次。
池化层:使得nH和nW减半。
卷积层:256个过滤器,连续作用3次。
池化层:使得nH和nW减半。
卷积层:512个过滤器,连续作用3次。
池化层:使得nH和nW减半。
卷积层:512个过滤器,连续作用3次。
池化层:使得nH和nW减半。
全连接层:4096
全连接层:4096
输出:Softmax函数,1000个输出。
(2)分析:
VGG-16中16的含义指的是一共有16个卷积层(13)和全连接层(3),一共有1.38亿个参数,参数数量非常多。
它结构不复杂,规整,可以看到卷积核从64到128到256到512,每次都是2倍的变化。
VGG-16和VGG-19效果不分高下,因此更多人用VGG-16。
(3)论文参考:
论文推荐:Very deep convolutional networks for large-scale image recognition














网友评论