1.背景
2. ZF Net模型结构
3. 改进优缺点
一、背景
ZF Net是用作者的名字命名的,Matthew D.Zeiler 和 Rob Fergus (纽约大学),2013年撰写的论文;
论文原网址https://arxiv.org/abs/1311.2901
论文名:Visualizing and Understanding Convolutional Networks
论文摘要:大型卷积神经网络在ImageNet上表现出优秀的性能。本文试图解决两个问题,这种模型为什么表现得如此优秀,以及如何改进模型。我们引入了一种新颖的可视化技术,深入了解中间特征层的功能和分类器的操作细节。可视化技术最终找到了一种比AlexNet性能更好的模型结构,还发现了模型的不同层次做出的性能贡献。
这篇文章模型是2013ImageNet分类任务的冠军,其网络结构没什么改进,只是调了调参,性能较Alex提升了不少。
ZF-Net只是将AlexNet第一层卷积核由11变成7,步长由4变为2,第3,4,5卷积层转变为384,384,256。这一年的ImageNet还是比较平静的一届,其冠军ZF-Net的名堂也没其他届的经典网络架构响亮。
二、ZF Net模型结构
补充:多通道卷积核卷积计算
下图是5* 5* 3被一个核的3* 3* 3=3* 3 *1
网络结构梳理
说明:论文中提出一种新的可视化技术,该技术可以了解中间特征图的功能和分类器的操作。
AlexNet第一层中有大量的高频(边缘)和低频(非边缘)信息的混合,却几乎没有覆盖到中间的频率信息。
由于第一层卷积用的步长为4,太大,导致了有非常多的混叠情况,学到的特征不是特别好看,不像是后面的特征能看到一些纹理、颜色等。
因此作者针对第一个问题将AlexNet的第一层的卷积核大小从11 *11改成7 *7。同时针对第二个问题将第一个卷积层的卷积核滑动步长从4改成2。同时,ZFNet将AlexNet的第3,4,5卷积层变为384,384,256。
区别是AlexNet用了两块GPU训练把3、4、5层分了两块,而我们的结构更紧密。
网络层简介 | 输入 | 核数量-卷积窗口-填充-步长 | 输出-激活函数 | 核数量-池化窗口-步长 | 输出-归一化 | 过拟合方法 |
---|---|---|---|---|---|---|
一 | 224 *224 *3 | 使用96个核7* 7 *3的卷积,padding=0,stride=2 | 110 *110 *96 | 最大池化3 *3-stride=2 | 55 *55 *96-LRN局部响应归一化,尺度5x5 | 无 |
二 | 55 *55 *96 | 使用256个核5* 5 *96的卷积,padding=0,stride=2 | 26 *26 *256 | 最大池化3 *3-stride=2 | 13 *13 *256-LRN局部响应归一化,尺度5x5 | 无 |
三 | 13 *13 *256 | 使用384个核3* 3*256的卷积,padding=1,stride=1 | 13 *13 *384 | 无 | 无-归一化 | 无 |
四 | 13 *13 *384 | 使用384个核3* 3*384的卷积,padding=1,stride=1 | 13 *13 *384 | 无 | 无-归一化 | 无 |
五 | 13 *13 *384 | 使用256个核3* 3*384的卷积,padding=1,stride=1 | 13 *13 *256 | 最大池化3 *3-stride=2 | 6 *6 *256-归一化 | 无 |
全连接层一 | 6*6 *256 | 使用4096个6×6×256的卷积核进行卷积 | 1x1x4096(—4096个神经元的运算结果通过ReLU激活函数中 | 无 | 无-归一化 | Dropout:随机的断开全连接层某些神经元的连接,通过不激活某些神经元的方式防止过拟合。drop运算后输出4096个本层的输出结果值 |
全连接层二 | 4096×1(4096个神经元) | 无 | 无-----4096个神经元的运算结果通过ReLU激活函数中 | 无池化 | 无-归一化 | 4096个数据与第七层的4096个神经元进行全连接,然后经由relu7进行处理后生成4096个数据,再经过dropout7处理后输出4096个数据 |
输出层 | 4096×1(4096个神经元) | 无 | 无-----4096个神经元的运算结果通过ReLU激活函数中 | 无池化 | 无-归一化 | 无 |