深度学习可视化反卷积deconv deconvolution到底如何实现,也是反向传播的卷积层梯度

网上帖子都是给一个2D的卷积图,其实并没什么用。


由于任务需要,我自己写一套反向传播,发现各种坑的地方,

这次介绍一下反卷积的实现。

我开始以为反卷积这样就可以permute(para_conv, [2 1 4 3]);

但直接这样是不对的。


实际需要,在4D卷积核最后两个channel维度(3 和 4)互换后,一定要把前面两维也做变换。

具体变换就是上下、左右各翻转一次。

可以用fliplr和flipud实现。


反向传播如果没有自动求导的代码,手写这部分东西繁琐的地方很多,毫无意义,根据欧拉-拉格朗日方程,这种方法本身就是不精确的,所以求出精确的导数函数解也没有意义,能梯度下降好,收敛就可以了。

如果以后算力高,不知道会不会把数值分析里面的高级求值方法引入,比如著名的四阶龙哥库塔法这些。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值