卷积神经网络的padding(四)

本文探讨了深度学习中为解决边缘误差而采用的边界填充技术,通过填充确保边界点的计算次数与中间点一致。同时,介绍了参数共享的概念,用于减少模型参数数量,例如在卷积神经网络中,不同位置的特征图使用相同的权重,降低计算复杂性。此外,还简要提及了池化层的作用,它能压缩特征图并保持关键信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

边界填充

  • 弥补边缘点计算次数比中间少引起的边缘误差,使得边界点变成中间点在这里插入图片描述

计算公式

在这里插入图片描述

参数共享

  • 每个特征图的参数都是一样的,如10 * 55 * 3 有十个特征图参数,即每个特征用3层rgb提取, 所以参数总共 55*3 *10 = 750 个参数
  • 加上b的偏置项目, 10个特征有10个 所以总共参数为760个在这里插入图片描述

池化

  • 对每个特征图进行压缩,也叫压缩层,下采样。
  • 不改变特征图个数
  • 在这里插入图片描述
### 卷积神经网络Padding 的使用方法及作用 #### Padding 的定义与目的 Padding 是指在输入数据周围添加额外的像素层,通常这些像素被设置为零。这一操作的主要目的是为了控制输出特征图的空间维度大小以及保留更多的边界信息[^2]。 #### 输出尺寸计算公式 当处理一个 \( n \times n \) 大小的灰度图像并应用一个 \( f \times f \) 尺寸的滤波器时,在不考虑任何填充的情况下,经过一次标准卷积后的输出矩阵宽度和高度会变为: \[ W_{out} = (W_{in}-F+1)\div S + 1\] 这里 \(S\) 表示步幅(stride),即每次移动多少个单位;\( F \) 则代表过滤器(filter/kernel)边长。如果希望保持原始图片尺寸不变,则可以通过适当调整 padding 参数来实现这一点[^3]。 #### 常见类型的 Padding 方式 - **Valid Padding**: 不做任何形式上的补零扩展,默认情况下采用这种方式; - **Same Padding**: 添加适量数量的0值到周使得最终得到的结果能够维持原图象相同尺度,具体来说就是让 `output size` 和 `input size` 相等或接近相等。 #### 实际应用场景下的效果展示 以 TensorFlow/Keras 中构建 CNN 层为例: ```python from tensorflow.keras.layers import Conv2D, ZeroPadding2D model.add(ZeroPadding2D(padding=(1, 1))) # 显式的增加一层 zero-padding model.add(Conv2D(filters=64, kernel_size=(3, 3), strides=(1, 1), padding='same')) # 或者直接指定 'same' 来自动完成 padding ``` 上述代码片段展示了如何显式地向模型中加入零填充层或将卷积层内的 padding 参数设为 same ,从而确保输出形状不会因为卷积而缩小太多。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东哥aigc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值