卷积神经网络CNN入门篇——形成、演变及其应用和影响。

简介: 卷积神经网络最初是受到视觉系统的神经机制启发、针对二维形状的识别设计的一种生物物理模型,在平移情况下具有高度的不变形,在缩放和倾斜情况下也具有一定的不变形。这种生物物理模型集成了“感受野”的思想,可以看作一种特殊的多层感知器或者前馈神经网络,具有局部连接、权值共享的特点,其中大量神经元按照一定方式组织起来对视野中的交叠区域产生反应。

形成

  卷积神经网络最初是受到视觉系统的神经机制启发、针对二维形状的识别设计的一种生物物理模型,在平移情况下具有高度的不变形,在缩放和倾斜情况下也具有一定的不变形。这种生物物理模型集成了“感受野”的思想,可以看作一种特殊的多层感知器或者前馈神经网络,具有局部连接、权值共享的特点,其中大量神经元按照一定方式组织起来对视野中的交叠区域产生反应。

发展历程

  $1962$年,$Hubei$和$Wiesel$通过对猫的视觉皮层细胞的研究,提出了感受野的概念。

  $1979$年,日本学者$Fukushima$在感受野概念的基础上,提出了神经认知模型的概念,该模型是被认为实现的第一个卷积神经网络。

  $1989$年,$LeCun$等人首次使用了权值共享技术。 $1998$年,$LeCun$等人将卷积层和下采样层相结合,设计卷积神经网络的主要结构,形成了现代卷积神经网络的雏形$(LeNet)$。

  $2012$年,卷积神经网络的发展取得了历史性的突破,$Alex\ Krizhevsky$和他的老师$Geoffrey\ E. Hinton$等人采用修正线性单元$(Rectified\ Linear\ Unit,\ ReLu)$作为激活函数提出了著名的$AlexNet$,并在$2012$年的$ILSVRC$竞赛中获得了第一名,称为深度学习发展史上的重要拐点。

  在理论上,卷积神经网络是一种特殊的多层感知器或前馈神经网络。标准的卷积神经网络一般由输人层、交替的卷积层和池化层、全连接层和输出层构成,如下图所示。其中,卷积层也称为“检测层”,“池化层”又称为下采样层,它们可以被看作特殊的隐含层,卷积层的权值也称为卷积核。虽然卷积核一般是需要训练的,但有时也可以是固定的,比如直接采用 $Gabor$ 滤波器。作为计算机视觉领域最成功的一种深度学习模型,卷积神经网络在深度学习兴起之后已经通过不断演化产生了大量变种模型。
在这里插入图片描述
  从结构的角度看,卷积神经网络起初只能处理黑白或灰度图像,变种模型通过把红、绿、蓝3个颜色通道作为一个整体输人已能直接处理彩色图像,有些还可以直接处理多帧图像甚至连续图像 。同时,变种模型可以使用多个相邻的卷积层或多个相邻的池化层,也可以使用重叠池化和最大池化,还可以使用修正线性单元、渗漏修正线性单元$(LcakReLU,LReLU)$、参数修正线性单元$(Parametric\ ReLU,PReLU)$或指数线性单元$(ExponentialLinear\ Unit,ELU)$取代 $sigmoid$单元作为激活函数,也可以在输出层采用软最大函数$softmax$ 替代$sigmoid$函数以产生伪概率。此外,卷积神经网络可以设计成李生结构$(siamese\ architecture)$,把原始数据映射到目标空间,产生对几何扭曲的鲁棒性。最后,券积神经网络可以设计成快道结构,允许信息通过快道无阻碍地跨越多层流动,使得用梯度下降训练非常深的网络变得更加容易。

  从卷积核的角度看,卷积神经网络可以通过采用非常小的卷积核,比如$1\times 1$和$3\times 3$大小,被加深成一个更深的网络,比如 16层或19层的$VGGNer54$)。如果采用参数修正线性单元代替修正线性单元,可以把 $VGGNet$发展成$MSRANet$。而且,卷积神经网络通过使用小卷积核在保持总体计算代价的条件下增加深度和宽度,并与“摄入模块 $(inceptionmodule)$”进行集成,可以用来建立谷歌网络 $(GoogLeNet)$ 。此外,卷积神经网络通过使用微型多层感知器代替卷积核,还可以被扩展成更为复杂的网络,例如“网中网$(Network\ In\ Network,NIN)$

  从区域的角度看,区域卷积神经网络$(Region-based\ CNN,R-CNN)$可以用来抽取区域卷积特征,并通过区域提议进行更加鲁棒的定位和分类)。空间金字塔池化网络$( Spatial\ Pyramid\ Pooling Net,SPPNet)$可以克服其输人大小固定的缺点,办法是在最后一个卷积层和第一个全连接层之间插人一个空间金字塔池化层 。不管输人的大小如何,空间金字塔池化层都能够产生固定大小的输出,并使用多尺度空间箱$(spatial\ bin)$代替滑动窗口对在不同尺度上抽取的特征进行池化。虽然与 $R-CNN$ 相比,空间金字塔池化网络具有能够直接输人可变大小图像的优势,但是它们需要一个多阶段的管道把特征写人硬盘,训练过程较为麻烦。为了解决这个训练问题,可以在$R-CNN$中插入一个特殊的单级空间金字塔池化层(称为感兴趣区池化层,$ROI\ pooling\ layer)$,并将其提取的特征向量输入到一个最终分化成两个兄弟输出层的全连接层,再构造一个单阶段多任务损失函数对所有网络层进行整体训练,建立快速区域卷积神经网络$(Fast\ R-CNN)$,其优点是可以通过优化一个单阶段多任务损失函数进行联合训练。为了减少区域提议的选择代价,可以插人一个区域提议网络与 $Fast\ R-CNN$共享所有卷积层,进一步建立更快速区域卷积神经网络 $(Faster\ R-CNN)$,产生几乎零代价的提议预测对象(或称为目标、物体)边界及有关分数 。为了获得实时性能极快的对象检测速度,可以把输入图像划分成许多网格,并通过单个网络构造的整体检测管道,直接从整幅图像预测对象的边框和类概率建立 $YOLO$模型,只需看一遍图像就能知道对象的位置和类别。为了更准确地定位对象,还可以在多尺度特征图的每个位置上,使用不同长宽比的缺省框建立单次检测器 $(SSD)$来取代 $YOLO$。此外,采用空间变换模块有助于卷积神经网络学到对平移、缩放、旋转和其他扭曲更鲁棒的不变性。最后,可以把$Faster\ R-CNN$ 扩展成掩膜区域卷积神经网络$(Mask\ R-CNN)$,在图像中有效检测对象的同时,还能够对每个对象实例生成一个高质量的分割掩膜。

  从优化的角度看,许多技术可以用来训练卷积神经网络,比如丢失输出 、丢失连接和块归一化$(batch\ normalization)$。丢失输出是一种减小过拟合的正则化技术,而丢失连接是丢失输出的推广。块归一化(或批量归一化)则是按迷你块大小对某些层的输入进行归一化处理的方法。此外,残差网络$(Residual\ Network,ResNet)$ 采用跨越2~3层的连接策略也是一种重要的优化技术,可以用来克服极深网络的训练困难。借助残差学习能够快速有效地成功训练超过150层甚至1000层的深层卷积神经网络,他在$ILSVRC$ & $COCO 2015$的多任务评测中发挥了关键作用,全部取得了第一名的突出成绩。最后,为了优化模型的结构,还可以采用火焰模块$(fire\ module)$建立卷积神经网络的挤压模型$SqueezeNet$,也可以结合深度压缩$(deep\ compression)$技术进一步减少网络的参数。

  从模型演变的角度看,卷积神经网络的发展脉络如下图所示。从图中可以看出,现代卷积神经网络以$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$和$AIphaGo$

在这里插入图片描述

应用和影响

  自从卷积神经网络在深度学习领域闪亮登场之后,很快取得了突飞猛进的进展,不仅显著提高了手写字符识别的准确率,而且屡屡在图像分类与识别、目标定位与检测等大规模数据评测竞赛中名列前茅、战绩辉煌。此外,卷积神经网络在人脸验证、交通标志识别、视频游戏、视频分类、语音识别、机器翻译、围棋程序等各个方面也获得广泛的成功应用。

  在手写字符识别方面,$LeCun$等人早在$1998$年就采用卷积神经网络模型使$MNIST$数据集上的错误率达到了$0.95$%以下,$Simard$等人在$2003$年采用交叉训练卷积神经网络把$MNIST$数据集上的错误率进一步降到了$0.4$%,$Ranzato$等人在$2006$年采用大卷积神经网络和无监督预训练又把$MNIST$数据集上的错误率降到了$0.39$%,$Ciresan$等人在$2012$年采用卷积神经网络的委员会模型把$MNIST$数据集上的错误率降到了目前的最低水平$0.23$%。
更详细的统计结果请访问网址http://yann.lecun.com/exdb/mnist/

  在图像分类方面,由$Krizhevsky、Sutshever 和 Hinton$ 组织的超级视觉队$(SuperVision)$于$2012$年实现了一个深层卷积神经网络,参加大规模视觉识别挑战赛(ImageNet LargeScale Visual Recognition Challenge 2012,ILSVRC-2012)时获得了最好的前5测试错误率$(16.4$%$)$,比第二名的成绩低$10$%左右。这个卷积神经网络现在称为$AlexNet$,使用了$“dropout”$优化技术和$“ReLU”$激活函数,以及非常有效的$GPU$实现,显著加快了训练过程。$2013$~$2017$年的挑战赛中,成绩最好的图像分类系统分别是$Claeifai、GoogLeNet$残差网络、六模型集成$(ensemble\ of\ 6\ models)$、双通道网络$(Dual\ Path\ Network.DPN)$,它们都使用了卷积神经网络的模型结构。这些网络获得的前 5 测试错误率分别为$11.7$%、$6.7$%、$3.57$%、$2.99$%和$3.41$%。

  在$ILSVRC$ $2012$~$2017$年的单目标定位挑战赛上,获得最好错误率的系统都集成了卷积神经网络,分别是$AlexNet$、$Overfeat$、$VGGNet$、$ResNet$、集成模型$3(ensemble3)$ 和双通道网络,相应的最好错误率分别为$34.2$%、$29.9$%、$25.3$%、$9.02$%、$7.71$%和$6.22$%。在$ILSVRC-2014$的目标检测挑战赛上,$Lin$ 等人将 $R-CNN和NIN$相结合,获得了$37.2$%的平均准确率,$Szegedy$ 等人使用$GoogLeNet$获得了$43.9$%的平均准确率。在$ILSVRC-2015$的目标检测挑战赛上,$He$ 等人将 $Faster R-CNN$ 和 $ResNet$ 相结合,获得了$62.1$%的平均准确率,比第二名高出了 $8.5$%。在 $2016$ 年的目标检测挑战赛上,$Zeng$ 等人采用门控双向卷积神经网络 $( gated\ bi-directional\ CNN)$,获得了 $66.28$% 的平均准确率在 $2017$ 年的目标检测挑战赛上,$Shuai$ 等人将特征金字塔网络与门控双向卷积神经网络相结合,获得了$73.14$%的平均准确率。

  在人脸验证方面,$Fan$等人于2014年建立了一个金字塔卷积神经网络$(Pyramid\ CNN)$,在$LFW$数据集上获得了$97.3$%的准确率,其中$LFW$是$“Labeled\ Faces\ in\ the\ Wild”$的缩写。$2015$年,$Ding$等人利用精心设计的卷积神经网络和三层堆叠的自编码器建立了一个复杂的混合模型,在$LFW$数据集上获得了高于$99.0$%的准确率。$Sun$等人提出了-个由卷积层和摄人层$(inception\ layer)$堆叠而成的$DeepID3$模型,在$LFW$数据集上获得了$99.53$%的准确率。此外,$Schrof$等人实现了$“FaceNet”$系统,在$LFW$和$YouTube$人脸数据集上分别获得了$99.63$%和$95.12$% 的准确率。

  在交通标志识别方面,$Ciresan$等人于$2011$年实现了一个由卷积神经网络和多层感知器构成的委员会机器,在德国交通标志识别标准数据集$(German\ Traffic\ Sign\ Recognition\ Benchmark,GTSRB)$上获得了$99.15$%的准确率。$2012$年,$Ciresan$等人提出了一个多列卷积神经网络,在$GTSRB$上获得了$99.46$% 的准确率,超过了人类的识别结果。

  在视频游戏方面,$Mnih$等人于$2015$年通过结合卷积神经网络和强化学习,开发了一个深度 Q- 网络智能体的机器玩家 ,只需输人场景像素和游戏得分进行训练,就能够让很多经典的$Atari\ 2600$视频游戏成功学会有效的操作策略,达到与人类专业玩家相当的水平。这种深度 Q- 网络智能体在高维感知输入和行为操纵之间的鸿沟上架起了一座桥梁,能够出色地处理各种具有挑战性的任务。

  在视频分类方面,使用独立子空间分析$(Independent\ Subspace\ Analysis,ISA)$方法Le等人于2011年提出了堆叠卷积ISA 网络,能够从无标签视频数据中学习不变的时空特征。该网络在$Hollyword\ 2$和$YouTube$数据集上分别获得了$53.3$%和$75.8$%的准确率。$2014$年,$Karpathy$等人对卷积神经网络在大规模视频分类上的效果进行了广泛的经验评估,在 $Sports-1M$测试集的$200\ 000$个视频上获得了$63.9$%的$Hit@1$值(即前1准确率)。$2015$年,$Ng$等人采用卷积神经网络和长短期记忆循环神经网络$(LSTM)$的混合模型,在$Sports-1M$测试集上获得了$73.1$%的$Hit@1值$。

  在语音识别方面,$Abdel-Hamid$等人于$2012$年第一次证实,使用卷积神经网络能够在频率坐标轴上有效归一化说话人的差异,并在$TIMIT$音素识别任务上将音素错误率从$20.7$%降到$20.0$%。这些结果在$2013$年被微软研究院的$Abdel-Hamid$等人和$Deng$等人以及$IBM$研究院的$Sainath$等人使用改进的卷积神经网络结构、预训练和池化技术拓展到大词汇语音识别上。进一步的研究表明,卷积神经网络对训练集或者数据差异较小的任务帮助最大。此外,通过结合卷积神经网络、深度神经网络和基于$i-vector$的自适应技术,$IBM$的研究人员在$2014$年说明他们能够将$Switchboard\ Hub500$评估集的词错误率降至$10.4$%。

  在机器翻译方面,$Gehring$等人使用一种全新的卷积神经网络模型进行从序列到序列的学习,能够在非常大的标准数据集上超越循环神经网络的性能,不仅可以大幅提高翻译速度,同时也提高了翻译质量。比如,这种全新的模型在$WMT’16$英语到罗马尼亚语的翻译任务上可比以前最好的系统提高$1.8$的$BLEU$分数,在$WMT’14$英语到法语的翻译任务上可比$Wu$等人的长短期记忆神经翻译模型提高$1.5$的$BLEU$分数在$WMT'14$英语德语的翻译任务上可超过当前最高水平$0.5$的$BLEU$分数。

  在围棋程序方面,谷歌旗下的$DeepMind$公司开发的$AlphaGo$利用深层网络和蒙特卡罗树搜索(Monte Carlo tree search),$2015$ 年 $10$ 月首次在完整的围棋比赛中没有任何让子以5比0战胜了人类的专业选手、欧洲冠军、职业围棋二段选手樊麾,这也是计算机围棋程序首次击败围棋职业棋手。$2016$年$3$月,$AlphaGo$又以4比1战胜了人类的顶尖高手世界冠军、职业围棋九段选手李世石。$2016$年末$2017$年初,$AlphaGo$在中国棋类网站上以$Master$为注册账号与中日韩数十位围棋高手进行快棋对决,连续 6 局无一败绩。$2017$年$5$月,在中国乌镇围棋峰会上,$AlphaGo$以3比0战胜排名世界第一的围棋冠军柯洁。

以上便是卷积神经网络的形成、演变及其它的应用和影响。

✨$\textcolor{blue}{原创不易,还希望各位大佬支持一下}$ <br/>
👍 $\textcolor{green}{点赞,你的认可是我创作的动力!}$ <br/>
⭐️ $\textcolor{green}{收藏,你的青睐是我努力的方向!}$ <br/>
✏️ $\textcolor{green}{评论,你的意见是我进步的财富!}$ <br/>
相关文章
|
8天前
|
机器学习/深度学习 计算机视觉 网络架构
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
纵观近年的顶会论文和研究热点,我们不得不承认一个现实:CNN相关的研究论文正在减少,曾经的"主角"似乎正逐渐淡出研究者的视野。
29 11
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
|
6天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
5天前
|
消息中间件 编解码 网络协议
Netty从入门到精通:高性能网络编程的进阶之路
【11月更文挑战第17天】Netty是一个基于Java NIO(Non-blocking I/O)的高性能、异步事件驱动的网络应用框架。使用Netty,开发者可以快速、高效地开发可扩展的网络服务器和客户端程序。本文将带您从Netty的背景、业务场景、功能点、解决问题的关键、底层原理实现,到编写一个详细的Java示例,全面了解Netty,帮助您从入门到精通。
24 0
|
10天前
|
机器学习/深度学习 移动开发 自然语言处理
HTML5与神经网络技术的结合有哪些其他应用
HTML5与神经网络技术的结合有哪些其他应用
27 3
|
11天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
7天前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
22 0
|
11天前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第32天】本文将介绍深度学习中的一个重要分支——卷积神经网络(CNN),以及其在图像识别领域的应用。我们将通过一个简单的代码示例,展示如何使用Python和TensorFlow库构建一个基本的CNN模型,并对其进行训练和测试。
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】26.卷积神经网络之AlexNet模型介绍及其Pytorch实现【含完整代码】
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
|
3月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch代码实现神经网络
这段代码示例展示了如何在PyTorch中构建一个基础的卷积神经网络(CNN)。该网络包括两个卷积层,分别用于提取图像特征,每个卷积层后跟一个池化层以降低空间维度;之后是三个全连接层,用于分类输出。此结构适用于图像识别任务,并可根据具体应用调整参数与层数。

热门文章

最新文章