卷积神经网络中的padding理解

首先看一下以下代码吧!from keras.layers import Conv2D,Dense,Flattenfrom keras.models import Sequentialmodel = Sequential()model.add(Conv2D(filters  = 32,kernel_size = [3,3],strides = [1,1],padding = 'same',input_shape = [6,6,3]))model.add(Flatten())model.add(Dense(units = 10,activation = 'softmax'))model.compile()model.fit()问题的来源是这样的,卷积层的基本实现原理不难,但是当看到代码中的参数padding的时候感觉不是很明白,这里简单写一下自己的理解。

上图是简单的卷积处理方式,假设原始图片的尺寸是6x6,卷积核的大小是3x3,滑动步长为1,那么按照卷积核的滑动方式,我们可以得到feature map的尺寸为 (6−3+1)×(6−3+1)(6−3+1)×(6−3+1),但是这样的处理方式会有两个缺点:1.卷积后的矩阵越变越小(如果卷积层100层,每一层都缩小最终得到的将是很小的图片)2.输入矩阵(左)边缘像素(绿阴影)只被计算过一次,而中间像素(红阴影)被卷积计算多次,意味着丢失图像角落信息。为了解决这两个问题,就对输入图像进行padding,即填充像素

可以看到上图在原始图像的边缘用了像素填充,像素填充后的尺寸变为8×88×8,卷积核的大小为3×33×3,步长为1,经过卷积操作之后得到的feature map的尺寸是 (8−3+1)×(8−3+1)=6×6(8−3+1)×(8−3+1)=6×6,feature map的尺寸和原始输入图像的尺寸是一样的。这样就解决了feature map尺寸越来越小的问题。同时从图中可以看出,卷积核对边缘信息的处理不止处理了一次,对边缘信息的提取更加充分了。padding有三种参数可以设定:参数介绍valid不填充,只删除最右边的列(或者最低端的行)same填充输入以使输出具有与原始输入相同的长度。尽可能两边添加同样数目的零列,如果要添加的列数为奇数个。那么让右边列的个数多一个即可。(竖直方向采用同样的方法)causal表示因果(膨胀)卷积

(0)

相关推荐

  • HALCON 20.11:深度学习笔记(9)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的异常检测. 通过异常检测,我们想要检测图像是否包含异常.异常指的是偏离常规的.未知的东西. 异常检测的例子:输 ...

  • 【连载12】带你看懂最早的卷积神经网络LeNet-5

    LeNet 诞生于 1994 年,是最早的卷积神经网络之一,并且推动了深度学习领域的发展 LeNet-5一共有8层:1个输入层+3个卷积层(C1.C3.C5)+2个下采样层(S2.S4)+1个全连接层 ...

  • 使用条件随机场(CRF)来提升图像分割的表现

    作者:Ihor Shylo 编译:ronghuaiyang 导读 一个基于TensorFlow的CRF用法和实现的简单介绍. 在一个理论上计算能力无限的现代世界,语义图像分割已经成为许多应用的关键方法 ...

  • CNN网络架构演进:从LeNet到DenseNet

    卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF ...

  • 收藏 | 理解卷积神经网络中的自注意力机制

    人工智能算法与Python大数据 致力于提供深度学习.机器学习.人工智能干货文章,为AI人员提供学习路线以及前沿资讯 22篇原创内容 公众号 点上方人工智能算法与Python大数据获取更多干货 在右上 ...

  • 盘点卷积神经网络中 6 种经典卷积操作!

    概述: 深度学习的模型大致可以分为两类,一类是卷积神经网络,另外一类循环神经网络,在计算机视觉领域应用最多的就是卷积神经网络(CNN).CNN在图像分类.对象检测.语义分割等经典的视觉任务中表现出色, ...

  • 卷积神经网络中的自注意力

    最近我在自己训练的墙体检测的网络中添加了自注意力,这提高了墙分割的dice分数.我写这篇短文是为了总结cnn的自注意力机制,主要是为了以后可以回顾一下我做了什么,但我也希望对你们有用. 为什么Self ...

  • 卷积神经网络中感受野的详细介绍

    目录: 感受野的概念 感受野的例子 感受野的计算 计算VGG16网络每层的感受野 Reference 1. 感受野的概念 在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络 ...

  • 卷积神经网络-Padding

    为了构建深度神经网络,你需要学会使用的一个基本的卷积操作就是padding,让我们来看看它是如何工作的. 我们在之前视频中看到,如果你用一个3×3的过滤器卷积一个6×6的图像,你最后会得到一个4×4的 ...

  • C++ 中的卷积神经网络 (CNN)

    重磅干货,第一时间送达 有很多卷积神经网络文章解释了 CNN 是什么以及它的用途是什么,而本文将用 C++ 编写一个 CNN 和一个名为 mlpack 的库来对MNIST数据集进行分类. 你们可能会问 ...

  • [深度学习]神经网络中 权重矩阵/卷积核 以及 (y=wx+非线性变换)输出值/特征图的本质理解

    文章目录 CNN权重矩阵和特征图理解 特征是什么 权重矩阵\滤波器理解 特征图\输出值理解 总结 基础知识 从线性分类器说起 损失函数 优化 梯度下降法 后向传播算法 神经网络-非线性映射 最近在学习 ...

  • 理解卷积神经网络的局限

    来源:https://bdtechtalks.com/2020/03/02/geoffrey-hinton-convnets-cnn-limits/,2020 AAAI中的keynote,Hinton ...

  • 斯坦福大学最新论文|知识图卷积神经网络在推荐系统中的应用

    推荐系统广泛应用于互联网应用和服务中.传统的协同过滤推荐算法通常会遇到用户-物品交互的稀疏性问题和冷启动问题,可以通过引入额外的信息来解决,如用户/物品属性信息和社交网络.近年来,为了解决上述问题,一 ...