卷积神经网络CNN

卷积神经网络

图像处理中,往往会将图像看成是一个或者多个二维向量,传统的神经网络采用全联接的方式,即输入层到隐藏层的神经元都是全部连接的,这样做将导致参数量巨大,使得网络训练耗时甚至难以训练,而CNN则通过局部链接、权值共享等方法避免这一困难。

局部连接(Sparse Connectivity)与权值共享(Shared Weights)

下图是一个很经典的图示,左边是全连接,右边是局部连接。

 

卷积神经网络

Lenet-5是Lecun大神在1998年提出的卷积网络模型,共有7层(除输入层)。本文主要详细介绍卷积层与池化层,及其在caffe中的网络描述,最后介绍Lenet-5网络在数字识别方面的应用。

Lenet网络结构:

 

 

https://upload-images.jianshu.io/upload_images/1531909-2f884eb5cbf1a7a2.png?imageMogr2/auto-orient/

预处理

去均值:把输入数据各个维度都中心化到0

归一化:幅度归一化到同一范围

 

卷积操作

卷积特征提取的过程

卷积核为3x3,则 3×3 的数据作为输入,且假设这个隐藏层有 k 个单元(每个单元也被称为一个卷积核 - Convolution Kernel,由对应的权值向量 W 和 b 来体现)。

每个隐藏单元的输入是用自己的权值向量 W 与 3×3 的小图做内积,再与偏置相加得到的:

http://static.oschina.net/uploads/space/2015/1223/175518_yszG_1047422.png

假如深度网络的输入是 5×5 的大图,SAE 要从中提取特征,必须将 5×5 的大图分解成若干 3×3 的小图并分别提取它们的特征。分解方法就是:从大图的 (1, 1)、(1, 2)、(1, 3)、...  、(3, 3)等 9 个点开始分别作为小图的左上角起点,依次截取 9 张带有重合区域的小图,然后分别提取这 9 张小图的特征:

http://static.oschina.net/uploads/space/2015/1223/180136_TjjU_1047422.gif

所以,每个隐藏单元将有 9 个输入,不同于之前的 1 个。然后将所有输入分别导入激活函数计算相应的输出,卷积特征提取的工作就完成了。

池化(Pooling)

池化过程

在隐藏层这个矩阵上划分出几个不重合的区域,然后在每个区域上计算该区域内特征的均值或最大值,然后用这些均值或最大值参与后续的训练,这个过程就是【池化】。

http://static.oschina.net/uploads/space/2015/1224/164140_4LOW_1047422.gif

池化的优点

  1. 显著减少了参数数量
  2. 池化单元具有平移不变性 (translation invariant)

有一个 12×12 的 feature map (隐藏层的一个单元提取到的卷积特征矩阵),池化区域的大小为 6×6,那么池化后,feature map 的维度变为 2×2。

http://static.oschina.net/uploads/space/2015/1224/124454_bTYu_1047422.png

假设原 feature map 中灰色元素的值为 1,白色元素的值为 0。如果采用 max pooling,那么池化后左上角窗口的值为 1。如果将图像向右平移一个像素:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值