转载自:http://blog.csdn.net/niuwei22007/article/details/47399913

《CNN基础知识点》From:Convolutional Neural Networks (LeNet)

原文链接可以查看更多信息:http://blog.csdn.net/niuwei22007/article/details/47399913

  1. 神经认知机。 
     卷积神经网络是受生物灵感的多层感知机的变体。从Hubel和Wiesel的早期对猫的视觉皮层的研究工作中得出,视觉皮层包含一组复杂的细胞排列。这些细胞会对很小的子区域敏感,称作Receptive Field(感受野细胞)。根据这个概念提出了神经认知机。它的主要作用就是Recept部分图像信息(或特征),然后通过分层局部相连,将各个局部特征组合成整个图像特征。 需要仔细阅读的论文包括: 
     (1) 第一篇关于感受野功能的论文Receptive fields and functional architecture of monkey striate cortex,1968 
     (2) the NeoCognitron A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position,1980 
     (3) HMAX Robust object recog-nition with cortex-like mechanisms,2007 
     (4) 非常重要的LeNet-5 Gradient-based learning applied to document recognition,1998 
     
  2. 稀疏连接。 
     CNN层与层之间的连接并不全是全连接,而是局部连接,它的作用就是大幅度减少参数。 

    图1 层间连接示意图
  3. 权值共享。 
     在CNNs中,每一种过滤器都可以通过重复堆叠而覆盖整个视野。这种堆叠就是复制自己,因此它们的单元共享同一个权值和偏置值,从而形成一张特征图。 
      
     图2中m层是由3个隐层单元构成的一张特征图。相同颜色的权值是共享的。梯度下降法仍然可以用来训练它们所共享的参数,不过需要在原算法基础上进行小的改动。共享权值的梯度就是简单的对每个共享参数的梯度求和得到。 

    图2 权值共享图
  4. 详细计算说明。 
     为了更丰富的表示数据特征,每个隐藏层会包含多个特征图。 
     定义 hk代表某层的第k个特征图。 
     公式 hkij=tanh((Wk∗x)ij+bk) 用来计算hk ;其中∗是卷积操作。 
     以上公式是如何计算特征图的呢?是通过针对整个图像中不同的子区域数据,重复的调用同一个函数,最终覆盖整幅图像时,就得到了一张特征图。换句话说,就是用带有偏置项(bk)的线性滤波器(Wk)与输入图像(x)进行卷积运算(∗),再将结果通过一个非线性函数(tanh)所得到的结果(hk)。 
     
    图3 举例,一层中含4个特征图
      图3中的CNN含有2层,m−1层包含4个特征图,m层包含2个特征图,记为h0和h1,h0和h1是由不同的卷积核在前一层所有map上作卷积并将对应元素累加后加一个偏置,再求sigmod得到的(假设m与m-1层全连接,则m层共有4*2=8个卷积核)。其中,h0和h1的权值W0和W1是一个3维张量,第一维表示前一层特征图的下标,后两维表示该特征图的坐标。综合起来,Wklij表示m层第k个特征图的每一个像素点的权重与m−1层第l个特征图的(i,j)像素点的权重相连接。 
      
  5. 卷积运算。 
      用的是著名的Python库Theano. ConvOp。具体如何使用及运行效果,见我的另外一篇博客Python之Theano.ConvOp,讲的很详细。 
      
  6. 最大池化。 
      CNN中另外一个很重的概念就是最大池化。它是一种非线性的下采样(个人理解其作用类似于降维)方法。最大池化把输入图像划分不相重叠的图像矩阵块,每一个子区域输出其最大值。最大池化方法在视觉处理问题中非常有效的两个原因是: 
     (1) 通过减少非最大值来降低对上层的计算复杂度。 
     (2) 池化结果支持平移不变性。在卷积层中,每个像素点有8个方向可以平移。当最大池化窗口为2∗2区域时,其中有3个方向会产生相同结果;当最大池化窗口为3∗3区域时,则会有5个方向会产生相同的结果。 
     在Theano中的应用举例就不介绍了。 
     
  7. 至此,CNN的基本知识点基本介绍完毕。下一节学习一个完整的CNN模型–LeNet

    参考资料 
    (1) http://deeplearning.net/tutorial/lenet.html 
    (2) Deep Learning(深度学习)学习笔记整理系列之(七) 
    (3) Deep learning with Theano 官方中文教程(翻译)(四)—— 卷积神经网络(CNN)

深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-01-CNN基础知识点相关推荐

  1. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-04-基于Python的LeNet之MLP

    原文地址可以查看更多信息 本文主要参考于:Multilayer Perceptron  python源代码(github下载 CSDN免费下载) 本文主要介绍含有单隐层的MLP的建模及实现.建议在阅读 ...

  2. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR

    原地址可以查看更多信息 本文主要参考于:Classifying MNIST digits using Logistic Regression  python源代码(GitHub下载 CSDN免费下载) ...

  3. 吴恩达深度学习之四《卷积神经网络》学习笔记

    一.卷积神经网络 1.1 计算机视觉 举了几个例子,可以完成什么样的任务 最重要的是特征向量太大了,比如分辨率1000 x 1000 的彩色图片,三个颜色通道,维数是 3000000 意味着隐藏层第一 ...

  4. (pytorch-深度学习系列)卷积神经网络LeNet-学习笔记

    卷积神经网络LeNet 先上图:LeNet的网络结构 卷积(6个5∗5的核)→降采样(池化)(2∗2的核,步长2)→卷积(16个5∗5的核)→降采样(池化)(2∗2的核,步长2)→全连接16∗5∗5→ ...

  5. 深度学习(DL)与卷积神经网络(CNN)学习随笔-05-基于Python的LeNet之CNN

    本文原链接可以查看更多文章    博文01介绍了CNN的基本结构.博文02.03.04依次介绍了卷积操作.LR模型的建立及实现,MLP模型及实现.这些都是作为实现LeNet的铺垫.因为LeNet的实现 ...

  6. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-02-基于Python的卷积运算

    原文地址可以查看更多信息:http://blog.csdn.net/niuwei22007/article/details/48025939         源代码分析:(注意,如果直接保存以下代码, ...

  7. 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(1)

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

  8. 深度学习21天——卷积神经网络(CNN):实现mnist手写数字识别(第1天)

    目录 一.前期准备 1.1 环境配置 1.2 CPU和GPU 1.2.1 CPU 1.2.2 GPU 1.2.3 CPU和GPU的区别 第一步:设置GPU 1.3 MNIST 手写数字数据集 第二步: ...

  9. [人工智能-深度学习-33]:卷积神经网络CNN - 常见分类网络- LeNet网络结构分析与详解

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

最新文章

  1. YJango的循环神经网络——实现LSTM YJango的循环神经网络——实现LSTM YJango YJango 7 个月前 介绍 描述最常用的RNN实现方式:Long-Short Term Me
  2. [POI2002][HAOI2007]反素数
  3. eclipse Android 开发基础 Activity 窗体 界面
  4. Java Minor发布计划再次进行了调整
  5. Dubbo作者亲述:那些辉煌、沉寂与重生的故事 1
  6. 千牛怎么注销卖家店铺_新店铺怎么拥有亚马逊购物车?亚马逊小卖家如何尽快获得黄金购物车?...
  7. wp实例开发精品文章源码推荐(8.20)
  8. java 不存在就创建,java怎么实现判断文件是否存在,不存在就创建的方法
  9. 哪个服务器支持高并发,IIS Web服务器支持高并发设置方法详解
  10. android RN开发环境搭建
  11. VMAX数智化体系架构
  12. 服务器flash卡的作用是什么原因,直播卡顿原因详解及优化
  13. cisco IOS,nexus和Arista 的vrrp
  14. WIN7旗舰版下安装SQL SERVER 2008安装报错解决方案
  15. Android Studio 开发–微信APP门户界面设计
  16. HTML5《汉堡小店》游戏截图
  17. springboot controller里出现异常会导致服务器宕机_锐速云:服务器租用10条最容易出错崩溃的记录...
  18. 儿童场景英语品牌“麦禾教育”完成天使轮融资,清科资管领投
  19. 虚拟筛选服务器,SwissSimilarity:基于配体的虚拟筛选在线服务器
  20. 闪光灯slave是什么意思_摄影中闪光灯有什么作用?要怎样用?

热门文章

  1. Domain Driven Design and Development In Practice--转载
  2. 李宏毅深度学习——分类
  3. 数学建模学习笔记——优劣解距离法(评价类)
  4. 人脸识别之insightface开源代码使用:训练、验证、测试(4)
  5. 马克思关于劳动的八大金句
  6. 任正非:我若贪生怕死,何来让你们去英勇奋斗
  7. [搜索]波特词干(Porter Streamming)提取算法详解(2)
  8. Java Review - 使用Event Bus实现目录变化的监控
  9. Docker Review - docker images 常用命令
  10. Java 8 - 收集器Collectors_实战