神经网络中的卷积和反卷积原理

一、二维卷积

在深度学习的过程中,很多神经网络都会用到各种卷积核来进行操作,那么我们就简单讲一下卷积的原理和实现过程。

那么卷积在神经网络中的作用是什么呢?一开始的传统神经网络是没有卷积层的,都是隐藏层加生全连接层的结构,这样在中间得到的特征都是线性的,不能提取到一个局部的特征。而卷积神经网络的出现解决了这个问题,通过对一个局部区域进行卷积操作得到这个局部区域的特征值传入下层大大提升了神经网络提取特征的能力,并且还减小了数据的大小。

那么看看卷积的过程:
在这里插入图片描述

可以看到这是一个3*3的卷积核在步长为1的方式遍历这个矩阵,卷积核与其遍历的覆盖区域进行一个点乘(其实是协相关)的运算得到一个值存入后面的矩阵,这样通过卷积核与数据矩阵的遍历运算就可以直接提取(局部感受野)一小块区域的特征,而不必像传统神经网络一样一个值一个值的提取。

卷积操作的计算方式如下:

已知

input size i
kernel size k
stride s
padding size p

则输出大小为
在这里插入图片描述

卷积计算公式

同样的上面这种具有缩放功能的卷积操作,如果这时候我们需要的是跟原来的数据一样大小矩阵传出要怎么做呢?这就是Padding的意义:

在这里插入图片描述
可以看到上图输入和输出都是一样大小的矩阵,因为我们在其外围加了一个大小为1 的Padding,这样就可以满足输入输出都是一样的。同理想要扩大或者缩小只要对外围Padding参数根据上面的公式进行调节即可。

二、三维卷积(RGB)

三维(RGB)图像做卷积:
在这里插入图片描述
具体过程:

图像维度6*6*3,卷积核的维度3*3*3(其中第三个参数是通道数,二者必须一致)

进行卷积计算的时候,图像与卷积核对应的通道做卷积运算,在将每个通道计算的结果(3个结果)相加,从而得到该区域像素的卷积值。最终得到一个4*4*1的矩阵。

三、反卷积

既然有卷积过程那么肯定也有反卷积的过程对不对。不然怎么进行卷积神经网络的反向传导呢?嘿嘿

反卷积通常用于将低维特征映射成高维输入,与卷积操作的作用相反。还是看图比较舒服是吧:
在这里插入图片描述
上图就是将卷积后的区域,反卷积后变成原来的矩阵,其实看推导看原理肯定是很烦很枯燥的,这里就不细说推导和原理了,那都是(线性代数)里的知识了,我们这里就讲讲怎么反卷积回去。

其实说来一句话就好了。-------对于反卷积过程,采用卷积过程转置后的滤波器(参数一样,只不过把参数矩阵水平和垂直方向翻转了一下),这样反着乘回去就行了。大家好好动笔体会一下这反卷积的神奇。嘿嘿

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绛洞花主敏明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值