模型的建立过程:

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的发展的更多相关文章

  1. 总结近期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.前言 好久没有更新专栏了,最近因为项目的原因接 ...

  2. CNN网络架构演进:从LeNet到DenseNet

    卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF ...

  3. CNN网络架构演进

    卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF ...

  4. CNN相关资料

    转子http://blog.csdn.net/qianqing13579/article/details/71076261 前言 入职之后,逐渐转到深度学习方向.很早就打算写深度学习相关博客了,但是由 ...

  5. DNN结构演进History—CNN( 优化,LeNet, AlexNet )

    本文相对于摘抄的文章已经有大量的修改,如有阅读不适,请移步原文. 以下摘抄转自于维基:基于深度学习的图像识别进展百度的若干实践 从没有感知域(receptive field) 的深度神经网络,到固定感 ...

  6. 三大特征提取器(RNN/CNN/Transformer)

    目录 三大特征提取器 - RNN.CNN和Transformer 简介 循环神经网络RNN 传统RNN 长短期记忆网络(LSTM) 卷积神经网络CNN NLP界CNN模型的进化史 Transforme ...

  7. 学习CNN系列一:原理篇

    CNN的发展历程: 1962年,卷积神经网络的研究起源于Hubel和Wiesel研究毛脑皮层的发现局部互连网络可以有效降低反馈神经网络的复杂性. 1980年,CNN的第一个实现网络:Fukushima ...

  8. 冬日曙光——回溯CNN的诞生

    前言 卷积神经网络(CNN)作为深度学习的重要一支,在当前计算机视觉领域应用相当广泛.本文回顾了深度学习的发展历程,讲述CNN基本的理论概念和第一代卷积神经网络LeNet-5的建立.文章言有不当之处, ...

  9. 【文献阅读】Densely Connected Convolutional Networks-best paper-CVPR-2017

    Densely Connected Convolutional Networks,CVPR-2017-best paper之一(共两篇,另外一篇是apple关于GAN的paper),早在去年八月 De ...

随机推荐

  1. POJ 3087 Shuffle'm Up DFS

    link:http://poj.org/problem?id=3087 题意:给你两串字串(必定偶数长),按照扑克牌那样的洗法(每次从S2堆底中拿第一张,再从S1堆底拿一张放在上面),洗好后的一堆可以 ...

  2. mysql 在查询结果中进行二次查询

    第一次查询:查询身份证编号和出现次数 select cardid,count(cardid) as total from p_person_info group by cardid 在第一次查询结果进 ...

  3. asyncio 实现 aiohttp

    #asyncio 没有提供http协议的接口 aiohttp import asyncio import socket from urllib.parse import urlparse async ...

  4. Large Class--过大的类--要重构的信号

    如果想利用单个类做太多事情,其内往往就会出现太多实例变量.一旦如此,Duplicated Code也就接踵而至.     解决方法:     1.将类内彼此相关的变量,将它们放在一起.使用Extrac ...

  5. 【BZOJ】2054: 疯狂的馒头

    [题意]给定n个元素,m次给一段区间染色为i,求最终颜色. [算法]并查集 [题解]因为一个点只受最后一次染色影响,所以倒过来每次将染色区间用并查集合并,父亲指向最右边的点. 细节: 1.fa[n+1 ...

  6. 【BZOJ】1709: [Usaco2007 Oct]Super Paintball超级弹珠

    [算法]模拟 [题解]O(n^2)预处理横线(y),纵线(x),主对角线(y-x+n),副对角线(x+y). 然后n^2枚举每个点.

  7. lua滚动文字效果

    基本的思想都是创建一个clippingNode,将要截取的节点添加到clippingNode中,节点加上action即可. 下面是左右滚动的代码,如果是上下滚动,更简单了,只需修改Y坐标即可,都不用动 ...

  8. Python 关于时间和日期函数使用 -- (转)

    python中关于时间和日期函数有time和datatime   1.获取当前时间的两种方法: import datetime,time now = time.strftime("%Y-%m ...

  9. 腻子脚本polyfill

    腻子脚本 具体是指一段可以给老版本浏览器(ie9以前的版本)带来新特性的javascript脚本代码.如轻量级的脚本代码或Modernizr,Modernizr除了能让ie支持html5新元素之外,还 ...

  10. 用python玩微信(聊天机器人,好友信息统计)

    1.用 Python 实现微信好友性别及位置信息统计 这里使用的python3+wxpy库+Anaconda(Spyder)开发.如果你想对wxpy有更深的了解请查看:wxpy: 用 Python 玩 ...