(完整版)卷积神经网络CNN原理、改进及应用
深度学习中的卷积神经网络与循环神经网络

深度学习中的卷积神经网络与循环神经网络深度学习是目前人工智能领域最为炙手可热的技术之一,它在图像识别、语音识别、自然语言处理等领域都取得了显著的成就。
而在深度学习领域中,卷积神经网络和循环神经网络是两个重要的模型,它们在不同的任务中展现出了卓越的性能。
本文将重点介绍卷积神经网络和循环神经网络的原理、结构和应用,旨在帮助读者更好地理解这两种神经网络模型。
一、卷积神经网络(Convolutional Neural Network,CNN)1.1原理卷积神经网络是受到生物视觉系统的启发而提出的一种深度学习模型,它模拟了人类视觉皮层的工作原理。
在卷积神经网络中,包含了卷积层、池化层和全连接层等组件。
卷积层是卷积神经网络的核心组件,它通过卷积操作从输入数据中提取特征。
卷积操作可以有效地减少参数数量,并且能够捕捉数据中的局部特征。
此外,卷积操作还具有平移不变性,能够识别特征在不同位置的模式。
池化层通常紧跟在卷积层后面,它的作用是降低特征图的尺寸,并减少模型对位置的敏感度。
常见的池化操作有最大池化和平均池化,它们分别选择特征图中的最大值和平均值作为输出。
全连接层是卷积神经网络中的最后一层,它将特征图展平成一维向量,并通过全连接操作将提取的特征进行分类或回归。
1.2结构卷积神经网络通常由多个卷积层、池化层和全连接层构成,其中卷积层和池化层交替出现,而全连接层通常出现在网络的最后一部分。
卷积神经网络的结构可以根据具体的任务进行调整,以达到更好的性能。
1.3应用卷积神经网络在图像识别、物体检测、人脸识别等领域取得了巨大的成功。
以ImageNet图像识别比赛为例,卷积神经网络模型始终是各种比赛的最佳选择,它在复杂的图像数据上展现了出色的识别性能。
此外,卷积神经网络还被广泛应用于医学影像识别、自动驾驶、智能安防等领域。
二、循环神经网络(Recurrent Neural Network,RNN)2.1原理循环神经网络是一种能够处理时序数据的神经网络模型,它具有记忆能力,能够对序列数据进行建模。
卷积神经网络的原理及应用

卷积神经网络的原理及应用1. 介绍卷积神经网络(Convolutional Neural Network, CNN)是一种深度学习算法,特别适用于处理图像和视频等二维数据。
CNN通过卷积操作和池化操作,能够有效地提取图像中的特征。
本文将介绍卷积神经网络的原理并探讨其在图像分类、物体检测和人脸识别等领域的应用。
2. 卷积神经网络的原理2.1 卷积操作卷积操作是卷积神经网络的核心。
它通过在输入数据上滑动滤波器(也称为卷积核)并对每个滑动位置的数据进行点乘累加来实现特征提取。
卷积操作可以捕捉图像中的局部特征,并且具有参数共享和稀疏连接的优势。
2.2 池化操作池化操作是卷积神经网络的另一个重要操作。
它通过在特征图上滑动池化窗口并对窗口内的值进行聚合操作(例如最大值池化或平均值池化),从而减小特征图的尺寸并保留重要的特征。
2.3 激活函数激活函数在卷积神经网络中起到引入非线性的作用。
常用的激活函数有ReLU、Sigmoid和Tanh等。
激活函数能够增加网络的表达能力,并帮助网络学习非线性的特征。
2.4 损失函数损失函数是衡量模型输出与实际值之间差距的指标。
在卷积神经网络中,常用的损失函数包括交叉熵损失和均方误差损失等。
通过优化损失函数,卷积神经网络能够学习到更好的特征表示。
3. 卷积神经网络的应用3.1 图像分类卷积神经网络在图像分类任务中取得了显著的成功。
它通过多层卷积和池化操作提取图像中的特征,并通过全连接层进行分类。
AlexNet、VGG和ResNet等经典卷积神经网络模型在ImageNet图像分类挑战赛上取得了优异的成绩。
3.2 物体检测物体检测是指在图像中定位和识别出物体的任务。
卷积神经网络可以通过在图像上滑动不同大小的窗口进行物体检测,但这种方法计算量大且效果不佳。
近年来,一种称为Faster R-CNN的卷积神经网络模型结合了区域提议网络和卷积神经网络,大大提升了物体检测的准确性和效率。
3.3 人脸识别卷积神经网络在人脸识别领域也取得了重要的突破。
简述卷积神经网络(CNN)和循环神经网络(RNN)的原理及应用场景

简述卷积神经网络(CNN)和循环神经网络(RNN)的原理及应用场景卷积神经网络(CNN)和循环神经网络(RNN)是当前深度学习领域最为重要和广泛应用的两种神经网络模型。
它们分别在计算机视觉和自然语言处理等领域取得了巨大的成功。
本文将从原理和应用场景两个方面进行详细介绍。
一、卷积神经网络(CNN)的原理及应用场景卷积神经网络(CNN)是一种专门用于处理具有网格结构数据的深度学习模型。
它最初是为了解决计算机视觉中的图像分类问题而提出的,但现在已经广泛应用于图像识别、目标检测、语义分割等多个领域。
1.1 原理卷积神经网络(CNN)主要由卷积层、池化层和全连接层组成。
其中,卷积层是CNN最重要的组成部分,它通过一系列滤波器对输入数据进行特征提取。
滤波器通过与输入数据进行点乘操作,得到特征图(feature map),从而捕捉到输入数据中的局部特征。
池化层用于减小特征图的尺寸,并保留重要特征。
常见的池化操作有最大池化和平均池化。
最大池化选择每个区域中的最大值作为输出,平均池化则选择每个区域的平均值作为输出。
这样可以减小特征图的尺寸,减少参数数量,从而降低计算复杂度。
全连接层将特征图转换为一维向量,并通过一系列全连接层进行分类或回归等任务。
全连接层中的每个神经元都与上一层中所有神经元相连,这样可以充分利用上一层提取到的特征进行分类。
1.2 应用场景卷积神经网络(CNN)在计算机视觉领域有着广泛应用。
其中最典型的应用场景是图像分类和目标检测。
在图像分类任务中,CNN可以通过学习到的特征提取器将输入图像分为不同类别。
例如,在ImageNet数据集上进行分类任务时,CNN可以实现对1000个不同类别进行准确分类。
在目标检测任务中,CNN可以识别并定位输入图像中存在的多个目标。
通过在卷积网络之后加入额外的回归和分类层,可以实现对目标位置和类别进行同时预测。
此外,在语义分割、人脸识别、图像生成等领域,CNN也有着广泛的应用。
医学影像处理中卷积神经网络的研究与应用

医学影像处理中卷积神经网络的研究与应用近年来,随着人们对健康的关注不断提高,医学影像技术在临床诊断中得到越来越广泛的应用。
为了更准确地分析影像数据,卷积神经网络(Convolutional Neural Network,简称CNN)在医学影像处理中也得到了广泛的应用。
本文就医学影像处理中CNN的研究与应用进行探讨。
一、CNN的分类CNN是一种用于图像、语音和自然语言处理等的深度学习模型,它来自于计算机视觉领域。
CNN可以分为两种类型:浅层CNN和深度CNN。
浅层CNN主要由几个卷积层、池化层和全连接层构成,深度CNN由多个卷积层、池化层和全连接层构成,通常具有更好的效果和更高的准确率。
二、CNN在医学影像识别中的应用CNN在医学影像识别中的应用主要包括下列几个方面:1.识别医学图像上的异常信息医学影像通常包括X光片、核磁共振、计算机断层扫描等各种类型的图像,这些图像中的异常信息通常需要医生进行快速而精确的诊断。
CNN可以通过训练数据来识别和分析这些异常信息,从而帮助医生更快速、准确地做出诊断。
2.支持医学决策医学决策通常需要对各种医学影像数据进行集成分析,来了解相关的疾病状况。
与传统方法相比,CNN可以更好地识别关键数据,并且通过多个学习层次进行决策预测。
3.改进图像质量医学影像处理中,有些图像因为拍摄设备、拍摄的方式或者患者的生理状况等原因可能出现噪声或其他质量问题,CNN模型可以准确地识别相关问题并改进影像质量,帮助医生更精确地诊断。
三、医学影像处理中CNN的发展与应用展望医学影像处理是一个快速发展的领域,随着技术日益成熟,CNN在该领域的应用也愈发广泛。
未来,CNN模型有望在医学影像处理领域中扩大其应用,比如在实时影像处理方面,可以通过CNN技术实现更快的决策预测;在图像识别方面,CNN模型可以逐渐替代传统的图像处理技术,从而实现更准确的医学诊断结果。
总之,CNN技术的应用为医学影像处理带来了巨大的进步,未来有望广泛应用于临床诊断中,优化医疗服务,使得诊断更快速、更准确。
卷积神经网络中的随机失活和扰动操作优化方法

卷积神经网络中的随机失活和扰动操作优化方法卷积神经网络(Convolutional Neural Network, CNN)是一种在计算机视觉领域中广泛应用的深度学习模型。
随机失活(Dropout)和扰动操作(Perturbation)是CNN中常用的优化方法,用于提高模型的泛化能力和鲁棒性。
本文将从理论和实践两个方面探讨随机失活和扰动操作的原理和应用。
一、随机失活的原理与应用随机失活是一种通过在训练过程中随机丢弃部分神经元的方法,以减少模型的过拟合现象。
其原理是通过随机失活,使得网络不依赖于特定的神经元,从而增强了模型的泛化能力。
在CNN中,随机失活通常应用于全连接层,即在每次训练迭代中,以一定的概率p随机丢弃部分神经元。
随机失活的应用可以有效地提高模型的泛化能力。
通过随机失活,可以减少模型对于某些特定特征的依赖,从而使得模型更具有鲁棒性。
此外,随机失活还可以有效地防止模型的过拟合现象,提高模型的泛化能力。
二、扰动操作的原理与应用扰动操作是一种通过对输入数据进行随机扰动的方法,以增加模型对于噪声的鲁棒性。
其原理是通过对输入数据进行扰动,使得模型能够更好地适应不同的输入情况。
在CNN中,扰动操作通常应用于输入层,即在每次训练迭代中,对输入数据进行一定的扰动。
扰动操作的应用可以提高模型的鲁棒性。
通过对输入数据进行扰动,可以使得模型对于噪声和变化更加鲁棒,从而提高模型的泛化能力。
此外,扰动操作还可以有效地防止模型对于特定输入的过拟合现象,增加模型的泛化能力。
三、随机失活和扰动操作的结合应用随机失活和扰动操作可以相互结合,进一步提高模型的泛化能力和鲁棒性。
通过在训练过程中同时应用随机失活和扰动操作,可以使得模型更具有鲁棒性,并且能够更好地适应不同的输入情况。
在实际应用中,可以通过调节随机失活和扰动操作的参数来优化模型的性能。
例如,可以通过调节随机失活的概率p来控制丢弃神经元的比例,进而影响模型的泛化能力。
卷积神经网络的原理和应用

卷积神经网络的原理和应用1. 引言卷积神经网络(Convolutional Neural Network,简称CNN)是一种深度学习算法,通过模仿人脑视觉系统的工作原理来解决图像识别、目标检测、人脸识别等问题。
近年来,卷积神经网络在计算机视觉领域取得了重大突破,并在许多应用中取得了优秀的效果。
2. 原理卷积神经网络基于神经元之间的连接方式和权重共享的思想。
它的基本组成部分包括卷积层、池化层和全连接层。
其中,卷积层利用卷积核对输入数据进行卷积操作,从而提取图像的特征。
池化层通过降采样的方式减小特征图的尺寸,减少计算量并增强模型对空间不变性的学习能力。
全连接层则将卷积层和池化层的输出连接起来,进一步提取特征并将其映射到最终的输出。
2.1 卷积层卷积层是卷积神经网络的核心组件之一。
它通过滑动窗口的方式对输入数据进行卷积操作,从而提取图像的局部特征。
卷积操作的参数包括卷积核的大小、步长、填充等。
在卷积操作过程中,卷积核与输入数据的对应位置相乘,然后将结果相加得到输出特征图的一个像素值。
2.2 池化层池化层用于减小特征图的尺寸,从而降低计算量并增强模型对空间不变性的学习能力。
常见的池化操作有最大池化和平均池化。
最大池化选取输入数据中的最大值作为输出,平均池化则取输入数据的平均值作为输出。
池化操作的参数包括池化核的大小和步长。
2.3 全连接层全连接层将卷积层和池化层的输出连接起来,进一步提取特征并将其映射到最终的输出。
全连接层中的每个神经元都与前一层的所有神经元相连,权重是学习得到的参数。
全连接层通常用于分类任务,最后一层的输出经过Softmax函数处理,得到每个类别的概率分布。
3. 应用卷积神经网络在计算机视觉领域有许多重要的应用。
3.1 图像识别图像识别是卷积神经网络的主要应用之一。
通过训练一个深层的卷积神经网络模型,可以实现对图像中的物体进行准确的识别。
例如,可以利用卷积神经网络对手写数字进行识别,或者对复杂的自然图像进行分类。
深度卷积神经网络的原理与应用

深度卷积神经网络的原理与应用深度卷积神经网络(Deep Convolutional Neural Network, DCNN)是一种在计算机视觉领域取得巨大成功的深度学习模型。
它通过模拟人脑视觉系统的工作原理,能够对图像进行高效的特征提取和分类。
本文将介绍DCNN的原理、结构和应用,并探讨其在计算机视觉领域的前沿研究。
一、DCNN的原理DCNN的核心思想是模拟人脑视觉系统中的神经元活动。
人脑视觉系统通过多层次的神经元网络对图像进行处理,从低级特征(如边缘、纹理)逐渐提取到高级特征(如形状、物体)。
DCNN也采用了类似的层次结构,通过多层卷积和池化层对图像进行特征提取,再通过全连接层进行分类。
具体来说,DCNN的核心组件是卷积层。
卷积层通过一系列的卷积核对输入图像进行卷积操作,提取图像的局部特征。
每个卷积核对应一个特定的特征,如边缘、纹理等。
卷积操作可以有效地减少参数数量,提高计算效率。
此外,卷积层还通过非线性激活函数(如ReLU)引入非线性,增加模型的表达能力。
为了减小特征图的尺寸,DCNN还引入了池化层。
池化层通过对特征图进行降采样,保留重要的特征同时减小计算量。
常用的池化操作有最大池化和平均池化。
通过多次卷积和池化操作,DCNN可以逐渐提取出图像的高级特征。
二、DCNN的结构DCNN的结构通常由多个卷积层、池化层和全连接层组成。
其中,卷积层和池化层用于特征提取,全连接层用于分类。
除了这些基本组件,DCNN还可以引入一些额外的结构来提高性能。
一种常见的结构是残差连接(Residual Connection)。
残差连接通过跳过卷积层的部分输出,将输入直接与输出相加,从而解决了深层网络训练困难的问题。
这种结构能够有效地减少梯度消失和梯度爆炸,加速网络收敛。
另一种常见的结构是注意力机制(Attention Mechanism)。
注意力机制通过给予不同特征不同的权重,使网络能够更加关注重要的特征。
这种结构在处理复杂场景或多目标识别时能够提升模型的性能。
一文看懂卷积神经网络-CNN(基本原理独特价值实际应用)

⼀⽂看懂卷积神经⽹络-CNN(基本原理独特价值实际应⽤)卷积神经⽹络 – CNN 最擅长的就是图⽚的处理。
它受到⼈类视觉神经系统的启发。
CNN 有2⼤特点:能够有效的将⼤数据量的图⽚降维成⼩数据量能够有效的保留图⽚特征,符合图⽚处理的原则⽬前 CNN 已经得到了⼴泛的应⽤,⽐如:⼈脸识别、⾃动驾驶、美图秀秀、安防等很多领域。
CNN 解决了什么问题?在 CNN 出现之前,图像对于⼈⼯智能来说是⼀个难题,有2个原因:图像需要处理的数据量太⼤,导致成本很⾼,效率很低图像在数字化的过程中很难保留原有的特征,导致图像处理的准确率不⾼下⾯就详细说明⼀下这2个问题:需要处理的数据量太⼤图像是由像素构成的,每个像素⼜是由颜⾊构成的。
现在随随便便⼀张图⽚都是 1000×1000 像素以上的,每个像素都有RGB 3个参数来表⽰颜⾊信息。
假如我们处理⼀张 1000×1000 像素的图⽚,我们就需要处理3百万个参数!1000×1000×3=3,000,000这么⼤量的数据处理起来是⾮常消耗资源的,⽽且这只是⼀张不算太⼤的图⽚!卷积神经⽹络 – CNN 解决的第⼀个问题就是「将复杂问题简化」,把⼤量参数降维成少量参数,再做处理。
更重要的是:我们在⼤部分场景下,降维并不会影响结果。
⽐如1000像素的图⽚缩⼩成200像素,并不影响⾁眼认出来图⽚中是⼀只猫还是⼀只狗,机器也是如此。
保留图像特征图⽚数字化的传统⽅式我们简化⼀下,就类似下图的过程:图像简单数字化⽆法保留图像特征图像的内容假如有圆形是1,没有圆形是0,那么圆形的位置不同就会产⽣完全不同的数据表达。
但是从视觉的⾓度来看,图像的内容(本质)并没有发⽣变化,只是位置发⽣了变化。
(本质)并没有发⽣变化,只是位置发⽣了变化所以当我们移动图像中的物体,⽤传统的⽅式的得出来的参数会差异很⼤!这是不符合图像处理的要求的。
⽽ CNN 解决了这个问题,他⽤类似视觉的⽅式保留了图像的特征,当图像做翻转,旋转或者变换位置时,它也能有效的识别出来是类似的图像。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
卷积神经网络(CNN)一、简介卷积神经网络(Convolutional Neural Networks,简称CNN)是近年发展起来,并引起广泛重视的一种高效的识别方法。
1962年,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的局部互连网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络[1](Convolutional Neural Networks-简称CNN)7863。
现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。
Fukushima在1980年基于神经元间的局部连通性和图像的层次组织转换,为解决模式识别问题,提出的新识别机(Neocognitron)是卷积神经网络的第一个实现网络[2]。
他指出,当在不同位置应用具有相同参数的神经元作为前一层的patches时,能够实现平移不变性1296。
随着1986年BP算法以及T-C问题[3](即权值共享和池化)9508的提出,LeCun和其合作者遵循这一想法,使用误差梯度(the error gradient)设计和训练卷积神经网络,在一些模式识别任务中获得了最先进的性能[4][5]。
在1998年,他们建立了一个多层人工神经网络,被称为LeNet-5[5],用于手写数字分类,这是第一个正式的卷积神经网络模型3579。
类似于一般的神经网络,LeNet-5有多层,利用BP算法来训练参数。
它可以获得原始图像的有效表示,使得直接从原始像素(几乎不经过预处理)中识别视觉模式成为可能。
然而,由于当时大型训练数据和计算能力的缺乏,使得LeNet-5在面对更复杂的问题时,如大规模图像和视频分类,不能表现出良好的性能。
因此,在接下来近十年的时间里,卷积神经网络的相关研究趋于停滞,原因有两个:一是研究人员意识到多层神经网络在进行BP训练时的计算量极其之大,当时的硬件计算能力完全不可能实现;二是包括SVM在内的浅层机器学习算法也渐渐开始暂露头脚。
直到2006年,Hinton终于一鸣惊人,在《科学》上发表文章,使得CNN再度觉醒,并取得长足发展。
随后,更多的科研工作者对该网络进行了改进。
其中,值得注意的是Krizhevsky等人提出的一个经典的CNN架构,相对于图像分类任务之前的方法,在性能方面表现出了显著的改善2674。
他们方法的整体架构,即AlexNet[9](也叫ImageNet),与LeNet-5相似,但具有更深的结构。
它包括8个学习层(5个卷积与池化层和3个全连接层),前边的几层划分到2个GPU上,(和ImageNet 是同一个)并且它在卷积层使用ReLU作为非线性激活函数,在全连接层使用Dropout减少过拟合。
该深度网络在ImageNet大赛上夺冠,进一步掀起了CNN学习热潮。
一般地,CNN包括两种基本的计算,其一为特征提取,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。
一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。
特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。
此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。
这两种操作形成了CNN的卷积层。
此外,卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,即池化层,这种特有的两次特征提取结构减小了特征分辨率。
CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。
由于CNN的特征检测层通过训练数据进行学习,所以在使用CNN时,避免了显式地特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。
卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。
注:红色数字表示相应文献的引用量。
二、卷积神经网络 vs神经网络神经网络首先简要介绍下神经网络。
神经网络的每个单元如下:其对应的公式如下:其中,该单元也可以被称作是Logistic回归模型。
当将多个单元组合起来并具有分层结构时,就形成了神经网络模型。
下图展示了一个具有一个隐含层的神经网络。
其对应的公式如下:比较类似的,可以拓展到有个隐含层。
神经网络的训练方法也同Logistic类似,不过由于其多层性,还需要利用链式求导法则对隐含层的节点进行求导,即梯度下降+链式求导法则,专业名称为反向传播。
神经网络的权值调整过程如下(BP算法):①计算误差函数;②误差函数对权系数偏微分的计算<1>对输出层权系数的微分:(求导链式法则)输出层第个神经元的总输入:令,可得<2>对隐层权系数的微分:隐含层第个神经元的总输入:令,可得<3>权系数的更新η根据计算误差修正权值,最终使得误差值最小,此时就建立好了神经网络模型。
卷积神经网络的权值调整过程也多采用BP算法。
卷积神经网络目前有许多CNN架构的变体,但它们的基本结构非常相似。
CNN 的基本体系结构通常由三种层构成,分别是卷积层、池化层和全连接层。
64×64Convolution卷积层旨在学习输入的特征表示。
如图,卷积层由几个特征图(feature maps)组成。
一个特征图的每个神经元与它前一层的临近神经元相连,这样的一个邻近区域叫做该神经元在前一层的局部感知野。
为了计算一个新的特征图,输入特征图首先与一个学习好的卷积核(也被称为滤波器、特征检测器)做卷积,然后将结果传递给一个非线性激活函数。
通过应用不同的卷积核得到新的特征图。
注意到,生成一个特征图的核是相同的。
(也就是权值共享)这样的一个权值共享模式有几个优点,如可以减少模型的复杂度,使网络更易训练等。
激活函数描述CNN的非线性度,对多层网络检测非线性特征十分理想。
典型的激活函数有sigmoid、tanh和ReLU。
池化层旨在通过降低特征图的分辨率实现空间不变性。
它通常位于两个卷积层之间。
每个池化层的特征图和它相应的前一卷积层的特征图相连,因此它们的特征图数量相同。
典型的池化操作是平均池化和最大池化。
通过叠加几个卷积和池化层,我们可以提取更抽象的特征表示。
几个卷积和池化层之后,通常有一个或多个全连接层。
它们将前一层所有的神经元与当前层的每个神经元相连接,在全连接层不保存空间信息。
下面对各层进行详细的分析与介绍:在图像处理中,往往把图像表示为像素的向量,比如一个1000×1000的图像,可以表示为一个1000000的向量。
在上一节中提到的神经网络中,如果隐含层数目与输入层一样,即也是1000000时,那么输入层到隐含层的参数数据为,这样就太多了,基本没法训练,所以必需先减少参数加快速度。
卷积层(The convolutional layer)1、局部感知卷积神经网络有两种神器可以降低参数数目,第一种神器叫做局部感知野。
一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。
因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息。
网络部分连通的思想,也是受启发于生物学里面的视觉系统结构。
视觉皮层的神经元就是局部接受信息的(即这些神经元只响应某些特定区域的刺激)。
如下图所示:左图为全连接,右图为局部连接。
在上右图中,假如每个神经元只和它前一层邻近的10×10个像素值相连,那么权值数据为1000000×100个参数,减少为原来的万分之一。
而那10×10个像素值对应的10×10个参数,其实就相当于卷积操作。
2、权值共享但其实这样的话参数仍然过多,那么就启动第二级神器,即权值共享。
在上面的局部连接中,每个神经元都对应100个参数,一共1000000个神经元,如果这1000000个神经元的100个参数都是相等的,那么参数数目就变为100了。
怎么理解权值共享呢我们可以这100个参数(也就是卷积操作)看成是提取特征的方式,该方式与位置无关。
这其中隐含的原理则是:图像的一部分的统计特性与其他部分是一样的。
这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。
更直观一些,当从一个大尺寸图像中随机选取一小块,比如说8×8 作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个8×8 样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。
特别是,我们可以用从8×8 样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。
如下图所示,展示了一个3×3的卷积核在5×5的图像上做卷积的过程。
每个卷积都是一种特征提取方式,就像一个筛子,将图像中符合条件的部分筛选出来。
(图片为gif格式)3、多卷积核上面所述只有100个参数时,表明只有1个10×10的卷积核,显然,特征提取是不充分的,我们可以添加多个卷积核,比如32个卷积核,可以学习32种特征。
在有多个卷积核时,如下图所示:上图右,不同颜色表明不同的卷积核。
每个卷积核都会将图像生成为另一幅图像。
比如两个卷积核就可以将生成两幅图像,这两幅图像可以看做是一张图像的不同的通道,如下图所示。
下图展示了在四个通道上的卷积操作,有两个卷积核,生成两个通道。
其中需要注意的是,四个通道上每个通道对应一个卷积核,先将忽略,只看,那么在的某位置处的值,是由四个通道上处邻近区域的卷积结果相加然后再取激活函数(假设选择tanh 函数)值得到的。
所以,在上图由4个通道卷积得到2个通道的过程中,参数的数目为4×2×2×2个,其中4表示4个通道,第一个2表示生成2个通道,最后的2×2表示卷积核大小。
池化层(The pooling layer)在通过卷积获得了特征 (features) 之后,下一步我们希望利用这些特征去做分类。
理论上讲,人们可以用所有提取得到的特征去训练分类器,例如 softmax 分类器,但这样做面临计算量的挑战。
例如:对于一个 96×96 像素的图像,假设我们已经学习得到了400个定义在8×8输入上的特征(即:有400个卷积核),每一个特征和图像卷积都会得到一个 (96 − 8 + 1) × (96 − 8 + 1) = 7921 维的卷积特征,由于有 400 个特征,所以每个样例 (example) 都会得到一个7921× 400 = 3,168,400 维的卷积特征向量。