有关卷积神经网络的一点看法

事实上,个人认为卷积神经网络主要分成两个部分,第一部分是对于数据的处理,这里再细分的话就会分出卷积层以及池化层。第二部分是网络层,这里我们可以使用传统的网络,比如全连接的前馈神经网络。

1:卷积

对于第一部分,如果你学过图像处理这个东西的话,那么这部分对你来讲并没有那么难。因为卷积的实质就是滤波,而池化的实质是最大值滤波(亦或均值滤波)。在卷积的时候,你选取的滤波模板(即卷积核)不一样,那么你提取出来的特征也会不一样。譬如模板:
[-1,-1,-1;
-1,8,-1;
-1,-1,-1]
这个模板是对我们图像的边缘进行提取,这里就不再细讲了。
如下我们针对一个66的灰度图像,构造一个检测垂直方向边缘的33的矩阵,在卷积神经网络中通常称之为filter,对这个66的图像进行卷积运算,以左上角的-5计算为例
3
1+00+1-1+11+50+8*-1+21+70+2*-1 = -5
在这里插入图片描述
其它的以此类推,让过滤器在图像上逐步滑动,对整个图像进行卷积计算得到一幅4*4的图像。
需要注意的是,如果我们的输入是三个通道,那么我们卷积核也相应的是三通道的,我们对每一个通道进行卷积之后然后将相同位置的卷积后的数据进行求和运算即可。
这里附上一个卷积的GIF链接,大家可以看一下
http://cs231n.github.io/assets/conv-demo/index.html
注:我们在卷积的基础上添加了一个padding的概念。即为了对图像的所有地方进行卷积,我们可以在图像的最外圈添加一圈0,方便我们的进一步运算,这样也能保证我们卷积后的图像与原来的图像同尺寸。

2:池化

对于池化,其实现方式与卷积类似。作用是为了防止我们的数据量过大,从而出现了过拟合的现象发生。我们在池化层通常采取的手段是最大值池化亦或均值池化。对应图像处理上的最大值滤波(图像的膨胀)以及均值滤波(图像平滑)。
这里我们选择了22的过滤器,步长为2。
在这里插入图片描述
以下是一个过滤器大小为3
3,步长为1的池化过程,具体计算和上面相同,最大池化中输出图像的大小计算方式和卷积网络中计算方法一致,如果有多个通道需要做池化操作,那么就分通道计算池化操作。
在这里插入图片描述

3:运算

好了,完成了以上两个步骤(即我们不断的卷积池化缩小数据规模)后,我们可以使用前馈网络等进行下一步的运算。这里前馈网络如何进行运算,大家可以参考我的这篇文章https://mp.csdn.net/mdeditor/85778376#或者看一下别人讲的前馈网络的运算,相信对大家会有启发。

最后,附上一个CNN处理数字7的一个实例,大家可以看一下

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值