深度学习~卷积神经网络(CNN)概述
目录
1. 卷积神经网络的形成和演变
1.1 卷积神经网络结构
1.2 卷积神经网络的应用和影响
1.3 卷积神经网络的缺陷和视图
1.3.1 缺陷:可能错分
1.3.2 解决方法:视图
1.4 卷积神经网络的平台和工具
reference:
1. 卷积神经网络的形成和演变
背景:卷积神经网络最初是受到视觉系统的神经机制启发、针对二维形状的识别设计的一种生物物理模型,在平移情况下具有高度不变性,在缩放和倾斜情况下也具有一定的不变性。这种生物物理模型集成了“感受野”的思想,可以看作一种特殊的多层感知器或前馈神经网络,具有局部连接、权值共享(卷积)的特点。其中,大量神经元按照一定方式组织起来对视野中的交叠区域产生反应。
1962年,Hubel和Wiesel通过对猫的视觉皮层细胞的研究,提出了“感受野”的概念。
1979年,日本学者Fukushima在感受野概念的基础上,提出了神经认知机模型,该模型被认为是实现的第一个卷积神经网络。
1998年,LeCun等人将卷积层和下采样层相结合,设计卷积神经网络的主要结构,形成了现代卷积神经网络的雏形(LeNet)。
2012年,卷积神经网络的发展取得了历史性突破,Krizhevsky等人采用修正线性单元(Rectified Linear Unit, ReLU)作为激活函数提出了著名的AlexNet,并在大规模图像评测中取得了优异成绩,成为深度学习发展史上的重要拐点。
1.1 卷积神经网络结构
理论上,卷积神经网络是一种特殊的多层感知器或前馈神经网络。
标准的卷积神经网络一般由输入层、交替的卷积层和池化层、全连接层和输出层组成。其中,卷积层也称为检测层,池化层也称为下采样层,它们也被看作特殊的隐含层。
卷积层的权值也称为卷积核,虽然卷积核一般是需要训练的,但有时可以是固定的,比如直接采用Gabor滤波器。
- 从结构的角度来看,卷积神经网络起初只能处理黑白或灰度图像,变种模型通过把红、绿、蓝3个颜色通道作为一个整体输入,已经直接处理彩色图像,有些还可以直接处理多帧图像甚至连续图像。同时,变种模型可以使用多个相邻的卷积层或多个相邻的池化层,也可以使用重叠池化和最大池化,还可以使用修正线性单元、渗漏修正线性单元(Leaky ReLu, LReLU)、参数修正线性单元(Parametric ReLU, PReLU)或指数线性单元(Exponential Linear Unit, ELU)取代sigmoid单元作为激活函数,也可以在输出层采用软最大函数softmax替代sigmoid函数产生伪概率。
- 从卷积核的角度看,卷积神经网络可以通过采用非常小的卷积核,比如1X1和3X3大小,被加深成一个更深的网络,比如16层或19层的VGGNet。卷积神经网络通过使用小卷积核在保持总体计算代价的条件下增加深度和宽度。并与摄入模块(inception module)进行集成,可以用来建立谷歌网络(GoogLeNet)。此外,卷积神经网络通过使用微型多层感知器代替卷积核,还可以被扩展成更复杂的网络,比如,网中网(Network In Network, NIN)
- 从区域的角度看,区域卷积神经网络(Region-based CNN, R-CNN)可以用来抽取区域卷积特征,并通过区域提议进行更加鲁棒的定位和分类。空间金字塔池化模型(Spatial Pyramid Pooling Net, SPPNet)可以克服其输入大小固定的缺点,办法是在最后一个卷积层和第一个全连接层之间插入一个空间金字塔池化层。为了获得实时性能极快的对象检测速度,可以把输入图像划分成许多网格,并通过单个网络构造的整体检测管道,直接从整幅图像预测对象的边框和类概率建立YOLO模型,只需看一遍图像就能知道对象的位置和类别。
- 从优化角度看,许多技术可以用来训练卷积神经网络,比如dropout丢弃输出,dropconnect丢弃连接,batch normalization块归一化。丢弃输出是一种减小过拟合的正则化技术,而丢弃连接是dropout的推广。块归一化(或批量归一化)则是按迷你块大小对某些层的输入进行归一化处理的方法。此外,残差网络(Redidual Network,ResNet)采用跨越2~3层的连接策略也是一种重要的优化技术,可以用来克服极深网络的训练困难。
- 从演变的角度看,现在卷积网络以LeNet为雏形,在经过AlexNet的历史突破之后,演化生成了许多不同的网络模型,主要包括:加深模型、跨连模型、应变模型、区域模型、分割模型、特殊模型和强化模型等。加深模型的代表是VGGNet-16、VGGNet-19和GoogLeNet;跨连模型的代表是HighwayNet、ResNet和DenseNet;应变模型的代表是SPPNet;区域模型的代表是R-CNN、Fast R-CNN、Faster R-CNN、YOLO和SSD;分割模型的代表是FCN、PSPNet和Mask R-CNN;特殊模型的代表是SiameseNet、SqueezeNet、DCGAN、NIN;强化模型的代表是DQN和AlphaGo。
1.2 卷积神经网络的应用和影响
- 在手写字符识别方面,MNIST数据集
- 在图像分类方面,ILSVRC-2012。AlexNet使用了dropout优化技术和ReLU激活函数。
- 在人脸验证方面,
- 在交通标志识别方面,GTSRB
- 在视频游戏方面,深度Q-网络智能体的机器玩家。
- 在视频分类方面,使用独立自空间分析(Independent Subspace Analysis, ISA)
- 在语音识别方面,TIMIT音素识别任务
- 在机器翻译方面,WMT
- 在围棋程序方面,AlphaGo利用深层网络和蒙特卡罗树搜索(Monte Carlo tree search)
1.3 卷积神经网络的缺陷和视图
1.3.1 缺陷:可能错分
对抗样本。对抗样本是一种含有人类不可感知的微小扰动的非随机图像。
欺骗图像。有些人类根本不可能识别的噪声图像,卷积神经网络以高于99%的置信度识别它为一个熟知的对象(比如数字)
1.3.2 解决方法:视图
采用可视化技术来分析其数据表达并解释其工作机理。常用的可视化技术,比如逆变换(inversion)、激活最大化(activatioin maximization)和卡通化(caricaturazation),是以自然原像概念为基础的。
自然原像就是那些看起来具有显著自然特征的图像,就是平常普通照片。通常,一幅图像经过卷积神经网络提取特征后,随着层次的深入,可视化结果会变得越来越模糊和抽象。
卷积神经网络(Convolutional Neural Network,简化为ConvNet或CNN)是一种前馈神经网络,其中信息从输入到卷积运算符单向流动到输出[93]。
1.4 卷积神经网络的平台和工具
为了在解决各种实际问题中有效地利用深度学习模型,有很多开发平台和工具。
Theano, TensorFlow, Caffe, Caffe2, CNTK, MXNet, Torch, Deeplearning4J, keras
reference:
H. Cecotti and A. Graser, “Convolutional neural networks for p300 detection with application to brain-computer interfaces,”IEEE transactions on pattern analysis and machine intelligence, vol. 33, no. 3, pp. 433–445, 2010.
深度学习:卷积神经网络从入门到精通。李玉鑑,张婷
如图7所示,
这种卷积算子在CNN中至少包括三个堆叠层,包括卷积层convolutional layer,池化层pooling layer和完全连接层fully connected layer。卷积层对张量进行卷积,池化层简化了基础计算以减少数据量。完全连接的层将上一层中的每个神经元连接到一个新层,类似于传统的多层感知器神经网络。
具有堆叠层的CNN的本质是将输入数据减少到易于识别的地层,且损失最小,并且可以通过应用CNN捕获EEG模式的独特空间依赖性。例如,CNN已被用于从癫痫皮层内数据中自动提取信号特征[22],并执行自动诊断以取代由专家进行的耗时的视力检查程序[23]。
深度学习~卷积神经网络(CNN)概述相关推荐
- 深度学习--卷积神经网络CNN
主要内容 1. 神经网络 1.1 感知器 1.2 Sigmoid神经元 1.3 神经网络 2. 卷积神经网络CNN 2.1 卷积神经网络结构 2.2 数据输入层 2.3 卷积层 2.3.1 局部感知( ...
- 深度学习——卷积神经网络CNN
这两天看了不少讲卷积神经网络的文章和视频,由于我本人才疏学浅,在学习过程中基本上是一头雾水,导致的结果就是不过幸好,在快要绝望的时候,我在知乎上发现了一篇宝藏文章卷积神经网络CNN完全指南终极版这篇文 ...
- 深度学习 --- 卷积神经网络CNN(LeNet-5网络学习算法详解)
上一节我们详细探讨了LeNet-5网络的架构,但是还没有解释该网络是如何进行学习的,如何更新权值的,本节将接着上一节进一步CNN的学习机制和权值更新过程,这里请大家一定要对CNN网络有一个清晰的认识, ...
- 深度学习 --- 卷积神经网络CNN(LeNet-5网络详解)
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈型的神经网络,其在大型图像处理方面有出色的表现,目前已经被大范围使用到图像分类.定位等领域中.相比于其他神经网 ...
- 一种基于深度学习(卷积神经网络CNN)的人脸识别算法-含Matlab代码
目录 一.引言 二.算法的基本思想 三.算法数学原理 3.1 权值共享 3.2 CNN结构 四.基于卷积神经网络的人脸识别算法-Matlab代码 五.Matlab源代码获取 一.引言 在工程应用中经常 ...
- 深度学习卷积神经网络CNN之 VGGNet模型主vgg16和vgg19网络模型详解说明(理论篇)
1.VGG背景 2. VGGNet模型结构 3. 特点(创新.优缺点及新知识点) 一.VGG背景 VGGNet是2014年ILSVRC(ImageNet Large Scale Visual R ...
- DL之CNN优化技术:学习卷积神经网络CNN的优化、实践经验(练习调参)、从代码深刻认知CNN架构之练习技巧
DL之CNN优化技术:学习卷积神经网络CNN的优化.调参实践.从代码深刻认知CNN架构之练习技巧 目录 卷积神经网络CNN调参学习实践 练习技巧 1.练习攻略一 2.VGG16练习攻略二 卷积神经网络 ...
- 深度学习 卷积神经网络-Pytorch手写数字识别
深度学习 卷积神经网络-Pytorch手写数字识别 一.前言 二.代码实现 2.1 引入依赖库 2.2 加载数据 2.3 数据分割 2.4 构造数据 2.5 迭代训练 三.测试数据 四.参考资料 一. ...
- 毕设 深度学习卷积神经网络的花卉识别
文章目录 0 前言 1 项目背景 2 花卉识别的基本原理 3 算法实现 3.1 预处理 3.2 特征提取和选择 3.3 分类器设计和决策 3.4 卷积神经网络基本原理 4 算法实现 4.1 花卉图像数 ...
- 深度学习 卷积神经网络原理
深度学习 卷积神经网络原理 一.前言 二.全连接层的局限性 三.卷积层 3.1 如何进行卷积运算? 3.2 偏置 3.3 填充 3.4 步长 3.5 卷积运算是如何保留图片特征的? 3.6 三维卷积 ...
最新文章
- 概要设计阶段--组装测试计划
- 将本地的MS SQL Server数据导入到远程服务器上
- P1525 关押罪犯
- Linux cp一个文件夹时提示cp: omitting directory `test/'
- 直播强势来袭:Oracle nologgiing;数据库上云;国产数据库比对
- Hadoop常见问题及解决方法
- Atitit spring5 集成 mybatis 注解班
- 多边形面积的求法(已知每个点的坐标)hdu2036
- 一次搞定this和闭包
- snmp连接工具_2020好用的综合性网络监控工具
- 集成应用|契约锁与100+管理软件实现集成应用
- 编程游戏开发:如何开发制作一款游戏?你需要做哪些准备?
- 电脑关闭Fn键+F1,直接使用F1键
- 不逼自己一把,命运就会逼你一辈子
- python教程57--使用D-tale做透视表并生成图形
- 机器学习背后的数学:范数与赋范空间
- 【图像增强】基于matlab萤火虫算法图像对比度增强【含Matlab源码 2142期】
- 【Spark ML】第 2 章: Spark和Spark简介
- 如何摆脱极域2016(及以下版本)的控制
- Arduino入门:按钮升级(按一下按钮,LED亮,再按一下,LED熄灭)
热门文章
- 【实验吧】编程循环求底运算
- 探寻教育信息化着力点,创新四川省教育厅IT管理
- FreeMarker 一二事 - 静态模板的使用与生成
- PHP自动加载类的实例
- AsyncTask中各个函数详细的调用过程,初步实现异步任务
- SQL2K数据库开发二十六之存储过程操作创建存储过程(一)
- leetcode 349. 两个数组的交集 两种方案,c语言实现
- java流方式接收pdf_java – 在Itext 7中,如何获取范围流来签署pdf?
- python selenium unittest_python+selenium+unittest单元测试框架
- 量子计算机模型取,Grover算法在单道量子计算模型下的实现