前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >卷积神经网络的原理

卷积神经网络的原理

作者头像
Stanley Sun
发布2019-09-23 15:07:01
5710
发布2019-09-23 15:07:01
举报

在普通神经网络中,每个神经元都和临近层的所有神经元相连接,这称为全连接(full-connected).

在识别MNIST手写体的程序中,普通神经网络有784(28x28)个输入神经元。通过官方的训练数据和测试数据,模型能达到大约98%的准确率。但是,这种全连接方式不适合用在真正的图像识别上。原因是它没有考虑图像的特殊结构。比如,它把相距远点像素和相距近的像素同等对待。实际上,相距近的像素,相关性更高。

中实际的图像识别中,常用的是卷积神经网络。卷积神经网络有3个重要的概念: loal receptive field, shared weights 和 pooling. 这几个概念翻译过来很别扭,就直接用英文。

1.loal receptive field

在普通神经网络中国年,输入层的每个神经元(像素)都会连接到每一个隐藏层神经元。

在卷积神经网络中,只把一个小区域到像素连接到第一个隐藏层的神经元。这个小区域被称为local receptive field.

就一MNIST的28x28图像为例,采用5x5的区域,则第一个隐藏层会有24x24个神经元。(默认stride length=1). 若图片大,可以用大一点的local receptive field会比较好。

然后我们把local receptive field 向右移动一个像素,用它连接二个隐藏神经元。

一直这样移动下去。那么28x28的输入图像,5x5的local receptive fields,就会在隐藏层生成24x24个神经元。

2.shared weights and biases (共享权重和偏移量)

上例中,隐藏层的每一个神经元都有1个偏移量和5x5个权重。

对与24x24个神经元,卷积网络使用相同的权重和偏移量。

对于第j行第k列的隐藏层神经元,它的输出值是:

这种方法可以理解为:第一个隐藏层的所有神经元检测到相通的特征(feature),不同的只是检测的位置不同。

  • 特征(feature): 可以理解为能够导致神经元被激活(activate)的输入模式。它可能是图像的边框,或者某种形状的类别,等等。

假设我们能够分辨某一批权重和偏移量的含义,比如是垂直边框,那么,我们就能把这种特征的检测方法应用中图像的任何位置。

卷积网络还有个特性是适用于图像的平移不变性,即,把一张小猫的图像平移后,仍然是小猫。

  • 一些定义:
1. feature map: 从输入层到隐藏层的映射。
2. shared weights: feature map的权重
3. shared bias: feature map的偏移量
4. shared weight + shared bias能够定义一个kernal(或filter)

完整的卷积层,包含多个feature map.

上图有3个feature map, 每个feature map有5x5个shared weights,和1个 shared bias.

实际使用中,卷积网会有很多feature map。

shared weights + biases能够大大加少参数的数量。下面比较普通神经网络和卷积网的区别。

A: 上例若用普通神经网络,第一个隐藏层选中30个神经元,则这一层需要有28x28*30 + 30 =23550个参数。

B: 若用卷积网,选20个feature map. 则需要的参数为20x(5x5+1) = 520.

3.pooling layer (池化层)

池化层的作用是简化卷积层的输出。

上图把2x2的输入区域池化成一个单元。池化有好多方法,比如max-pooling, mean-pooling等等。上图用的是max-pooling.也就是将输入区的4个值进行比较,选择最大的值。

将上面所有概念合并到一起,组成完整的卷积网络,如下图所示:

相关文章

卷积神经网络的python实现

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.loal receptive field
  • 2.shared weights and biases (共享权重和偏移量)
  • 3.pooling layer (池化层)
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档