目录

Sermanet P., Eigen D., Zhang X., Mathieu M., Fergus R., LeCun Y. OverFeat:integrated recognition, localization and detection using convolutional networks. In International Conference on Learning Representations (ICLR), 2014.

通常的sliding windows需要大量的计算量: 首先我们需要框出一个区域, 再将该区域进行判断, 当区域(windows)的数量很多的时候, 这么做是非常耗时的.

但是本文作者发现, 通过卷积, 可以将所有的区域一次性计算, 使得大量重复计算能够节省下来. 个人觉得还是非常有意思的.

主要内容

如上图所示, 第一行展示了对一个普通图片进行判断的过程:

  1. input: \(14 \times 14 \times *\), 经过\(5 \times 5\)的卷积核(stride=1, padding=0), 得到:
  2. \(10 \times 10 \times *\)的mappings, 再经过\(2 \times 2\)的pooling (stride=2, padding=0), 得到:
  3. \(5 \times 5 \times *\)的mappings, 到此为特征提取阶段;
  4. 接下来, 是分类器部分, 实际上, 原本是全连接层部分, 我们首先以全连接层的角度过一遍, 令\(d_1=5 \times 5 \times *\):
  5. 通过\(W \in \mathbb{R}^{d_2 \times d_1}\) 将特征映射为\(d_2\)的向量;
  6. 再通过\(W' \in \mathbb{R}^{C \times d_2}\) 将特征映射为\(C\)的向量(C表示类别数目);
  7. 既然全连接层是特殊的卷积, 4相当于
  8. \(d_1\)个\(5 \times 5\)的卷积作用于特征, 5相当于
  9. \(d_2\)个\(1 \times 1\)的卷积, 6相当于
  10. \(C\)个\(1 \times 1\)的卷积.

再来看第二行, 其输入为\(16 \times 16\)大小的图片, 输出是\(2 \times 2 \times C\), 而且蓝色部分之间是相互对应的. 设想, 我们将\(16 \times 16\)的图片通过sliding windows (stride=2)可以划分出四幅图片, 而这四个图片经过网络所得到的logits正好是最后输出的\(2\times 2\)中所对应的位置, 这意味着我们一次性计算了所有的windows, 但是计算量却并没有太多增加.

那么, 相应的windows是怎么划分的呢?

倘若网络每一层的核的stride为\(s_1, s_2, \cdots, s_k\), 那么windows之间的stride应该为

\[s_1 \times s_2 \times \cdots \times s_k.
\]

注: stride是固定的, 但是图片的大小不一定固定, 像ResNet, 由于全连接层前有一个average pooling的操作, 故我们可以传入大小不定的图片进去.

问: 但是有些卷积核还有padding的操作, 这个该如何理解呢?(小误差?)

OverFeat:Integrated Recognition, Localization and Detection using Convolutional Networks的更多相关文章

  1. 深度学习论文翻译解析(十一):OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks

    论文标题:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 标题翻译: ...

  2. 对 OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 一文的理解

    一点最重要的学习方法:  当你读一篇论文读不懂时,如果又读了两遍还是懵懵懂懂时怎么办???方法就是别自己死磕了,去百度一下,如果是很好的论文,大多数肯定已经有人读过并作为笔记了的,比如我现在就把我读过 ...

  3. 论文笔记:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks

    2014 ICLR 纽约大学 LeCun团队 Pierre Sermanet, David Eigen, Xiang Zhang, Michael Mathieu, Rob Fergus, Yann ...

  4. 论文笔记:《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks DeepLearning 》

    一.Abstract综述 训练出一个CNN可以同时实现分类,定位和检测..,三个任务共用同一个CNN网络,只是在pool5之后有所不同 二.分类 这里CNN的结构是对ALEXNET做了一些改进,具体的 ...

  5. VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION 这篇论文

    由Andrew Zisserman 教授主导的 VGG 的 ILSVRC 的大赛中的卷积神经网络取得了很好的成绩,这篇文章详细说明了网络相关事宜. 文章主要干了点什么事呢?它就是在在用卷积神经网络下, ...

  6. VGGNet论文翻译-Very Deep Convolutional Networks for Large-Scale Image Recognition

    Very Deep Convolutional Networks for Large-Scale Image Recognition Karen Simonyan[‡] & Andrew Zi ...

  7. 中文版 R-FCN: Object Detection via Region-based Fully Convolutional Networks

    R-FCN: Object Detection via Region-based Fully Convolutional Networks 摘要 我们提出了基于区域的全卷积网络,以实现准确和高效的目标 ...

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

    摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有 ...

  9. 【Semantic segmentation】Fully Convolutional Networks for Semantic Segmentation 论文解析

    目录 0. 论文链接 1. 概述 2. Adapting classifiers for dense prediction 3. upsampling 3.1 Shift-and-stitch 3.2 ...

随机推荐

  1. HDFS【Java API操作】

    通过java的api对hdfs的资源进行操作 代码:上传.下载.删除.移动/修改.文件详情.判断目录or文件.IO流操作上传/下载 package com.atguigu.hdfsdemo; impo ...

  2. Express中间件原理详解

    前言 Express和Koa是目前最主流的基于node的web开发框架,他们的开发者是同一班人马.貌似现在Koa更加流行,但是仍然有大量的项目在使用Express,所以我想通过这篇文章说说Expres ...

  3. jQuery无限载入瀑布流 【转载】

    转载至 http://wuyuans.com/2013/08/jquery-masonry-infinite-scroll/ jQuery无限载入瀑布流 好久没更新日志了,一来我比较懒,二来最近也比较 ...

  4. CR LF 的含义

    可以参考: 转载于:https://www.cnblogs.com/babykick/archive/2011/03/25/1995977.html

  5. idea如何在git上将分支代码合并到主干

    1.首先将idea中的代码分支切换到master分支,可以看到我们在dev上提交的代码 在master上是没有的 2.如图所示,在remote branch 上选择分支,点击后面的三角图标,展开之后选 ...

  6. JS 的三种定义变量 var let const

    Let 只在 let 命令所在的代码块内有效,在外就会报错 Let 是块级作用域,函数内部使用let定义后,对函数外部无影响 Let/const 不存在变量提升,使用前一定要声明后,在使用,否则会报错 ...

  7. 创建线程的第二种方式------实现Runnable接口的方式

    package cn.itcast.demo16.Demo07.Runnable;/** * @author newcityman * @date 2019/7/22 - 23:17 */public ...

  8. Docker从入门到精通(一)——初识

    1.Docker 是什么? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容 ...

  9. InnoDB学习(四)之RedoLog和UndoLog

    BinLog是MySQL Server层的日志,所有的MySQL存储引擎都支持BinLog.BinLog可以支持主从复制和数据恢复,但是对事务的ACID特性支持比较差.InnoDB存储引擎引入Redo ...

  10. CF250A Paper Work 题解

    Content 有 \(n\) 个数,要分成若干堆,要求每堆中的负数最多只能有两个.试求出分成的堆数最少是多少,并求出每一堆里面的数的个数. 数据范围:\(1\leqslant n\leqslant ...