convolution参数详解
以2d卷积为例
torch.nn.Conv2d(in_channels,
out_channels,
kernel_size,
stride=1,
padding=0,
dilation=1,
groups=1,
bias=True,
padding_mode='zeros')
1.bias(偏置)
在深度学习中,偏置(bias)是指神经网络中每个节点的输出,除了输入和权重以外,还可以添加常数项。在卷积神经网络中,偏置通常被添加到卷积层和全连接层的每个输出通道(或节点)中。
偏置在神经网络中起到了一定的作用。具体来说,它可以帮助调整神经元的输出,使其更好地适应目标函数。举个例子,假设有一个二分类问题,当我们只使用权重但不使用偏置时,分类超平面只能通过原点,这是由于没有偏置项来调整阈值。但是,当我们在分类器中添加一个偏置项时,就能够通过增加偏置来调整分类超平面的截距,使之偏离原点,这样分类器就可以更好地适应数据。
因此,在神经网络中,偏置可以提高模型的表达能力,提高网络的拟合能力,使得神经元的激活更加灵活和准确,更好地处理不同的数据。
2.dilation(膨胀)
在深度学习中,膨胀卷积(dilated convolution)是一种特殊的卷积操作,它可以在不增加参数的情况下增加卷积层的感受野,从而提高卷积层的感受野和学习能力。dilation 的作用就是控制卷积核在输入张量上的采样步长。
在传统的卷积操作中,卷积核内各个元素之间的间隔都是 1。而被 dilation 修饰的卷积核,其各个元素之间的间隔会大于 1,可以理解为卷积核中间插了一些 0,这些 0 的数量就是 dilation rate。这种操作可以增加卷积层的感受野,从而可以更好地捕捉上下文信息,提高模型的表达能力。
举个例子,假设我们有一个卷积核大小为 3x3,如果它被应用于一张 10x10 的输入图像,那么它的感受野就是 3x3。如果我们在这个卷积核上加上 dilation rate=2 的参数,那么这个卷积核就变成了一个 5x5 的卷积核,其感受野变成了 5x5,即原来的 3x3 感受野加上了两个间隔。
因此,膨胀卷积可以通过增加采样步长,增加卷积层的感受野,可以更好地处理一些输入具有较大宽度和高度分辨率的图像,并从更广泛的上下文中提取特征。
3.padding(填充)
padding(填充)是指在输入数据周围添加一定数量的无意义的值(通常是0)以便于神经网络进行卷积操作,常用于卷积神经网络中。padding的作用主要有以下几点:
- 保持特征图的大小不变。在进行卷积操作时,卷积核会在输入图片上滑动,每次会取一部分像素进行计算。如果不做padding操作,卷积核可能会超出边界,导致输出的特征图尺寸变小。因此,padding可以在输入图片周围添加一圈无意义的像素,以保证输入和输出的尺寸一致,这对深度神经网络的训练非常重要。
- 增加特征图边缘信息。在进行卷积操作时,卷积核通常只能在特征图的中间部分取一部分像素进行计算。如果不做padding操作,边缘的像素很容易就被剪裁掉,导致信息损失。通过padding操作,可以增加特征图的边缘信息,从而提高网络的性能和效果。
- 扩大感受野。padding操作还可以减小卷积神经网络中的感受野大小。感受野(Receptive Field)是指卷积神经网络中一个输出特征图上的一个像素点在输入图像上的映射区域大小。padding可以在特征图周围添加一圈无意义的像素,从而扩大感受野大小,有助于提高网络对周围像素的感知能力。
- 避免信息丢失。在神经网络的前几层中,输入图片的信息被提取出来并传递到后面的层进行处理。如果不做padding操作,信息可能随着卷积操作被剪裁掉,导致信息丢失。通过padding操作,可以保留更多的信息,从而提高网络的性能和效果。
综上所述,padding操作在卷积神经网络中非常重要,它可以保证输入和输出的尺寸一致,增加特征图边缘信息,减小感受野大小,避免信息丢失,从而提高网络的性能和效果。
4.特征图尺寸计算
特征图尺寸 = (输入数据尺寸 + 2 * 填充 - 卷积核尺寸) / 步长 + 1
本文详细解释了卷积神经网络中的一些关键参数,包括偏置在调整模型输出和适应性中的作用,膨胀(dilation)如何增加感受野而不增加参数,以及填充(padding)如何保持特征图尺寸、增加边缘信息和扩大感受野,以提升网络性能。
4888

被折叠的 条评论
为什么被折叠?



