1.卷积
就是利用卷积核 步长前进 卷积整个图片
2.反卷积
原图输入尺寸为【1,3,3,3】对应【batch_size,channels,width,height】
反卷积tconv = nn.ConvTranspose2d(3,3,3,stride=2,padding=1)
求反卷积的输出尺寸?
第一步:对输入的特征图做插值,在原先高宽方向的每两个相邻中间插上(Stride−1)列0,如下图所示,原来的尺寸为3*3,因为stride=2,则是在相邻行(列)之间插入(2-1)行(列)0
插入后的尺寸为为:height = height+(height-1)*(stride-1),这里也就是h=3+(2-1)(3-1)=5,即插值过后的 特征图为5*5
第二步:求新的卷积核设置
新卷积核的kernel_new不变为3,stride_new恒为1,padding_new =(kernel_size - padding - 1) = 1
第三步:用新的卷积核在新的特征图上做常规的卷积,得到的结果就是逆卷积的结果。
即在5*5的特征图上执行nn.conv(1,3,3,stride = 1,padding = 1),最后输出的特征图尺寸为:(5-3+2*1)/1+1=5
卷积核的确定方式主要有两种,一是通过双线性插值固定卷积核的参数,不随着学习过程更新;二是随机初始化,并随着学习过程更新。
3.上采样
4.下采样
反卷积=上采样=(转置卷积+微步卷积)⊆ 空洞卷积=一般意义上的广义卷积(包含上采样和下采样)。
卷积和下采样基本一致 只是卷积过程 卷积核本身带权重 有步长 下采样基本直接采取 没有权重约束
反卷积和上采样基本一致 只是反卷积过程 卷积核本身带权重 有步长 下采样基本直接采取 没有权重约束
总体而言 卷积类参数多 采样类参数极少
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)