zoukankan      html  css  js  c++  java
  • 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-01-CNN基础知识点

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

    1. 神经认知机
      CNN的灵感来源在诸多论文中已经讲得很全面了,就是伟大的生物发现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 层间连接示意图
      图1 层间连接示意图
    3. 权值共享
      滤波器(filter)是图2第m层中每个小圆圈对应的一个神经元,它们的weight和bias是相同的(就是共享相同的参数),然后每个神经元与输入图像数据进行卷积运算,就得到了m层 –特征图层(feature map,每一层可以包含多个特征图),此特征图包含3个隐藏节点(hidden units)。(以上是我个人理解,如有错误,欢迎指出,初学者,见谅)。梯度下降法仍然可以用来训练它们所共享的参数,不过需要在原算法基础上进行小的改动。weight的梯度就是简单的对每个weight中的参数的梯度求和得到。
      图2 权值共享图
      图2 权值共享图
    4. 注解说明
      定义 hk代表某层的第k个特征图。
      公式 hkij=tanh((Wk∗x)ij+bk) 用来计算hk 。
      为了更丰富的表示数据特征,每个隐藏层会包含多个特征图。以下图为例:
      图3 举例一层含多个特征图
      图3 举例,一层中含4个特征图
      图3中的CNN含有2层,m−1层包含4个特征图,m层包含2个特征图,记为h0和h1,h0和h1中的每个像素值是由前一层的每个特征图通过2∗2的感受野计算得出。其中,h0和h1的权值W0和W1是一个3维张量(在这里或许等同于矢量,求解释),第一维表示前一层特征图的下标,后两维表示该特征图的坐标。综合起来,Wklij表示m层第k个特征图的每一个像素点的权重与m−1层第l个特征图的(i,j)像素点的权重相连接。
    5. 卷积运算
      用的是著名的Python库Theano. ConvOp。具体如何使用见原网页,讲的很详细。
    6. 最大池化
      CNN中另外一个很重的概念就是最大池化。它是一种非线性的下采样(个人理解其作用类似于降维)方法。最大池化把输入图像划分不相重叠的图像矩阵块,每一个子区域输出其最大值。最大池化方法在视觉处理问题中非常有效的两个原因是:
      (1) 通过减少非最大值来降低对上层的计算复杂度。
      (2) 池化结果支持平移不变性。在卷积层中,每个像素点有8个方向可以平移。当最大池化窗口为2∗2区域时,其中有3个方向会产生相同结果;当最大池化窗口为3∗3区域时,则会有5个方向会产生相同的结果。
      在Theano中的应用举例就不介绍了。
    7. 至此,CNN的基本知识点基本介绍完毕。下一节学习一个完整的CNN模型–LeNet-5

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

    版权声明:本文为博主原创文章,水平有限,欢迎批评指正。欢迎转载,但请注明转载出处,谢谢。QQ:371073260

  • 相关阅读:
    植物大战僵尸英文原版
    2020-5-13递归练习 六人参加竞赛
    2020-5-1递归练习
    java当脚本用。QQ表白轰炸机
    面向实战---VUE项目的文件加载顺序,或者加载流程,以及index.html,main.js,app.vue的区别
    CSS多个view随机分布,不重叠,如何实现呢?
    vite项目才踩坑日志1
    css属性之clip-path
    纯CSS3实现的阳光海鸥沙滩遮阳伞和比基尼美女风景动画效果源码
    TP5 中使用wherein 进行查询,太慢了,怎么优化?
  • 原文地址:https://www.cnblogs.com/Just-Niu/p/4722077.html
Copyright © 2011-2022 走看看