一文读懂卷积神经网络CNN

合集下载

深度学习中的卷积神经网络与循环神经网络

深度学习中的卷积神经网络与循环神经网络

深度学习中的卷积神经网络与循环神经网络深度学习是目前人工智能领域最为炙手可热的技术之一,它在图像识别、语音识别、自然语言处理等领域都取得了显著的成就。

而在深度学习领域中,卷积神经网络和循环神经网络是两个重要的模型,它们在不同的任务中展现出了卓越的性能。

本文将重点介绍卷积神经网络和循环神经网络的原理、结构和应用,旨在帮助读者更好地理解这两种神经网络模型。

一、卷积神经网络(Convolutional Neural Network,CNN)1.1原理卷积神经网络是受到生物视觉系统的启发而提出的一种深度学习模型,它模拟了人类视觉皮层的工作原理。

在卷积神经网络中,包含了卷积层、池化层和全连接层等组件。

卷积层是卷积神经网络的核心组件,它通过卷积操作从输入数据中提取特征。

卷积操作可以有效地减少参数数量,并且能够捕捉数据中的局部特征。

此外,卷积操作还具有平移不变性,能够识别特征在不同位置的模式。

池化层通常紧跟在卷积层后面,它的作用是降低特征图的尺寸,并减少模型对位置的敏感度。

常见的池化操作有最大池化和平均池化,它们分别选择特征图中的最大值和平均值作为输出。

全连接层是卷积神经网络中的最后一层,它将特征图展平成一维向量,并通过全连接操作将提取的特征进行分类或回归。

1.2结构卷积神经网络通常由多个卷积层、池化层和全连接层构成,其中卷积层和池化层交替出现,而全连接层通常出现在网络的最后一部分。

卷积神经网络的结构可以根据具体的任务进行调整,以达到更好的性能。

1.3应用卷积神经网络在图像识别、物体检测、人脸识别等领域取得了巨大的成功。

以ImageNet图像识别比赛为例,卷积神经网络模型始终是各种比赛的最佳选择,它在复杂的图像数据上展现了出色的识别性能。

此外,卷积神经网络还被广泛应用于医学影像识别、自动驾驶、智能安防等领域。

二、循环神经网络(Recurrent Neural Network,RNN)2.1原理循环神经网络是一种能够处理时序数据的神经网络模型,它具有记忆能力,能够对序列数据进行建模。

简述卷积神经网络(CNN)和循环神经网络(RNN)的原理及应用场景

简述卷积神经网络(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)和循环神经网络(Recurrent Neural Network,RNN)是目前深度学习领域最为流行的两种神经网络架构。

它们分别适用于不同的数据类型和任务,能够有效地处理图像、语音、文本等各种形式的数据。

一、卷积神经网络卷积神经网络是一种专门用于处理格状数据(如图像)的神经网络模型。

它的核心思想是利用卷积操作对输入数据进行特征提取,然后通过池化操作减小特征图的尺寸,最后将提取到的特征输入全连接层进行分类或回归。

卷积神经网络的结构主要包括卷积层、池化层和全连接层。

1.1卷积层卷积层是卷积神经网络的核心组件,它通过卷积操作对输入数据进行特征提取。

卷积操作是指使用一个滤波器(也称为卷积核)在输入数据上进行滑动计算,得到对应位置的输出。

滤波器的参数是在训练过程中通过反向传播算法学习得到的。

在图像处理中,卷积操作可以帮助提取图像中的边缘、纹理、角点等特征。

卷积层一般会使用多个不同的滤波器,从而提取多个不同的特征。

1.2池化层池化层是利用池化操作对卷积层的输出进行降采样,从而减小特征图的尺寸。

常见的池化操作有最大池化和平均池化。

最大池化是保留每个区域内的最大值作为输出,平均池化是计算每个区域内的平均值作为输出。

池化操作的目的是减少计算复杂度和减小过拟合。

1.3全连接层全连接层是卷积神经网络的最后一层,它将池化层的输出作为输入进行分类或回归。

全连接层的每个神经元都与上一层的所有神经元相连,输出一个标量值。

全连接层通常使用一种称为softmax的函数将输出转化为概率分布,再根据不同任务进行相应的损失函数计算和优化。

卷积神经网络通过共享权重和局部感知野的设计,大大减少了模型参数的数量,同时也能够保留输入数据的局部结构特征。

这使得卷积神经网络在图像识别、目标检测、语义分割等计算机视觉任务中取得了很大的成功。

二、循环神经网络循环神经网络是一种专门用于处理序列数据(如语音、文本)的神经网络模型。

卷积神经网络原理

卷积神经网络原理

卷积神经网络原理卷积神经网络(Convolutional Neural Network,简称CNN)是一种深度学习的机器学习模型,广泛应用于图像识别、语音识别、自然语言处理等领域。

CNN以其良好的特征提取能力而著名。

CNN的核心思想是局部感知和权重共享。

它通过使用卷积层来对输入数据进行滤波和特征提取,然后使用池化层来降低特征图的空间维度。

这一过程不仅能够减少参数数量,还能提取图像的空间局部性特征。

在CNN中,卷积层通过滑动窗口的方式对输入图像进行扫描,并使用一组可学习的过滤器(也称为卷积核)对输入图像进行卷积操作。

每个过滤器与输入图像的一个局部区域进行卷积计算,并生成一个特征图。

这些特征图反映了输入图像在不同位置上的不同特征。

卷积操作的关键之处在于权重共享。

在卷积操作中,每个过滤器的参数在整个输入图像上是共享的,这意味着无论输入图像的哪个位置,同一个过滤器都会使用相同的参数进行卷积计算。

这种权重共享的方式大大减少了需要学习的参数数量,提高了模型的训练效率。

池化层通常紧跟在卷积层之后,用于减小特征图的维度,同时保留重要的特征信息。

最常用的池化操作是最大池化,它通过在每个局部区域中选择最大的特征值来降低特征图的空间维度。

这种方式能够有效地减少参数数量,并减轻模型过拟合的风险。

CNN通常还包括全连接层和激活函数层。

全连接层将特征图展平为一个向量,并通过全连接操作学习出输入和输出之间的非线性映射关系。

激活函数层则引入非线性变换,增加模型的表达能力。

通过反向传播算法,CNN能够自动学习特征提取过程中的参数,并根据给定的标签进行训练。

训练完毕后,CNN可以对未知的输入数据进行预测和分类。

总之,卷积神经网络是一种在计算机视觉和其他领域中广泛应用的深度学习模型。

它通过卷积层和池化层实现特征提取,通过全连接层和激活函数层实现分类和预测。

通过权重共享和非线性变换等机制,CNN能够有效地处理图像识别和其他复杂任务。

一文看懂卷积神经网络-CNN(基本原理独特价值实际应用)

一文看懂卷积神经网络-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 解决了这个问题,他⽤类似视觉的⽅式保留了图像的特征,当图像做翻转,旋转或者变换位置时,它也能有效的识别出来是类似的图像。

深度学习技术中的卷积神经网络结构和特点解析

深度学习技术中的卷积神经网络结构和特点解析

深度学习技术中的卷积神经网络结构和特点解析卷积神经网络(Convolutional Neural Network,CNN)是当今深度学习技术中最重要的模型之一。

它被广泛应用于计算机视觉、自然语言处理、语音识别等领域。

本文将解析卷积神经网络的结构和特点,帮助读者更好地理解和运用这一强大的深度学习工具。

一、卷积神经网络的结构卷积神经网络由多层神经网络组成,每一层由多个神经元组成。

其中,最重要的几层是卷积层(Convolutional Layer)、池化层(Pooling Layer)和全连接层(Fully Connected Layer)。

1. 卷积层:卷积层是卷积神经网络的核心层之一。

它通过使用一组可学习的滤波器(或称为卷积核)对输入数据进行卷积操作,并生成特征图(Feature Map)。

卷积操作通过在输入数据中滑动卷积核,并在每个位置上执行点乘运算,得到对应位置的特征。

卷积层的特点在于共享权重。

这意味着在同一层的不同位置使用的卷积核是相同的,因此卷积层的参数量大大减少,使得网络更加简化。

2. 池化层:池化层用于对卷积层的特征进行降维和抽象。

它通过固定大小的滑动窗口在特征图上进行采样,并将采样结果汇聚为一个值。

常见的池化方法有最大池化和平均池化。

池化层能够减少参数数量,降低过拟合的风险,同时也增强特征的不变性和鲁棒性,使得网络对于输入数据的微小变化具有更好的鲁棒性。

3. 全连接层:全连接层是卷积神经网络的最后一层,也是输出层。

它将前面的隐藏层与最终的分类器相连,将特征转化为概率或标签。

全连接层的每个神经元与前一层中的所有神经元都有连接关系。

全连接层的作用是将抽取到的特征与实际标签进行匹配,从而进行最终的分类判断。

二、卷积神经网络的特点1. 局部感知性:卷积神经网络通过卷积操作对输入数据进行特征提取,并利用池化操作定位和提取最显著的特征。

这种局部感知性使得网络对于局部信息具有更好的提取和理解能力。

卷积神经网络(CNN)介绍

卷积神经网络(CNN)介绍

卷积神经网络(CNN)介绍一、基本概念CNN是卷积神经网络(Convolutional Neural Network)的缩写,是目前深度学习中应用广泛的一种神经网络型号,它是一种能够处理序列数据的深度学习模型,如语音识别、自然语言处理等在许多应用中被广泛使用。

CNN是一种前馈神经网络,每个神经元只与与其之前一段距离之内的神经元相连。

它具有强大的特征提取能力和权值共享机制,可以帮助识别出图像、音频和文本中的重要特征。

CNN将输入图像分成若干个子区域,每个子区域被称为卷积核,每个卷积核由若干个神经元组成。

每个卷积核得出一个特征图,这些特征图被拼接起来形成下一层的输入。

CNN在应用中通常包含卷积层、池化层、全连接层和Softmax 层等。

卷积层用于提取图像特征,池化层用于减少特征数量,全连接层用于分类,Softmax层用于输出最终分类结果。

然而,就像其他的技术一样,CNN在实践中也会遇到各种问题。

人工智能工程师在设计和调试CNN时,经常遇到的问题包括过拟合、欠拟合、梯度消失、训练速度慢等。

此外,当CNN 不起作用时,如何快速而准确地诊断相关问题也是一个极其重要的挑战。

二、故障分析与解决方案面对CNN故障,我们可以通过以下几个方面来进行诊断,并尝试找到解决方案。

1. 数据集问题CNN模型需要大量的数据才能训练出准确的模型。

如果训练集不够大,其结果可能会出现不准确的情况。

同时,过拟合也可能出现在训练集数据少,但是特征比较多时。

解决方案:增加训练集,尽可能丰富数据覆盖的范围。

此外,有效的数据预处理方法,如旋转、翻转、缩放等,也能有效地增加训练集的样本。

2. 设计问题CNN模型的设计非常重要,关系到CNN在应用中的准确性。

解决方案:对于CNN的设计,可以采用预训练模型,或选择较好的网络结构和优化算法。

3. 训练问题CNN模型需要进行“拟合”和“调整”,使其能够正确的分类图像。

解决方案:可以尝试增加训练次数或者采用其他的优化方法,如随机梯度下降(SGD)。

一文带你了解CNN(卷积神经网络)

一文带你了解CNN(卷积神经网络)

⼀⽂带你了解CNN(卷积神经⽹络)⽬录前⾔⼀、CNN解决了什么问题?⼆、CNN⽹络的结构2.1 卷积层 - 提取特征卷积运算权重共享稀疏连接总结:标准的卷积操作卷积的意义1x1卷积的重⼤意义2.2 激活函数2.3 池化层(下采样) - 数据降维,避免过拟合2.4 全连接层 - 分类,输出结果三、Pytorch实现LeNet⽹络3.1 模型定义3.2 模型训练(使⽤GPU训练)3.3 训练和评估模型前⾔ 在学计算机视觉的这段时间⾥整理了不少的笔记,想着就把这些笔记再重新整理出来,然后写成Blog和⼤家⼀起分享。

⽬前的计划如下(以下⽹络全部使⽤Pytorch搭建):专题⼀:计算机视觉基础介绍CNN⽹络(计算机视觉的基础)浅谈VGG⽹络,介绍ResNet⽹络(⽹络特点是越来越深)介绍GoogLeNet⽹络(⽹络特点是越来越宽)介绍DenseNet⽹络(⼀个看似⼗分NB但是却实际上⽤得不多的⽹络)整理期间还会分享⼀些⾃⼰正在参加的⽐赛的Baseline专题⼆:GAN⽹络搭建普通的GAN⽹络卷积GAN条件GAN模式崩溃的问题及⽹络优化 以上会有相关代码实践,代码是基于Pytorch框架。

话不多说,我们先进⾏专题⼀的第⼀部分介绍,卷积神经⽹络。

⼀、CNN解决了什么问题? 在CNN出现之前,对于图像的处理⼀直都是⼀个很⼤的问题,⼀⽅⾯因为图像处理的数据量太⼤,⽐如⼀张512 x 512的灰度图,它的输⼊参数就已经达到了252144个,更别说1024x1024x3之类的彩⾊图,这也导致了它的处理成本⼗分昂贵且效率极低。

另⼀⽅⾯,图像在数字化的过程中很难保证原有的特征,这也导致了图像处理的准确率不⾼。

⽽CNN⽹络能够很好的解决以上两个问题。

对于第⼀个问题,CNN⽹络它能够很好的将复杂的问题简单化,将⼤量的参数降维成少量的参数再做处理。

也就是说,在⼤部分的场景下,我们使⽤降维不会影响结果。

⽐如在⽇常⽣活中,我们⽤⼀张1024x1024x3表⽰鸟的彩⾊图和⼀张100x100x3表⽰鸟的彩⾊图,我们基本上都能够⽤⾁眼辨别出这是⼀只鸟⽽不是⼀只狗。

神经网络与卷积神经网络(CNN)

神经网络与卷积神经网络(CNN)

神经网络与卷积神经网络(CNN)神经网络和卷积神经网络(Convolutional Neural Network, CNN)是两种常用的深度学习模型,被广泛应用于图像识别、语音识别、自然语言处理等领域。

本文将介绍神经网络和CNN的原理、应用以及优缺点。

一、神经网络神经网络是一种模拟人脑神经元间连接的计算模型,由输入层、隐藏层和输出层组成。

每个神经元接收上一层神经元传递的信息,并通过激活函数进行非线性变换,最终计算出输出结果。

通过不断调整神经元之间的连接权重,神经网络能够学习并逼近复杂的非线性函数。

神经网络的训练通常基于梯度下降算法,通过最小化损失函数,反向传播误差更新权重。

训练完成后,神经网络可以用于预测和分类任务。

神经网络的优点在于可以处理非线性关系,具有强大的逼近能力。

然而,它在图像处理任务上的表现并不理想,主要因为传统的神经网络无法充分利用图像的空间结构信息。

二、卷积神经网络(CNN)卷积神经网络是一种专门用于处理二维结构数据(如图像)的深度学习模型。

与传统神经网络不同的是,CNN引入了卷积层和池化层,通过局部感知和参数共享的方式提取图像的特征。

卷积层利用一组可学习的卷积核对输入数据进行卷积操作,提取出不同位置的特征。

卷积核的参数共享使得CNN对输入数据的平移不变性更强,可以减少模型的复杂性。

池化层则负责对卷积结果进行下采样,减小特征图的尺寸。

常用的池化操作有最大池化和平均池化,能够提取更具有鲁棒性的特征。

除了卷积层和池化层,CNN通常还包括全连接层和激活函数。

全连接层用于将特征图转化为分类结果,激活函数引入非线性变换。

CNN在图像处理任务上具有突出优势。

通过卷积和池化操作,CNN能够自动提取出图像的局部特征和整体形状,并且具有一定的平移不变性和尺度不变性。

三、神经网络与CNN的应用比较1. 图像识别:神经网络在图像识别上的表现相对较差,因为它不能有效利用图像的空间结构信息。

而CNN能够通过卷积和池化操作提取图像特征,具有更好的识别准确率。

cnn是什么意思

cnn是什么意思

cnn是什么意思CNN是什么意思?——深入解析卷积神经网络引言:在当今互联网高速发展的时代,人工智能技术已经成为各行各业的热门话题,它以其强大的数据处理能力和智能决策能力,正逐渐改变着我们生活的方方面面。

而在人工智能领域中,卷积神经网络(Convolutional Neural Network,简称CNN)作为一种深度学习模型,占据着重要的地位。

本文将详细介绍CNN是什么意思,以及其基本原理、工作原理和应用场景等内容。

一、基本概念卷积神经网络(CNN)是一种人工神经网络,通过模拟人脑中神经元之间的连接关系,实现对图像、音频等非结构化数据的处理和分析。

相对于传统的全连接神经网络,CNN具有处理图像任务的优势,能够提取图像中的局部特征,并通过层层处理得到更高层次的抽象特征。

二、基本原理1. 卷积层卷积层是CNN的核心组成部分,它通过滑动窗口的方式,对输入数据进行卷积运算,从而提取特征。

在卷积运算过程中,使用一组称为卷积核或过滤器的小矩阵,通过对输入数据进行滑动和相乘累加的操作,得到卷积特征图。

2. 池化层池化层是CNN中的另一个重要组成部分,它通过降采样的方式,减少特征图的尺寸和参数数量,从而提高模型的鲁棒性和计算效率。

常见的池化方式有最大池化和平均池化,它们分别选取特征图中最大值和平均值作为输出。

3. 激活函数激活函数是CNN中用于引入非线性的一环,它对卷积层输出的结果进行非线性变换,增加网络的表达能力。

常用的激活函数有ReLU、Sigmoid和Tanh等,它们分别在不同场景下表现出不同的性能。

三、工作原理CNN的工作原理可以简单概括为:输入数据经过一系列的卷积层、池化层和全连接层的处理,最终得到输出结果。

具体流程如下:1. 输入层:接收原始数据,通常是图像或音频。

2. 卷积层:提取输入数据的局部特征。

3. 激活函数:引入非线性变换,增加网络的表达能力。

4. 池化层:减少特征图的尺寸和参数数量。

5. 全连接层:将池化层输出的特征进行分类或预测。

深度学习知识:卷积神经网络与循环神经网络的比较

深度学习知识:卷积神经网络与循环神经网络的比较

深度学习知识:卷积神经网络与循环神经网络的比较深度学习领域的两种主要神经网络模型,分别是卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN)。

这两种模型都是使用多层神经元结构进行数据特征提取和高级模式识别。

但它们的结构和应用领域存在很大差异。

本文将对CNN和RNN进行比较,探讨它们的优缺点和适用场景,帮助读者更好地理解深度神经网络。

一、卷积神经网络(CNN)1. CNN的基本结构CNN主要是由卷积层(Convolutional Layer)、池化层(Pooling Layer)、全连接层(Fully Connected Layer)三种层次结构组成。

在CNN中,卷积层和池化层是特征提取的主要手段,而全连接层则负责对特征进行归一化和分类。

卷积层是CNN的核心部分,其主要目的是从输入的原始图像中学习特征。

它由多个卷积核组成,每个卷积核都会在不同位置扫描整个输入图像,提取局部特征并输出为一个特征图。

卷积操作可以有效地减少输入数据的规模,并且可根据不同的感受野大小和数量灵活调整卷积核的参数。

池化层是在卷积层之后的一种降采样操作,主要是为了减少卷积特征的数据量,提高网络的计算效率和鲁棒性。

在池化操作中,对每个特征图进行固定大小的滑动窗口采样,取窗口中的最大值或平均值作为该特征图的代表。

池化层可以保留最显著的特征,提高模型的判别能力。

全连接层是在传统神经网络中常用的结构,在CNN中用于分类器构建。

它将高维的卷积特征映射到指定的目标标签空间,实现图像的识别和分类。

2. CNN的优点和适用场景(1)有效的特征提取能力:CNN对于图像、语音、自然语言处理等输入数据具有很强的特征提取能力。

基于其卷积核和池化操作的局部特征提取,可自动学习和提取抽象的特征,进而实现强大的识别和分类能力。

(2)可灵活处理高维数据:CNN可以处理高维数据,例如三维立体图像数据等。

CNN(卷积神经网络)详解

CNN(卷积神经网络)详解

CNN(卷积神经网络)详解卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,用于处理具有类似网格结构的数据。

这种网络结构在计算机视觉领域中应用非常广泛,包括图像识别、语音识别等领域。

CNN采用卷积层、池化层和全连接层等多种不同的层来提取特征。

一、卷积层卷积层是CNN的核心,也是最基本的层,它可以检测不同的特征,比如边缘、颜色和纹理等。

通常情况下,卷积层的输入是一个彩色或者灰度的图像,输出则是不同数量的“特征图”。

每个特征图对应一个特定的特征。

卷积层有一个非常重要的参数,叫做卷积核(Kernel),也就是滤波器。

卷积核是一个小的矩阵,它在输入数据的二维平面上滑动,将每个位置的像素值与卷积核的对应位置上的值相乘,然后将结果相加得到卷积层的输出。

通过不同的卷积核可以检测出不同的特征。

二、池化层池化层是CNN中的另一种重要层,它可以对卷积层的输出做降维处理,并且能够保留特征信息。

池化层通常是在卷积层之后加上的,其作用是将附近几个像素点合并成一个像素点。

这样做的好处是可以减小数据量,同时也可以使特征更加鲁棒。

池化层通常有两种类型,分别是最大池化和平均池化。

最大池化是从相邻的像素中寻找最大值,即将一个矩阵划分成多个小矩阵,然后寻找每个小矩阵中的最大值,最后将每个小矩阵中的最大值组成的矩阵作为输出。

平均池化则是简单地取相邻像素的平均值作为输出。

三、全连接层全连接层,也叫做密集连接层,是CNN中的最后一层,它将池化层输出的结果转化成一个一维的向量,并将其送入神经网络中进行分类或者回归预测。

全连接层通常使用softmax或者sigmoid等激活函数来输出分类结果。

四、CNN的应用CNN在计算机视觉领域有着广泛的应用,比如图像分类、物体检测、人脸识别、文字识别等。

其中最常见的应用就是图像分类,即将一张图片分为不同的目标类别。

通过卷积层和池化层不断地提取出图像的特征,然后送进全连接层对不同的类别进行分类。

卷积神经网络原理与应用

卷积神经网络原理与应用

卷积神经网络原理与应用卷积神经网络(Convolutional Neural Network,简称CNN)是一种深度学习模型,广泛应用于图像识别、计算机视觉和自然语言处理等领域。

本文将介绍卷积神经网络的原理和应用,并探讨其在实际场景中的价值。

一、卷积神经网络的原理卷积神经网络是由多个卷积层、池化层和全连接层组成的神经网络。

它的核心思想是通过卷积操作和池化操作来提取图像的特征,再通过全连接层进行分类或回归。

1. 卷积操作卷积操作是卷积神经网络的核心操作之一。

它通过滑动一个卷积核在输入图像上进行特征提取。

卷积核是一个小矩阵,可以学习到不同的特征。

卷积操作可以有效地减少参数数量,提取图像的局部特征。

2. 池化操作池化操作是为了降低特征图的空间分辨率,减少模型的计算量。

常见的池化操作有最大池化和平均池化。

最大池化选择局部区域中的最大值作为输出,平均池化计算局部区域的平均值作为输出。

池化操作可以保留图像的主要特征,并且具有一定的平移不变性。

3. 全连接层全连接层是卷积神经网络的最后一层,用于分类或回归任务。

全连接层将卷积操作和池化操作提取到的特征进行组合,并输出最终的分类结果。

全连接层的参数数量较大,容易导致过拟合问题。

二、卷积神经网络的应用卷积神经网络在图像识别、计算机视觉和自然语言处理等领域有广泛的应用。

以下是一些典型的应用场景。

1. 图像识别卷积神经网络在图像识别中取得了重大突破。

通过训练大量的图像数据,卷积神经网络可以自动学习到图像的特征,并实现对不同物体的准确识别。

例如,在人脸识别领域,卷积神经网络可以实现对人脸的关键点定位、表情识别等任务。

2. 目标检测目标检测是计算机视觉中的一个重要任务,也是卷积神经网络的应用之一。

通过卷积神经网络,可以实现对图像中目标的定位和分类。

目标检测在智能驾驶、视频监控等领域有着广泛的应用。

3. 自然语言处理卷积神经网络在自然语言处理中也有一定的应用。

通过将文本转化为向量表示,卷积神经网络可以实现对文本的分类、情感分析等任务。

卷积神经网络(CNN,ConvNet)及其原理详解

卷积神经网络(CNN,ConvNet)及其原理详解

卷积神经网络(CNN,ConvNet)及其原理详解卷积神经网络(CNN,有时被称为ConvNet)是很吸引人的。

在短时间内,它们变成了一种颠覆性的技术,打破了从文本、视频到语音等多个领域所有最先进的算法,远远超出了其最初在图像处理的应用范围。

CNN 由许多神经网络层组成。

卷积和池化这两种不同类型的层通常是交替的。

网络中每个滤波器的深度从左到右增加。

最后通常由一个或多个全连接的层组成:图1 卷积神经网络的一个例子Convnets 背后有三个关键动机:局部感受野、共享权重和池化。

让我们一起看一下。

局部感受野如果想保留图像中的空间信息,那么用像素矩阵表示每个图像是很方便的。

然后,编码局部结构的简单方法是将相邻输入神经元的子矩阵连接成属于下一层的单隐藏层神经元。

这个单隐藏层神经元代表一个局部感受野。

请注意,此操作名为“卷积”,此类网络也因此而得名。

当然,可以通过重叠的子矩阵来编码更多的信息。

例如,假设每个子矩阵的大小是5×5,并且将这些子矩阵应用到28×28 像素的MNIST 图像。

然后,就能够在下一隐藏层中生成23×23 的局部感受野。

事实上,在触及图像的边界之前,只需要滑动子矩阵23 个位置。

定义从一层到另一层的特征图。

当然,可以有多个独立从每个隐藏层学习的特征映射。

例如,可以从28×28 输入神经元开始处理MNIST 图像,然后(还是以5×5 的步幅)在下一个隐藏层中得到每个大小为23×23 的神经元的k 个特征图。

共享权重和偏置假设想要从原始像素表示中获得移除与输入图像中位置信息无关的相同特征的能力。

一个简单的直觉就是对隐藏层中的所有神经元使用相同的权重和偏置。

通过这种方式,每层将从图像中学习到独立于位置信息的潜在特征。

理解卷积的一个简单方法是考虑作用于矩阵的滑动窗函数。

在下面的例子中,给定输入矩阵I 和核K,得到卷积输出。

将3×3 核K(有时称为滤波器或特征检测器)与输入矩阵逐元素地相乘以得到输出卷积矩阵中的一个元素。

通俗理解卷积神经网络

通俗理解卷积神经网络

通俗理解卷积神经⽹络1 前⾔2012年我在北京组织过8期machine learning读书会,那时“”⾮常⽕,很多⼈都对其抱有巨⼤的热情。

当我2013年再次来到北京时,有⼀个词似乎⽐“机器学习”更⽕,那就是“深度学习”。

本博客内写过⼀些机器学习相关的⽂章,但上⼀篇技术⽂章“LDA主题模型”还是写于2014年11⽉份,毕竟⾃2015年开始创业做在线教育后,太多的杂事、琐碎事,让我⼀直想再写点技术性⽂章但每每恨时间抽不开。

然由于公司在不断开机器学习、深度学习等相关的在线课程,⽿濡⽬染中,总会顺带学习学习。

我虽不参与讲任何课程(公司的所有在线课程都是由⽬前讲师团队的17位讲师讲),但依然可以⽤最最⼩⽩的⽅式把⼀些初看复杂的东西抽丝剥茧的通俗写出来。

这算重写技术博客的价值所在。

在dl中,有⼀个很重要的概念,就是卷积神经⽹络CNN,基本是⼊门dl必须搞懂的东西。

本⽂基本根据斯坦福的机器学习公开课、cs231n、与七⽉在线寒⽼师讲的5⽉dl班第4次课CNN与常⽤框架视频所写,是⼀篇课程笔记。

本只是想把重点放在其卷积计算具体是怎么计算怎么操作的,但后⾯不断补充,故写成了关于卷积神经⽹络的通俗导论性的⽂章。

有何问题,欢迎不吝指正。

2 ⼈⼯神经⽹络2.1 神经元神经⽹络由⼤量的节点(或称“神经元”、“单元”)和相互连接⽽成。

每个神经元接受输⼊的线性组合,进⾏⾮线性变换(亦称激活函数activation function)后输出。

每两个节点之间的连接代表加权值,称之为权重(weight)。

不同的权重和激活函数,则会导致神经⽹络不同的输出。

举个⼿写识别的例⼦,给定⼀个未知数字,让神经⽹络识别是什么数字。

此时的神经⽹络的输⼊由⼀组被输⼊图像的像素所激活的输⼊神经元所定义。

在通过激活函数进⾏⾮线性变换后,神经元被激活然后被传递到其他神经元。

重复这⼀过程,直到最后⼀个输出神经元被激活。

从⽽识别当前数字是什么字。

神经⽹络的每个神经元/单元如下类似wx + b的形式,其中a1~an为输⼊向量,当然,也常⽤x1~xn表⽰输⼊w1~wn为权重b为偏置biasf 为激活函数t 为输出如果只是上⾯这样⼀说,估计以前没接触过的⼗有⼋九⼜必定迷糊了。

深度学习——带你通俗理解卷积神经网络(CNN)

深度学习——带你通俗理解卷积神经网络(CNN)

深度学习——带你通俗理解卷积神经⽹络(CNN)卷积神经⽹络(CNN)基础知识⽂章⽬录1.前⾔ 如果说深度神经⽹络模型中的“明星”是谁?那么⾮卷积神经⽹络莫属。

下⾯给⼤家简单介绍⼀下CNN的基础知识。

其中CNN基础主要涉及卷积层、池化层、全连接层在卷积神经⽹络扮演的⾓⾊、实现的具体的功能和⼯作原理。

2.卷积层 1.主要作⽤:对输⼊的数据进⾏特征提取。

2.⼯具:卷积核——完成对数据提取的功能。

3.卷积核是怎么处理数据数据的呢?我们知道卷积核其实是⼀个指定窗⼝⼤⼩的扫描器,通过⼀次⼜⼀次地扫描输⼊的数据,来提取数据中的特征。

那么在通过卷积核处理后,就可以识别出图像中的重要特征了。

4.下⾯讲解卷积核的定义:⼀、 假定有⼀张32* 32*3的输⼊图像,其中32 * 32是图像的⾼度和宽度,3是指图像具有R,G,B三个⾊彩通道。

⼆、我们定义⼀个5 * 5 * 3的卷积核 ,其中3是指卷积核的深度,对应之前输⼊图像的三个彩⾊通道。

(⽬的:当卷积核窗⼝在输⼊图像上滑动时,能够⼀次在三个彩⾊通道上同时进⾏卷积操作)三、 常⽤的卷积核5 *5和3 *3我们知道了卷积核后,那么怎么进⾏卷积操作呢? 现在我们定义步长为对卷积核的窗⼝进⾏滑动 下图为⼀个步长为2的卷积核经过⼀次滑动窗⼝位置变化情况 仔细观察不难发现,在上⾯的输⼊图像的最外界多了⼀圈全为0的像素,这其实就是⼀种⽤于提升卷积效果的边界像素扩充的⽅法共有两种⽅式进⾏填充Same和Valid1.Same在输⼊图像的最外界加上指定层数的值全为0的像素边界:为了让输⼊图像的全部像素能被滑动窗⼝捕捉。

2.Valid直接对输⼊图像进⾏卷积,不对输⼊图像进⾏任何的前期处理和图像填充。

缺点就是会导致部分像素点不嫩被滑动窗⼝捕捉。

通过对卷积过程的计算,可以得出卷积通⽤公式⽤于计算输⼊图像经过⼀轮卷积操作后的输出图像的宽度和⾼度的参数 其中W,H分别代表图像的宽度和⾼度的值;下标input代表输⼊图像的相关参数;下标output表⽰输出图像的相关参数,filter代表卷积核的相关参数,S代表卷积的步长,P(padding)代表在图像边缘增加的边界像素层数。

深度学习知识:卷积神经网络与全连接神经网络的区别

深度学习知识:卷积神经网络与全连接神经网络的区别

深度学习知识:卷积神经网络与全连接神经网络的区别卷积神经网络(Convolutional Neural Network, CNN)和全连接神经网络(Fully Connected Neural Network, FCN)是目前深度学习领域中比较常用的两种神经网络模型,它们之间有着明显的区别。

一、网络结构CNN网络包含多个卷积层和池化层,最后通过全连接层输出结果。

卷积层的作用是提取图像的特征,将图像中的信息分为不同的区域,每个区域都会被卷积核处理一次。

池化层则是对特征图进行降采样,减小数据量,同时保留图像的主要信息。

最后通过全连接层将所有图像的信息汇总起来得到分类结果。

FCN网络中,所有的输入都与所有的神经元相连接。

从数学上来看,FCN是将输入向量与权重矩阵相乘,再加上偏差项,最后得到输出结果的一种模型。

在全连接神经网络中,每个神经元与上一层所有的神经元相连,这种结构使得FCN可以学习到输入数据的所有特征,但是这种方式也会导致参数量过大,计算量也会变得更大。

二、适用场景CNN常用于计算机视觉领域中的任务,如图像分类、目标检测、语义分割等。

这是因为卷积层和池化层可以帮助网络学习到图像中的视觉特征,提高模型对于图像的理解能力。

同时,卷积操作也避免了图像大小对于模型的影响,使得模型对于不同大小的图像都具有通用性。

因此,CNN在许多计算机视觉领域中有着广泛的应用。

FCN则常用在自然语言处理中的任务,如文本分类、情感分析等。

这是因为在自然语言处理中,需要处理的文本序列的长度是可变的,无法用卷积层和池化层处理。

此时,FCN的全连接结构能够学习到所有的特征信息,提高模型的分类精度。

同时,FCN也常被用于推荐系统中,因为推荐系统需要对用户的历史数据进行全面的分析,FCN可以很好地处理这种数据。

三、效率和精度比较由于CNN存在着卷积层和池化层,使得CNN在图像处理任务中能够取得很好的效果。

同时,卷积层的权重共享和池化操作降采样可以大大降低网络的参数数量,减轻了计算负担。

简述卷积神经网络(CNN)和循环神经网络(RNN)的原理及应用场景

简述卷积神经网络(CNN)和循环神经网络(RNN)的原理及应用场景

简述卷积神经网络(CNN)和循环神经网络(RNN)的原理及应用场景卷积神经网络(CNN)和循环神经网络(RNN)是当前深度学习领域中最热门的两个神经网络架构。

本论文将从两个方面分别介绍CNN和RNN的原理及应用场景。

一、卷积神经网络(CNN)1. 原理卷积神经网络是一种使用卷积操作的深度神经网络,其网络结构主要由卷积层、池化层和全连接层构成。

其中,卷积层和池化层主要用于提取图像的特征信息,而全连接层则用于进行分类或回归等任务。

具体而言,卷积层利用卷积核对输入数据进行卷积计算,以提取输入数据中的关键信息。

池化层则用于缩小特征图的空间大小,减少模型参数数量,提高模型的泛化能力。

全连接层将卷积层和池化层的输出进行flatten操作后,再进行全连接计算,以得出最终的分类或回归结果。

2. 应用场景卷积神经网络在图像识别、目标检测、人脸识别、自然语言处理等领域有着广泛的应用。

其中,图像识别是其主要应用场景之一。

例如,利用卷积神经网络可以对图像进行分类、分割、检测等任务。

此外,卷积神经网络还可以用于文本特征提取、语音识别等任务。

二、循环神经网络(RNN)1. 原理循环神经网络是一种具有记忆功能的神经网络,其主要特点是能够处理序列数据。

循环神经网络通过循环连接将上一时刻的输出作为本时刻的输入,以便学习上下文信息。

其网络结构主要由输入层、隐藏层和输出层构成。

其中,隐藏层包含循环单元,用于存储前面输入的信息。

具体而言,循环神经网络通过隐藏层单元的记忆功能,能够将上下文信息融合到当前的计算中,从而在序列数据的预测和生成任务上取得优异的效果。

2. 应用场景循环神经网络主要应用于序列任务,如文本生成、语音识别、机器翻译、时间序列预测等。

例如,在机器翻译中,可以将源语言序列作为输入序列,目标语言序列作为输出序列,利用循环神经网络进行学习和预测,从而实现机器翻译的自动化。

结论本论文从原理和应用场景两个方面介绍了卷积神经网络和循环神经网络。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一文读懂卷积神经网络CNN★据说阿尔法狗战胜李世乭靠的是卷积神经网络算法,所以小编找到了一篇介绍该算法的文章,大家可以看一看。

★自去年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural Network,CNN),期间配置和使用过theano和cuda-convnet、cuda-convnet2。

为了增进CNN的理解和使用,特写此博文,以其与人交流,互有增益。

正文之前,先说几点自己对于CNN的感触。

先明确一点就是,Deep Learning是全部深度学习算法的总称,CNN是深度学习算法在图像处理领域的一个应用。

第一点,在学习Deep learning 和CNN之前,总以为它们是很了不得的知识,总以为它们能解决很多问题,学习了之后,才知道它们不过与其他机器学习算法如svm等相似,仍然可以把它当做一个分类器,仍然可以像使用一个黑盒子那样使用它。

第二点,Deep Learning强大的地方就是可以利用网络中间某一层的输出当做是数据的另一种表达,从而可以将其认为是经过网络学习到的特征。

基于该特征,可以进行进一步的相似度比较等。

第三点,Deep Learning算法能够有效的关键其实是大规模的数据,这一点原因在于每个DL都有众多的参数,少量数据无法将参数训练充分。

接下来话不多说,直接奔入主题开始CNN之旅。

卷积神经网络简介(Convolutional Neural Networks,简称CNN)卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。

20世纪60年代,Hubel 和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(Convolutional Neural Networks-简称CNN)。

现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。

K.Fukushima在1980年提出的新识别机是卷积神经网络的第一个实现网络。

随后,更多的科研工作者对该网络进行了改进。

其中,具有代表性的研究成果是Alexander和Taylor提出的“改进认知机”,该方法综合了各种改进方法的优点并避免了耗时的误差反向传播。

一般地,CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。

一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。

特征映射结构采用影响函数核小的sigmoid 函数作为卷积网络的激活函数,使得特征映射具有位移不变性。

此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。

卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。

CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。

由于CNN 的特征检测层通过训练数据进行学习,所以在使用CNN时,避免了显示的特征抽取,而隐式地从训练数据中进行学习;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。

卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度。

1. 神经网络首先介绍神经网络,这一步的详细可以参考资源1。

简要介绍下。

神经网络的每个单元如下:其对应的公式如下:其中,该单元也可以被称作是Logistic回归模型。

当将多个单元组合起来并具有分层结构时,就形成了神经网络模型。

下图展示了一个具有一个隐含层的神经网络。

其对应的公式如下:比较类似的,可以拓展到有2,3,4,5,…个隐含层。

神经网络的训练方法也同Logistic类似,不过由于其多层性,还需要利用链式求导法则对隐含层的节点进行求导,即梯度下降+链式求导法则,专业名称为反向传播。

关于训练算法,本文暂不涉及。

2 卷积神经网络在图像处理中,往往把图像表示为像素的向量,比如一个1000×1000的图像,可以表示为一个1000000的向量。

在上一节中提到的神经网络中,如果隐含层数目与输入层一样,即也是1000000时,那么输入层到隐含层的参数数据为1000000×1000000=10^12,这样就太多了,基本没法训练。

所以图像处理要想练成神经网络大法,必先减少参数加快速度。

就跟辟邪剑谱似的,普通人练得很挫,一旦自宫后内力变强剑法变快,就变的很牛了。

2.1 局部感知卷积神经网络有两种神器可以降低参数数目,第一种神器叫做局部感知野。

一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。

因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息。

网络部分连通的思想,也是受启发于生物学里面的视觉系统结构。

视觉皮层的神经元就是局部接受信息的(即这些神经元只响应某些特定区域的刺激)。

如下图所示:左图为全连接,右图为局部连接。

在上右图中,假如每个神经元只和10×10个像素值相连,那么权值数据为1000000×100个参数,减少为原来的千分之一。

而那10×10个像素值对应的10×10个参数,其实就相当于卷积操作。

2.2 参数共享但其实这样的话参数仍然过多,那么就启动第二级神器,即权值共享。

在上面的局部连接中,每个神经元都对应100个参数,一共1000000个神经元,如果这1000000个神经元的100个参数都是相等的,那么参数数目就变为100了。

怎么理解权值共享呢?我们可以这100个参数(也就是卷积操作)看成是提取特征的方式,该方式与位置无关。

这其中隐含的原理则是:图像的一部分的统计特性与其他部分是一样的。

这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。

更直观一些,当从一个大尺寸图像中随机选取一小块,比如说8×8作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个8×8样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。

特别是,我们可以用从8×8 样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。

如下图所示,展示了一个33的卷积核在55的图像上做卷积的过程。

每个卷积都是一种特征提取方式,就像一个筛子,将图像中符合条件(激活值越大越符合条件)的部分筛选出来。

2.3 多卷积核上面所述只有100个参数时,表明只有1个100*100的卷积核,显然,特征提取是不充分的,我们可以添加多个卷积核,比如32个卷积核,可以学习32种特征。

在有多个卷积核时,如下图所示:上图右,不同颜色表明不同的卷积核。

每个卷积核都会将图像生成为另一幅图像。

比如两个卷积核就可以将生成两幅图像,这两幅图像可以看做是一张图像的不同的通道。

如下图所示,下图有个小错误,即将w1改为w0,w2改为w1即可。

下文中仍以w1和w2称呼它们。

下图展示了在四个通道上的卷积操作,有两个卷积核,生成两个通道。

其中需要注意的是,四个通道上每个通道对应一个卷积核,先将w2忽略,只看w1,那么在w1的某位置(i,j)处的值,是由四个通道上(i,j)处的卷积结果相加然后再取激活函数值得到的。

所以,在上图由4个通道卷积得到2个通道的过程中,参数的数目为4×2×2×2个,其中4表示4个通道,第一个2表示生成2个通道,最后的2×2表示卷积核大小。

2.4 Down-pooling在通过卷积获得了特征(features)之后,下一步我们希望利用这些特征去做分类。

理论上讲,人们可以用所有提取得到的特征去训练分类器,例如softmax分类器,但这样做面临计算量的挑战。

例如:对于一个96X96像素的图像,假设我们已经学习得到了400个定义在8X8输入上的特征,每一个特征和图像卷积都会得到一个(96 ? 8 + 1) ×(96 ? 8 + 1) = 7921维的卷积特征,由于有400 个特征,所以每个样例(example) 都会得到一个892 ×400 = 3,168,400 维的卷积特征向量。

学习一个拥有超过3 百万特征输入的分类器十分不便,并且容易出现过拟合(over-fitting)。

为了解决这个问题,首先回忆一下,我们之所以决定使用卷积后的特征是因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。

因此,为了描述大的图像,一个很自然的想法就是对不同位置的特征进行聚合统计,例如,人们可以计算图像一个区域上的某个特定特征的平均值(或最大值)。

这些概要统计特征不仅具有低得多的维度(相比使用所有提取得到的特征),同时还会改善结果(不容易过拟合)。

这种聚合的操作就叫做池化(pooling),有时也称为平均池化或者最大池化(取决于计算池化的方法)。

至此,卷积神经网络的基本结构和原理已经阐述完毕。

2.5 多层卷积在实际应用中,往往使用多层卷积,然后再使用全连接层进行训练,多层卷积的目的是一层卷积学到的特征往往是局部的,层数越高,学到的特征就越全局化。

3 ImageNet-2010网络结构ImageNet LSVRC是一个图片分类的比赛,其训练集包括127W+张图片,验证集有5W张图片,测试集有15W张图片。

本文截取2010年Alex Krizhevsky的CNN结构进行说明,该结构在2010年取得冠军,top-5错误率为15.3%。

值得一提的是,在今年的ImageNet LSVRC比赛中,取得冠军的GoogNet已经达到了top-5错误率6.67%。

可见,深度学习的提升空间还很巨大。

下图即为Alex的CNN 结构图。

需要注意的是,该模型采用了2-GPU并行结构,即第1、2、4、5卷积层都是将模型参数分为2部分进行训练的。

在这里,更进一步,并行结构分为数据并行与模型并行。

数据并行是指在不同的GPU上,模型结构相同,但将训练数据进行切分,分别训练得到不同的模型,然后再将模型进行融合。

而模型并行则是,将若干层的模型参数进行切分,不同的GPU上使用相同的数据进行训练,得到的结果直接连接作为下一层的输入。

相关文档
最新文档