CNN学习笔记:卷积神经网络

卷积神经网络

基本结构

  卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像、音频等。卷积神经网络通过卷积(convolution)操作、汇合(pooling)操作和非线性激活函数的映射等一系列操作的层层堆叠,将高层语义信息逐层由原始信息中抽取出来,逐层抽象。

  将信息逐渐抽象出来的过程称为前馈运算(Feed-Forward)。通过计算预测值与真实值之间的误差和损失,凭借反向传播算法(Back-Propagation algorithm)将误差或损失由最后一层逐层向前反馈,更新每层参数,并在更新参数后再次前馈,如此反复,知道网络模型手链,从而达到模型训练的目的。

减少参数

  在图像处理中,往往把图像表示为像素的向量,比如一个1000*1000大小的图像,可以表示为一个1000000的向量。如果隐藏层数目和输入层一样的话,那么输入层到隐藏层的参数数据为10的12次方,数据量太大,几乎无法训练。所以图像处理第一步首先必须减少参数。

感受野

  降低参数数目的第一种方法叫做局部感知野。一般认为人对外界的认识是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因为,每个神经元其实并没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息总和起来就得到了全局信息。

  如下图的3*3步长为1卷积操作为例,相邻两层中后层神经元在前层的感受野仅为3×3,但随着卷积操作的叠加,第L+3层的神经元在第L层的感受野可扩增至7×7。

  

  也就是说,小卷积核通过多层叠加可取得与大卷积核同等规模的感受野,此外还有两个优势:

  1、由于小卷积核需要多层叠加,加深了网络深度进而增强了网络容量。

  2、增加了网络容量的同时减少了参数的个数。

前馈运算

反馈运算

  卷积神经网络依赖最小化损失函数来学习模型参数,神经网络模型不仅是非凸函数而且异常复杂,该情形下,一般采用随机梯度下降法和误差反向传播进行模型参数更新。

  具体来讲,在卷积神经网络求解时,常采用批处理的随机梯度下降法,批处理的随机梯度下降法在训练模型阶段随机选取n个样本作为一批样本(batch),先通过前馈运算得到预测并计算器其误差,后通过梯度下降法更新参数

CNN学习笔记:卷积神经网络的更多相关文章

  1. CNN学习笔记:神经网络表示

    CNN学习笔记:神经网络表示 双层神经网络模型 在一个神经网络中,当你使用监督学习训练它的时候,训练集包含了输入x还有目标输出y.隐藏层的含义是,在训练集中,这些中间节点的真正数值,我们是不知道的,即 ...

  2. TensorFlow 深度学习笔记 卷积神经网络

    Convolutional Networks 转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Is ...

  3. 卷积神经网络(CNN)学习笔记1:基础入门

    卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01   |   In Machine Learning  |   9 Comments  |   14935  Vie ...

  4. 深度学习之卷积神经网络(CNN)

    卷积神经网络(CNN)因为在图像识别任务中大放异彩,而广为人知,近几年卷积神经网络在文本处理中也有了比较好的应用.我用TextCnn来做文本分类的任务,相比TextRnn,训练速度要快非常多,准确性也 ...

  5. CNN学习笔记:卷积运算

    CNN学习笔记:卷积运算 边缘检测 卷积 卷积是一种有效提取图片特征的方法.一般用一个正方形卷积核,遍历图片上的每一个像素点.图片与卷积核重合区域内相对应的每一个像素值乘卷积核 .内相对应点的权重,然 ...

  6. 深度学习之卷积神经网络(CNN)的应用-验证码的生成与识别

    验证码的生成与识别 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10755361.html 目录 1.验证码的制 ...

  7. 深度学习之卷积神经网络CNN及tensorflow代码实例

    深度学习之卷积神经网络CNN及tensorflow代码实例 什么是卷积? 卷积的定义 从数学上讲,卷积就是一种运算,是我们学习高等数学之后,新接触的一种运算,因为涉及到积分.级数,所以看起来觉得很复杂 ...

  8. 深度学习之卷积神经网络CNN及tensorflow代码实现示例

    深度学习之卷积神经网络CNN及tensorflow代码实现示例 2017年05月01日 13:28:21 cxmscb 阅读数 151413更多 分类专栏: 机器学习 深度学习 机器学习   版权声明 ...

  9. 【神经网络与深度学习】卷积神经网络(CNN)

    [神经网络与深度学习]卷积神经网络(CNN) 标签:[神经网络与深度学习] 实际上前面已经发布过一次,但是这次重新复习了一下,决定再发博一次. 说明:以后的总结,还应该以我的认识进行总结,这样比较符合 ...

随机推荐

  1. jQuery中bind函数绑定多个事件

    名人名言:道德是真理之花.——雨果 在jQuery中绑定多个事件名称是,使用空格隔开,举例如下: $("#foo").bind("mouseenter mouseleav ...

  2. AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件

    AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件( component s). 由于Java是一种独立于平台的 程序设计语言 ,但GUI ...

  3. [转]使用TeamCity对项目进行可持续集成管理(一)

    一.可持续集成管理 持续集成,CI:即Continuous integration. 可持续集成的概念是基于团队(小组)协作开发而提出来的,为了提高团队开发效率与降低集成风险(早发现,早解决.晚发现, ...

  4. 【Raspberry pi+python+mysql】红外传感器-发邮件-存数据库

    1.mysql http://dev.mysql.com/doc/refman/5.5/en/tutorial.html mysql+python http://dev.mysql.com/doc/c ...

  5. Java知识点梳理——继承

    1.定义:继承允许创建分等级层次的类,就是子类继承父类的特征行为,使得子类对象具有父类实例的方法,   使得子类具有父类相同的行为. 2.继承的特性: a.子类拥有父类非priavte的属性.方法: ...

  6. JZOJ.5264【NOIP2017模拟8.12】化学

    Description

  7. 《JAVA多线程编程核心技术》 笔记:第二章:对象及变量的并发访问

    一.基本概念1.安全的变量和不安全的变量2.脏读的理解3.锁重入:4.锁释放5.死循环:二.synchronized 的理解:三.synchronized 同步方法3.1 同步方法不具有继承性.3.2 ...

  8. 史上最易懂的大数据 OTO

    史上最易懂的大数据 OTO http://network.51cto.com/art/201503/467068.htm 终于有人把O2O.C2C.B2B.B2C的区别讲透了 http://tech. ...

  9. Django Signal 代码布局

    需要确保信号注册函数在使用前就被引入,所以理论上你可以将其置于满足上述条件的任意位置. 官方推荐 将信号处理器定义在关联 app 目录下的 signals.py 中,在关联 app 的 apps.Ap ...

  10. WikiMedia system architecture

    w 前端  服务端 后端