第一节我们讲了CNN中的LeNet和AlexNet,这次我们重点介绍一下VGG和GoogLeNet。
VGG是Visual geometry group的简称,它在2014年的ILSVRC比赛中获得第二名,比较常见的网络结构有VGG16和VGG19,这里的16和19代表卷积神经网络的层数。具体网络结构由输入层、卷积层、**层、池化层、全连接层组成。
VGG的结构特点:
卷积核都是由3*3的矩阵滑窗构成,相较AlexNet抽取更加细致的特征,而增加层深,使得感受野大小保持不变。
填充层。当输入图片与卷积核不匹配或卷积核超过图片边界时,可以采用边界填充的方法,即是图片的外围进行扩展,补一圈零。
池化层。有利于特征提取,减少计算量。常用的有平均池化层和最大池化层。
卷积的计算过程如下图所示:
注意:3*3*3代表卷积核的大小3*3,后面一个3代表RGB(红绿蓝)三个颜色通道。
最大池化层(2*2)如图所示:
VGG的具体结构,如图所示
通过keras搭建VGG 16网络(部分展示),如图所示:
但是VGG网络在图像处理方面也有缺点:占用大量现存和计算资源,耗费大量时间。
GoogLeNet是和VGG一同参加2014年ILSVRC竞赛,并成功夺得冠军。它是又Google团队开发的。
GoogLeNet网络特点:
-
Inception module是GoogLeNet网络的特色
通过前一层的输出到不同卷积核,对不同粗细粒度消息表达进行拼接求和,得到当前Inception的输出。
去除了全连接层。极大的减少了计算量,只需要五百万的参数量。
GoogLeNet网络结构图
长按♥一键关注