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. 大数据(7) - zookeeper的安装与使用

    简介 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提 ...

  2. 8237dma的四种传送方式简介

    8237A有四种工作方式:单字节传送.数据块传送.请求传送和多片级联. (1)单字节传送(single mode) 单字节传送方式是每次DMA传送时,仅传送一个字节.传送一个字节之后,当前字节计数器减 ...

  3. adb 安装apk到指定手机 登录shell

    电脑链接多个设备时,给指定的设备安装apk, 1. 先查看手机的编码 adb devices 2. adb -s 手机编码 install xxx.apk 如果是无线链接调试状态,adb device ...

  4. HTML5 选择前置摄像头,选择后置摄像头

    最近发现我写的都是乱七八糟的,觉得应该给大家带点福利,于是写了这篇 背景:最近想做个web应用,需要用到摄像头,但是发现默认一直是前置摄像头,拍照很麻烦,于是找了很多文章,居然没有人提到,只好FQ去找 ...

  5. smartJS 0.1 API 讲解 - PromiseEvent

    上篇简单的介绍smartjs了一些通用方法的api.这篇介绍基础的PromiseEvent(这个名字一直没想好,以前准备用callbacks的,但避免与jquery混淆,st的命名空间可以直接挂到$上 ...

  6. java网络编程2-URL和URI

    //创建url可以指定请求的url协议,但不同的jvm支持的协议可能不相同(大部分支持http.file.https) //构造只判断字符串中的协议支不支持,而不判断url的正确性 URL url=n ...

  7. android实现解析webservices

    package com.example.ksoap2demo; import java.io.UnsupportedEncodingException; import org.ksoap2.SoapE ...

  8. SpringMVC学习(十一)——SpringMVC实现Resultful服务

    http://blog.csdn.net/yerenyuan_pku/article/details/72514034 Restful就是一个资源定位及资源操作的风格,不是标准也不是协议,只是一种风格 ...

  9. cxGrid 显示行号及行号列列名

    cxGrid默认不显示行号,但是可以通过cxGrid1DBTableView1CustomDrawIndicatorCell事件来重绘行号 选中cxGrid1DBTableView1,在OnCusto ...

  10. UI层复习笔记

    在main文件中,UIApplicationMain函数一共做了三件事 根据第三个参数创建了一个应用程序对象 默认写nil,即创建的是UIApplication类型的对象,此对象看成是整个应用程序的一 ...