CNN的发展
模型的建立过程:
1959年,Hubel & Wiesel发现动物视觉皮层中的细胞负责检测感受野(receptive fields)中的光线。论文:Receptive fields and functional architecture of monkey striate cortex(1968)
1980年,Kunihiko Fukushima提出新认知机(neocognitron),被认为是CNN的前身。论文:Neocognitron: A self-organizing neural network model for a mechanism of visual pattern recognition(1982)
1985年,Rumelhart和Hinton等人提出了后向传播(Back Propagation,BP)算法,使得神经网络的训练变得简单可行。论文:Learning internal representations by error propagation(Basic Mechanisms, 1985) / Learning representations by back-propagating errors(Nature, 1986)
1990年,LeCun建立了CNN的现代框架,利用BP算法来训练多层神经网络,用于识别手写邮政编码,论文中把5*5的相邻区域作为感受野。论文:Handwritten digit recognition with a back-propagation network(NIPS, 1989) / Backpropagation applied to handwritten zip code recognition(Neural Computation, 1989)
1998年,LeCun改进CNN,他们开发了一个名为LeNet-5的多层人工神经网络,可以对手写数字进行分类。与其他神经网络一样,LeNet-5具有多个层,可以通过反向传播算法进行训练。它可以获得原始图像的有效表示,这使得从原始像素直接识别视觉模式成为可能,而且很少进行预处理。论文:Gradient-based learning applied to document recognition(IEEE, 1998)
1990年,Zhang使用一个平移不变性的人工神经网络(SIANN),识别图像的字符。但由于当时缺乏大量的训练数据和计算能力,他们的网络在更复杂的问题,例如大规模的图像和视频分类方面不能很好地运行。论文:Parallel distributed processing model with local space-invariant interconnections and its optical architecture(1990)
2012年,Alex Krizhevsky提出一个经典的CNN架构,即AlexNet。它显示了在图像分类任务上根据以前方法的重大改进,在整体结构上与LeNet-5类似,但深度更深。由此获得了2012大规模视觉识别挑战赛 (ILSVRC)的第一名,在百万量级的ImageNet数据集上,效果显著提升。论文:ImageNet Classification with Deep Convolutional Neural Networks(NIPS, 2012)
后续模型的改进:
ZFNet 论文:Visualizing and understanding convolutional networks(ECCV, 2014)
VGGNet 论文:Very deep convolutional networks for large-scale image recognition(ICLR, 2015)
GoogleNet 论文:Going deeper with convolutions(CVPR, 2015)
ResNet 论文:Deep residual learning for image recognition(CVPR, 2016)
GoogleNet和VGGNet是2014年ImageNet竞赛的双雄,这两类模型结构有一个共同特点是go deeper。跟VGGNet不同的是,GoogleNet做了更大胆的网络上的尝试,而不是像VGGNet继承了LeNet以及AlexNet的一些框架,该模型虽然 有22层,但大小却比AlexNet和VGGNet都小很多,性能优越。
从架构的演变来看,一个典型的趋势是网络正在变得越来越深。通过增加深度,网络可以更好地近似(逼近)目标函数,增加非线性,并得到更好的特征表示。然而,这也增加了网络的复杂性,使网络变得更难以优化、更容易过拟合。在此基础上,许多works提出了解决这些问题的各种方法。
介绍CNN发展史的一些博客:
1、【卷积神经网络-进化史】从LeNet到AlexNe
http://blog.csdn.net/cyh_24/article/details/51440344

上图所示是刘昕博士总结的CNN结构演化的历史,起点是神经认知机模型,此时已经出现了卷积结构,经典的LeNet诞生于1998年。然而之后CNN的锋芒开始被SVM等手工设计的特征盖过。随着ReLU和dropout的提出,以及GPU和大数据带来的历史机遇,CNN在2012年迎来了历史突破–AlexNet。
AlexNet取得成功的主要原因:(1)大量数据,李飞飞团队的大型标注数据集合ImageNet;(2)高度并行的计算神器GPU;(3)算法的改进,包括网络变深、数据增强、ReLU、Dropout等。
2、#Deep Learning回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet
https://www.cnblogs.com/52machinelearning/p/5821591.html

ILSVRC每年都不断被Deep Learning刷榜,如上图所示,随着模型变得越来越深,Top-5的错误率也越来越低,目前降到了3.5%附近。而在同样的ImageNet数据集合上,人眼的辨识错误率大概在5.1%,也就是目前的Deep Learning模型的识别能力已经超过了人眼。而图中标注的这些模型,也是Deep Learning视觉发展的里程碑式代表。
3、LeNet论文的翻译与CNN三大核心思想的解读
http://blog.csdn.net/qianqing13579/article/details/71076261
CNN的发展的更多相关文章
- 总结近期CNN模型的发展(一)---- ResNet [1, 2] Wide ResNet [3] ResNeXt [4] DenseNet [5] DPNet [9] NASNet [10] SENet [11] Capsules [12]
总结近期CNN模型的发展(一) from:https://zhuanlan.zhihu.com/p/30746099 余俊 计算机视觉及深度学习 1.前言 好久没有更新专栏了,最近因为项目的原因接 ...
- CNN网络架构演进:从LeNet到DenseNet
卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF ...
- CNN网络架构演进
卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF ...
- CNN相关资料
转子http://blog.csdn.net/qianqing13579/article/details/71076261 前言 入职之后,逐渐转到深度学习方向.很早就打算写深度学习相关博客了,但是由 ...
- DNN结构演进History—CNN( 优化,LeNet, AlexNet )
本文相对于摘抄的文章已经有大量的修改,如有阅读不适,请移步原文. 以下摘抄转自于维基:基于深度学习的图像识别进展百度的若干实践 从没有感知域(receptive field) 的深度神经网络,到固定感 ...
- 三大特征提取器(RNN/CNN/Transformer)
目录 三大特征提取器 - RNN.CNN和Transformer 简介 循环神经网络RNN 传统RNN 长短期记忆网络(LSTM) 卷积神经网络CNN NLP界CNN模型的进化史 Transforme ...
- 学习CNN系列一:原理篇
CNN的发展历程: 1962年,卷积神经网络的研究起源于Hubel和Wiesel研究毛脑皮层的发现局部互连网络可以有效降低反馈神经网络的复杂性. 1980年,CNN的第一个实现网络:Fukushima ...
- 冬日曙光——回溯CNN的诞生
前言 卷积神经网络(CNN)作为深度学习的重要一支,在当前计算机视觉领域应用相当广泛.本文回顾了深度学习的发展历程,讲述CNN基本的理论概念和第一代卷积神经网络LeNet-5的建立.文章言有不当之处, ...
- 【文献阅读】Densely Connected Convolutional Networks-best paper-CVPR-2017
Densely Connected Convolutional Networks,CVPR-2017-best paper之一(共两篇,另外一篇是apple关于GAN的paper),早在去年八月 De ...
随机推荐
- java 7修改文件权限
Full control over file attributes is available in Java 7, as part of the "new" New IO faci ...
- 【BZOJ1221】【HNOI2001】软件开发 [费用流]
软件开发 Time Limit: 10 Sec Memory Limit: 162 MB[Submit][Status][Discuss] Description 某软件公司正在规划一项n天的软件开 ...
- R、Python、Scala和Java,到底该使用哪一种大数据编程语言?
有一个大数据项目,你知道问题领域(problem domain),也知道使用什么基础设施,甚至可能已决定使用哪种框架来处理所有这些数据,但是有一个决定迟迟未能做出:我该选择哪种语言?(或者可能更有针对 ...
- 暑假集训——cf热身赛部分题有感加其题解
刚刚开始集训,集训队队长暂时还没有拉专题,而是拉了部分codeforces上过题人数在2000左右的题组成了一场热身赛(其实就是一场练习),花了一天时间终于把它刷完了,其中很多题让我学到了很多骚操作, ...
- 大聊Python----json与pickle数据序列化
用于序列化的两个模块 ☆json,用于字符串和python数据类型间进行转换 ☆pickle,用于python特有的类型和python的数据类型间进行转换 Json模块提供了四个功能:dumps.du ...
- Android控件——TextView,EditText
TextView: 显示文本控件 EditText 输入文本框 1.TextView常用属性:
- 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记
Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week6 Tuple 10 Tuples 10.1 Tuples A ...
- vs 2015 插件 supercharger 破解方式
亲测有效:效果如图 方法如下: 1.打开Supercharger的options; 2.点击Pricing & Registration 3.复制 license 然后再按Paste &am ...
- linux编程之信号量编程
信号量当我们在多用户系统,多进程系统,或是两者混合的系统中使用线程操作编写程序时,我们经常会发现我们有段临界代码,在此处我们需要保证一个进程(或是一个线程的执行)需要排他的访问一个资源.信号量有一个复 ...
- Linux中查看进程占用内存的情况【转】
转自:http://hutaow.com/blog/2014/08/28/display-process-memory-in-linux/ Linux中查看某个进程占用内存的情况,执行如下命令即可,将 ...