(CNN)卷积神经网络(三)-理解卷积操作

第一篇文章介绍了卷积神经网络的数据输入形式和权值的初始化:CNN)卷积神经网络(一)
第二篇文章介绍了卷积操作,常用的激活函数(CNN)卷积神经网络(二
下面来看一下接下来的层级结构:
这里写图片描述

1-池化层(pooling layer)

由第一张图可以看到池化层压在卷积层中;因为做完卷积操作之后,还是有很大的数据量级,为了减少参数的数量,降低计算机资源消耗,同时缓解过拟合,通常会抽取大部分重要的数据出来,用来表征整张图片,而其他的就会去掉。其实这么做就是为了保留有效的数据(信息)。
这里写图片描述如图,昨晚下采样之后,图片数据的维度就从224X224X64降为112X112X64了。

那pooling layer 具体是怎么实现的呢?
为了保留图片的大部分信息,一般会采用max操作,也就是在2X2的区域内的四个数,取最大值。
这里写图片描述
另一个操作就是取average,求这2X2的区域的平均值嘛!

2- FC(全连接层)

两层之间都有权重连接,通常全连接层在卷积神经网络的尾部。
主要是因为如果下采样层采样的太猛了,可以通过这一层进行重新拟合出来。
这一层并不是一定要的,但也有把全连接层拿掉的,比如Googlenet.

最经典的卷积神经网络是:

[[]N]M[FCRELU]KFC

3-可视化理解

第一个卷积层
左边的filter,右边是昨晚卷积操作之后得到的。
这里写图片描述
你会发现,不同的神经元关注的点不一样,有的是关注它的轮廓,有的是关注它的形状,有的是关注它的颜色,最后每个filter得到的结果合起来就是这个卷积层对整张图片的理解了。

  • 举个小栗子,就像一堆人同时看一个美女一样,有的人关注胸,都有的人关注腿,有的人关注眼睛,有的关注头发,然后把所有人对于这个美女的关注点都综合起来,就可以画出这个美女大概是什么样子的。

第二个卷积层
这是第二个卷积层
这里写图片描述
貌似我们已经不明白它到底是在干嘛了,但卷积神经网络就是通过这样的操作,最终有了图像识别的能力。

4- CNN的训练算法

同一般的机器学习一样,卷积神经网络也是先定义损失函数,来衡量预测出来的和实际结果之间的差别,最小化损失函数中W和b,CNN用的优化算法是SGD,这个SGD默认分批的,CNN也用BP算法来求偏导,值得一提的是,在下采样层的偏导该怎么求呢?

下采样的函数如果采用max的话,函数可以表示为:

max(x1,x2,x3,,xn)
因为这个函数是分段函数,所以求导数也是分段求的,假如 x3 是最大值,那就可以得到 [0,0,1,,0] 的向量表示。
在此不详细说了,这个还是比较麻烦的。

说一下它的优点

  • 对高维的数据处理无压力,因为有共享卷积核
  • 不用手动抽取特征,训练好权重后,就可以得到特征
  • 深层次的网络抽取图像信息丰富,表达的效果也很好

缺点

  • 卷积神经网络乃至其他的神经网络,都有一个大问题,就是没有具体的物理含义在,里面做了什么不知道,就像一个黑箱。
  • 需要调参数,和非常大的数据量来训练,GPU是必须的

5-从数学的角度理解卷积

前面说了卷积神经网络没有具体的物理含义,但在数学上,很早就有卷积的定义了,所以我想从数学这个角度,给大家提供一个理解卷积的思路。

卷积和的定义如下:

y(t)=x(t)h(t)=τ=x(τ)h(tτ)(1)
x(t)h(t)=x(τ)h(tτ)dτ=
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值