专栏首页人工智能LeadAILeNet5的基本结构 | 卷积神经网络

LeNet5的基本结构 | 卷积神经网络

在机器视觉,图像处理领域,卷积神经网络取得了巨大的成功。本文将参考UFLDL和DEEPLEARNING.NET的教程,结合自己的理解,梳理一下卷积神经网络的构成以及其BP算法的求解。虽然利用theano可以方便的实现LeNet5,但是不利于学习和理解卷积神经网络,所以最后会自己动手用python实现一个简单的LeNet5,并尝试利用python的PyCUDA库进行加速。

首先看LeNet5的结构,如下图所示(来自Yann LeCun的论文)。

对于卷积层,其计算公式为

其中K表示由L层到L+1层要产生的feature的数量,表示“卷积核”,表示偏置,也就是bias,令卷积核的大小为5*5,总共就有6*(5*5+1)=156个参数,对于卷积层C1,每个像素都与前一层的5*5个像素和1个bias有连接,所以总共有156*28*28=122304个连接(connection)。

对于LeNet5,S2这个pooling层是对C1中的2*2区域内的像素求和再加上一个偏置,然后将这个结果再做一次映射(sigmoid等函数),所以相当于对S1做了降维,此处共有6*2=12个参数。S2中的每个像素都与C1中的2*2个像素和1个偏置相连接,所以有6*5*14*14=5880个连接(connection)。

除此外,pooling层还有max-pooling和mean-pooling这两种实现,max-pooling即取2*2区域内最大的像素,而mean-pooling即取2*2区域内像素的均值。

LeNet5最复杂的就是S2到C3层,其连接如下图所示。

前6个feature map与S2层相连的3个feature map相连接,后面6个feature map与S2层相连的4个feature map相连接,后面3个feature map与S2层部分不相连的4个feature map相连接,最后一个与S2层的所有feature map相连。卷积核大小依然为5*5,所以总共有6*(3*5*5+1)+6*(4*5*5+1)+3*(4*5*5+1)+1*(6*5*5+1)=1516个参数。而图像大小为10*10,所以共有151600个连接。

S4是pooling层,窗口大小仍然是2*2,共计16个feature map,所以32个参数,16*(25*4+25)=2000个连接。

C5是卷积层,总共120个feature map,每个feature map与S4层所有的feature map相连接,卷积核大小是5*5,而S4层的feature map的大小也是5*5,所以C5的feature map就变成了1个点,共计有120(25*16+1)=48120个参数。

F6相当于MLP中的隐含层,有84个节点,所以有84*(120+1)=10164个参数。F6层采用了正切函数,计算公式为,

输出层采用了RBF函数,即径向欧式距离函数,计算公式为,

以上就是LeNet5的结构。

本文分享自微信公众号 - 人工智能LeadAI(atleadai),作者:蘑菇街莲华

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-09-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 计算机视觉中 RNN 应用于目标检测

    深度学习在计算机视觉领域取得的巨大的发展,最近几年CNN一直是目前主流模型所采取的架构。最近半年RNN/LSTM应用在识别领域逐渐成为一种潮流,RNN在获取目标...

    用户1332428
  • 透析 | 卷积神经网络CNN究竟是怎样一步一步工作的?

    视频地址:https://www.youtube.com/embed/FmpDIaiMIeA; 文档参阅:<a href="https://github.com...

    用户1332428
  • GoogLeNet的心路历程(三)

    本文主要介绍GoogLeNet续作二,inception v3。说实话,Szegedy这哥们真的很厉害,同一个网络他改一改就改出了4篇论文,这是其中第3篇,还有...

    用户1332428
  • 目标检测入门(四):特征复用、实时性

    文章结构 本文的第一部分关注检测模型的头部部分。对与每张图片,深度网络其实是通过级联的映射获得了在某一流形上的一个表征,这个表征相比原图片更有计算机视角下的语义...

    朱晓霞
  • 干货 | 目标检测入门,看这篇就够了(下)

    作者 | 李家丞( 同济大学数学系本科在读,现格灵深瞳算法部实习生) 近年来,深度学习模型逐渐取代传统机器视觉方法而成为目标检测领域的主流算法,本系列文章将回...

    朱晓霞
  • 干货 | 目标检测入门,看这篇就够了(下)

    ? 作者 | 李家丞( 同济大学数学系本科在读,现格灵深瞳算法部实习生) 近年来,深度学习模型逐渐取代传统机器视觉方法而成为目标检测领域的主流算法,本系列文...

    AI科技大本营
  • 干货 | 目标检测入门,看这篇就够了(下)

    作者 | 李家丞( 同济大学数学系本科在读,现格灵深瞳算法部实习生) 近年来,深度学习模型逐渐取代传统机器视觉方法而成为目标检测领域的主流算法,本系列文章将回顾...

    刘盼
  • 走近webpack(5)--devtool及babel的使用

      这一章咱们来说一下如何使用babel以及如何用webpack调试代码。这是基础篇的最后一章,这些文章只是罗列的给大家讲解了在一些场景中webpack怎样使用...

    zaking
  • 深度学习中的FLOPs是什么?如何计算的?

    FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性...

    种花家的奋斗兔
  • ZFNet(2013)及可视化的开端

    ZFNet出自论文《 Visualizing and Understanding Convolutional Networks》,作者Matthew D. Ze...

    李拜六不开鑫

扫码关注云+社区

领取腾讯云代金券