反卷积的实现原理(一)

反卷积是一种特殊的正向卷积,先按照一定的比例通过补 [公式] 来扩大输入图像的尺寸,接着旋转卷积核,再进行正向卷积。

1,卷积核反转
所谓反转,并不是线性代数中的转置操作,而是上下左右方向的递序操作。反转前后对比如下所示:
卷积核反转对比
2,对输入进行补0操作,补0个数为步长减1,如果步长为1,则不补0
假设反卷积的输入为3x3,步长为2,输出为6x6,补0后的矩阵为5x5
在这里插入图片描述

3,对补0后的输入矩阵再做整体补0。
以补0后的5x5输入矩阵作为输入,反转以后的卷积核作为权重,此时的stride参数变为1,按照普通卷积的pad计算方式计算padding的补0位置及个数,得到的补0位置要上下左右各自颠倒一下
pad_height = max((out_height -1) * stride_height + filter_height - in_height,0)
pad_width = max((out_width -1) * stride_width + filter_width - in_width,0)
pad_top = pad_height /2
pad_bottom = pad_height - pad_top
pad_left= pad_width/2
pad_right= pad_width - pad_left
以步骤2中的参数为例,得到的padding参数为pad_top=1,pad_bottom=2,pad_left=1,pad_right=2,颠倒以后为pad_top=2,pad_bottom=1,pad_left=2,pad_right=1,padding以后的矩阵如下
在这里插入图片描述
4,将补0后的矩阵作为输入,反转后的卷积核作为filter,进行步长为1的卷积操作即可完成反卷积的计算。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值