卷积
设输入大小为
n
×
n
n×n
n×n,卷积核大小为
w
×
w
w×w
w×w,步长为
s
s
s,无填充,则输出大小为:
(
n
−
w
)
/
s
+
1
(n-w)/s+1
(n−w)/s+1
注意我们这里讲的卷积方式等效为valid,即默认无填充。
假设padding为p,我们可以先计算padding之后的输入大小,然后再对padding之后的矩阵采用valid卷积,此时输出大小为:
(
n
+
2
p
−
w
)
/
s
+
1
(n+2p-w)/s+1
(n+2p−w)/s+1
参考文献:
[1] 深度学习基础 (十五)–padding,卷积步长与简单卷积神经网络示例
[2] 反卷积和卷积的输出和输入尺寸关系
[3] 卷积,特征图,转置卷积和空洞卷积的计算细节 (包含多通道卷积的计算方法)
空洞卷积
上采样
上采样的三种方式:双线性插值(bilinear)、反卷积(Transposed Convolution)和反池化(Unpooling)
转置卷积
假设卷积操作参数为
(
i
,
k
,
s
,
p
)
(i,k,s,p)
(i,k,s,p),根据上述式子可以获得卷积输出大小为:
i
′
=
(
i
−
k
+
2
p
)
/
s
+
1
i^{'}=(i-k+2p)/s+1
i′=(i−k+2p)/s+1
然后我们将
(
i
′
,
k
,
s
,
p
)
(i^{'},k,s,p)
(i′,k,s,p)作为反卷积操作的参数,从卷积后的图像恢复原始图像大小,因此反卷积后的输出大小满足上述关系:
i
=
s
(
i
′
−
1
)
+
k
−
2
p
i=s(i^{'}-1)+k-2p
i=s(i′−1)+k−2p
待解决疑点:反卷积似乎执行的也是卷积操作??按卷积方式计算卷积结果大小好像又不满足上述式子,所以反卷积到底是怎么做的???
参考文献:
[1] 反卷积(Deconvolution)、上采样(UNSampling)与上池化(UnPooling)
[2] 什么是转置卷积(反卷积)
[3] 反卷积原理不可多得的好文