1d/2d/3d卷积
卷积运算:
卷积核在输入信号(图像)上滑动,相应位置上进行乘加
卷积核:
又称滤波器,过滤器,可认为是某种模式,某种特征
卷积过程:
类似于用一个模板去图像上寻找与它相似的区域,与卷积核模式越相似,激活值越高,从而实现特征提取
AlexNet卷积核可视化,发现卷积核学习到的是边缘,条纹,色彩这一些细节模式
卷积维度:
一般情况下,卷积核在几个维度上滑动,就是几维卷积
卷积-nn.Conv2d()
nn.Conv2d(#对多个二维信号进行二维卷积
in_channels,#输入通道数
out_channels,#输出通道数,等价于卷
积核个数
kernel_size,#卷积核尺寸
stride=1,#步长
padding=0,#填充个数
dilation=1,#空洞卷积大小
groups=1,#分组卷积设置
bias=True,#偏置
padding_mode='zeros'
)
转置卷积-nn.ConvTranspose
转置卷积又称为部分跨越卷积(Fractionally-strided Convolution) ,用于对图像进行上采样(UpSample)
正常卷积:
假设图像尺寸为4*4,卷积核为3*3,padding=0,stride=1
图像:I𝟏𝟔∗𝟏
卷积核:K𝟒∗𝟏𝟔
输出:O𝟒∗𝟏 = K𝟒∗𝟏𝟔 ∗ I𝟏𝟔∗𝟏
转置卷积:
假设图像尺寸为2*2,卷积核为3*3,padding=0,stride=1
图像:I𝟒∗𝟏
卷积核: K𝟏𝟔∗𝟒
输出:O𝟏𝟔∗𝟏 = K𝟏𝟔∗𝟒 ∗ I𝟒∗𝟏
nn.ConvTranspose2d(#转置卷积实现上采样
in_channels,#输入通道数
out_channels,#输出通道数
kernel_size,#卷积核尺寸
stride=1,#步长
padding=0,#填充个数
output_padding=0,
groups=1,#分组卷积设置
bias=True,#偏置
dilation=1,#空洞卷积大小
padding_mode='zeros'
)