卷积神经网络中的padding理解

这篇具有很好参考价值的文章主要介绍了卷积神经网络中的padding理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在进行卷积神经网络中,经常用到padding,padding在卷积神经网络中起到什么样的作用呢,又是如何发挥作用的呢?本文就此谈下自己看法。

代码中的显示

model.add(Conv2D(filters  = 32,kernel_size = [3,3],strides = [1,1],padding = 'same',input_shape = [6,6,3]))

通过上面的代码可以看到padding作为参数被使用。那么下面就简单说下关于padding的作用及其如何发挥作用的。

卷积层与卷积核

假设我们已经知道了卷积的工作原理,那么卷积核在对应的卷积层上通过滑动的方式遍历整个卷积层得到了特征参数。

参考图形如下:
卷积神经网络中的padding理解

上图是简单的卷积处理方式,我们假设原始图片的尺寸是6x6,卷积核的大小是3x3,滑动步长为1。

那么按照卷积核的滑动方式,我们得到的feature map的尺寸为 (6−3+1)×(6−3+1)=16,我们可以看到相比原来的6*6=36的图像小了很多。

因此,这样处理方式就会有如下缺点:

1、卷积后的矩阵越变越小

2、输入矩阵的边缘部分发生卷积的次数相比其它部分要少,这就意味着边缘信息的丢失。

padding解决

为了解决上面两个问题,可以对输入图像进行padding处理,即填充像素。

卷积神经网络中的padding理解
如上,先将66的图像进行填充,我们假设padding参数为1,则上图由66的图像就变成一个88的图像,再进行卷积就可以了。
参数padding的设置通常是卷积核的长度减一再除以2所得。如本文所用的卷积核为3
3,则padding的值计算为:(3-1)/ 2 = 1
卷积神经网络中的padding理解
可以看到上图在原始图像的边缘用了像素填充,像素填充后的尺寸变为8×8,卷积核的大小为3×3,步长为1,经过卷积操作之后得到的feature map的尺寸是(8−3+1)×(8−3+1)=6×6,feature map的尺寸和原始输入图像的尺寸是一样的。

这样就解决了feature map尺寸越来越小的问题。同时从图中可以看出,卷积核对边缘信息的处理不止处理了一次,对边缘信息的提取更加充分了。文章来源地址https://www.toymoban.com/news/detail-463466.html

到了这里,关于卷积神经网络中的padding理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习中的卷积神经网络

      博主简介 博主是一名大二学生,主攻人工智能研究。感谢让我们在CSDN相遇,博主致力于在这里分享关于人工智能,c++,Python,爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主,博主会继续更新的,如果有错误之处,大家可以指正。 专栏简介:   本专栏主要研

    2023年04月09日
    浏览(43)
  • 一维卷积神经网络理解(torch.nn.Conv1d)

    in_channels : (int)输入数据的通道数,即对某条训练数据来说由多少组向量表示。例如对于由一维向量表示的一条数据来说,通道数为1;对于文本数据来说,一个句子是由m个单词组成,那么通道数就可以是m out_channels : (int)卷积产生的通道数,可以理解为卷积核的个数 kernel_siz

    2023年04月08日
    浏览(42)
  • 卷积神经网络在图像识别中的应用

    卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习算法,广泛应用于图像识别、语音识别、自然语言处理等领域。卷积神经网络在图像识别中的应用得到了广泛的关注和研究。本文将介绍卷积神经网络在图像识别中的应用。 卷积神经网络是一种由多个卷积层和池化

    2024年02月16日
    浏览(39)
  • Python中的卷积神经网络(CNN)入门

    卷积神经网络(Convolutional Neural Networks, CNN)是一类特别适用于处理图像数据的深度学习模型。在Python中,我们可以使用流行的深度学习库TensorFlow和Keras来创建和训练一个CNN模型。在本文中,我们将介绍如何使用Keras创建一个简单的CNN模型,并用它对手写数字进行分类。 1. 准备

    2024年01月21日
    浏览(43)
  • 卷积神经网络中的卷积层、池化层、全连接层、softmax

    卷积层的作用是提取输入图片中的信息,这些信息被称为图像特征,这些特征是由图像中的每个像素通过组合或者独立的方式所体现,比如图片的纹理特征,颜色特征。 卷积操作类似于数学中的卷积,但是更加简单,计算机和我们看到的图像不一样,计算机看到的图像其实就

    2024年02月09日
    浏览(42)
  • PyToch 深度学习 || 3. 卷积神经网络 | 3.1 深度学习中的卷积操作

    加权求和是一种非常重要的运算,可以整合局部数字特征进而是提取局部信息的重要手段。这种加权求和的形式被称作卷积或者滤波,对于两个信号 f ( x

    2024年02月15日
    浏览(32)
  • 矩阵及其运算在卷积神经网络(CNN)中的应用与启发

    简介 👨‍💻个人主页:@云边牧风 👨‍🎓小编介绍:欢迎来到云边牧风破烂的小星球🌝 📋专栏:Python课程 🔑本章内容:CNN卷积神经网络 记得 评论📝 +点赞👍 +收藏😽 +关注💞哦~ 摘要 1. 引言 1.1 研究背景和意义 1.2 报告结构 2. 卷积神经网络(CNN)简介 2.1 CNN基本原理

    2024年02月04日
    浏览(35)
  • 卷积神经网络每一层输出的形状、通道数、特征图数量以及过滤器数量的理解与计算。

    参考: http://t.csdn.cn/8ApfD ‘http://t.csdn.cn/ZmEOJ 核心观点:  前一层的通道数(特征图数量),决定这一层过滤器的深度; 这一层过滤器的数量,决定这一层输出的通道数(特征图数量) 神经网络每一层输出矩阵的形状一般是4个维度[y1, y2, y3, y4] y1 通常是batch_size,就是每一圈丢

    2023年04月09日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包