1 给我背住
【卷积计算公式】
【反卷积计算公式】
【其实只用记住卷积的计算公式就行了,反卷积的可以从卷积中的推导出来】
2 为什么是这样算
2.1 卷积
其实晚上很多都是仅仅告诉你,计算公式是:
这里简单的来讲解一下为什么。
【
】这个就是原来的图片,外面加了一圈padding,因为padding是一圈,所以左右、上下都有,所以是两倍的。
【
】是计算kernel要走多少步。来举个例子就好理解了:
图中是input为7,然后kernel_size为3,podding是1的一个例子。从下图中可以看出来,kernel总共要走6步
这个六步,就是
的含义,kernel要滑动的步数。
那么stride就是步长,如果是2的话,那么kernel移动就是这样的(如下图):
就变成3步了。那么为什么计算公式最后还要加上1呢?就是在kernel还没有迈出步子的时候,最开始的处于左上角的那个位置,也是一个点。
【总结:卷积输出尺寸计算的时候,前面的分式,就是计算卷积核可以走几步,然后再加上卷积核的初始位置,就是输出尺寸了】
来看个正经的例子:
【这个例子展示了,如果输入尺寸是一个偶数,卷积核是奇数的情况,如何计算——向下取整】
2.2 反卷积
其实反卷积就是另外一种形式的卷积。
反卷积中,stride就是在相邻元素之间添加stride-1个0元素
从图中可以看到,假设输入图片是3*3的,假设反卷积的stride为2,那么输入图像其实就是5*5的。
所以,实际的输入图像应该是:
剩下的内容就和之前一样了,执行卷积的过程,不过反卷积的stride是用在扩展输入图像上的,而不是kernel移动的步长,所以反卷积中kernel步长永远是1.
所以计算公式如下,先把
带入
得到:
【总结:反卷积中,就是先扩展输入input的尺寸,然后再去卷积】
2.3 两个例题
输入尺寸input=2,kernel_size=3,stride=1,padding=2,计算反卷积的输出尺寸?
【答案:output=4】
输入尺寸input=3,kernel=3,stride=2,padding=1,计算反卷积的输出尺寸?
【答案:output=5】
喜欢的话,长按下面的二维码关注下【机器学习炼丹术】,成为炫酷的炼丹师吧!公众号中回复【下载】有免费的精选的机器学习相关的学习资料哦,并且持续更新!