ZFNet: Visualizing and Understanding Convolutional Networks

目录

  • 论文结构
  • 反卷积

ZFnet的创新点主要是在信号的“恢复”上面,什么样的输入会导致类似的输出,通过这个我们可以了解神经元对输入的敏感程度,比如这个神经元对图片的某一个位置很敏感,就像人的鼻子对气味敏感,于是我们也可以借此来探究这个网络各层次的功能,也能帮助我们改进网络。

论文结构

  1. input: \(3 \times 224 \times 224\), filter size: 7, filter count: 96, stride: 2, padding: 1, 我觉得是要补一层零的,否则输出是109而不是110-->ReLU --> maxpool: size: \(3 \times 3\), stride: 2, 似乎这里也要补一层零, 否则 \(\lfloor \frac{110-3}{2}+1 \rfloor=54\) --> contrast normalized;
  2. input: \(96 \times 55 \times 55\), filter size: 5, count: 256, stride: 2, padding: 0 --> ReLU --> maxpool: size: \(3 \times 3\), stride: 2, padding: 1--> contrast normlized;
  3. input: \(256 \times 13 \times 13\), filter size: 3, count: 384, stride: 1, padding: 1 --> ReLU
  4. input: \(384 \times 13 \times 13\), filter size: 3, count: 384, stride: 1, padding: 1 --> ReLU
  5. input: \(384 \times 13 \times 13\), filter size: 3, count: 256, stride: 1, padding: 1 --> ReLU --> maxpool: size: 3, stride: 2, padding: 0 --> contrast normlized?
  6. input: \(6 * 6 * 256\) -- > 4096 -- > ReLU -- > Dropout(0.5)
  7. input: 4096 -- > 4096 --> ReLU -- > Dropout(0.5)
  8. input: 4096 --> numclass ...

反卷积

网上看了很多人关于反卷积的解释,但是还是云里雾里的.

先关于步长为1的,不补零的简单情况进行分析吧, 假设:

input: \(i \times i\),
kernel_size: \(k \times k\) ,
stride: 1,
padding: 0

此时输出的大小\(o\)应当满足:
\[
i = k + o - 1 \Rightarrow o = i-k+1
\]

现在,反卷积核大小依旧为\(k'=k\), 那么我们需要补零\(c'\)为多少才能使得反回去的特征大小为\(i\).
即:
\[
2c' + o = k + i-1 \Rightarrow c'= k-1
\]
即我们要补零\(c'=k-1\).

如果stride 不为1呢?设为\(s\), 那么:
\[
i = k + s(o-1) \Rightarrow o = \frac{i-k}{s}+1
\]

按照别的博客的说话,需要在特征之间插入零那么:
\[
2c'+(s-1)(o-1) +o= k+s'(i-1)
\]

如果我们希望\(s'=1\)(至于为什么希望我不清楚):
\[
c' = k-1
\]

如果还有补零\(p\):
\[
i+2p = k+s(o-1)
\]
但是回去的时候我们是不希望那个啥补零的,所以:
\[
2c'+(s-1)(o-1) +o= k+s'(i-1)
\]
不变,
如果\(s'=1\), 结果为:
\[
c' = k-p-1
\]

最大的问题是什么,是why! 为什么要这样反卷积啊?

原文地址:https://www.cnblogs.com/MTandHJ/p/11231080.html

时间: 2024-08-25 01:24:06

ZFNet: Visualizing and Understanding Convolutional Networks的相关文章

0 - Visualizing and Understanding Convolutional Networks(阅读翻译)

卷积神经网络的可视化理解(Visualizing and Understanding Convolutional Networks) 摘要(Abstract) 近来,大型的卷积神经网络模型在Imagenet数据集上表现出了令人印象深刻的效果,但是现如今大家并没有很清楚地理解为什么它们有如此好的效果,以及如何改善其效果.在这篇文章中,我们对这两个问题均进行了讨论.我们介绍了一种创新性的可视化技术可以深入观察中间的特征层函数的作用以及分类器的行为.作为一项类似诊断性的技术,可视化操作可以使我们找到比

[论文解读]CNN网络可视化——Visualizing and Understanding Convolutional Networks

概述 虽然CNN深度卷积网络在图像识别等领域取得的效果显著,但是目前为止人们对于CNN为什么能取得如此好的效果却无法解释,也无法提出有效的网络提升策略.利用本文的反卷积可视化方法,作者发现了AlexNet的一些问题,并在AlexNet基础上做了一些改进,使得网络达到了比AlexNet更好的效果.同时,作者用"消融方法"(ablation study)分析了图片各区域对网络分类的影响(通俗地说,"消融方法"就是去除图片中某些区域,分析网络的性能). 反卷积神经网络(D

论文笔记 Visualizing and Understanding Convolutional Networks

之前,我知道可以可视化CNN,也只是知道有这么一回事情.至于它是"怎么做的.其原理是什么.给我们的指导意义是什么",也不清楚.说白了,就是我知道有"CNN可视化",仅仅停留在"知道"层面!但当自己需要运用.理解其他CNN可视化技术时,才晓得将这篇paper精读一下. Background 1)在很多分类任务中(如手写字符识别.人脸识别,以及极具挑战性的Imagenet Classification),CNN取得了极好的性能.但是,CNN是怎么做到

Visualing and understanding convolutional networks

这篇文章主要是基于Alex的CNN代码利用可视化技术将卷积神经网络每层学习到的特征以人眼可见的方式变现出来,即Feature Visualization,并试图提出改进.相当于是卷积神经网络的逆过程. 主要框架如下图: 主要利用到的技术有unpooling ,rectification,filtering(逆滤波) 主要的分析过程有: 1.Architecture Selection 发现的问题:The first layer lters are a mix of extremely high

Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)

摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有效的推理和学习产生相应尺寸的输出.我们定义并指定全卷积网络的空间,解释它们在空间范围内dense prediction任务(预测每个像素所属的类别)和获取与先验模型联系的应用.我们改编当前的分类网络(AlexNet [22] ,the VGG net [34] , and GoogLeNet [35] )到完

深度学习笔记(二)Very Deep Convolutional Networks for Large-Scale Image Recognition

Very Deep Convolutional Networks for Large-Scale Image Recognition 1. 主要贡献 本文探究了参数总数基本不变的情况下,CNN随着层数的增加,其效果的变化.(thorough evaluation of networks of increasing depth using an architecture with very small (3×3) convolution filters, which shows that a si

Very Deep Convolutional Networks for Large-Scale Image Recognition—VGG论文翻译

Very Deep Convolutional Networks for Large-Scale Image Recognition Karen Simonyan∗ & Andrew Zisserman+ Visual Geometry Group, Department of Engineering Science, University of Oxford {karen,az}@robots.ox.ac.uk 摘要 在这项工作中,我们研究了在大规模的图像识别环境下卷积网络的深度对识别的准确率

(转)A Beginner's Guide To Understanding Convolutional Neural Networks

Adit Deshpande CS Undergrad at UCLA ('19) Blog About A Beginner's Guide To Understanding Convolutional Neural Networks Introduction Convolutional neural networks. Sounds like a weird combination of biology and math with a little CS sprinkled in, but

A Beginner's Guide To Understanding Convolutional Neural Networks(转)

A Beginner's Guide To Understanding Convolutional Neural Networks Introduction Convolutional neural networks. Sounds like a weird combination of biology and math with a little CS sprinkled in, but these networks have been some of the most influential