卷积神经网络(ConvolutionalNeura! Network,CNN)。CNN 可用于图像识别语音识别等场合。
1.整体结构
CNN可以通过组装层进行构建,CNN中有卷积层(Convolution层)和池化层(Pooling层)。 CNN常见网络结构
2.卷积层
在CNN中会出现了一些特有的术语,如填充、步幅等。此外,各层中传逸的据是有形状的数据。
卷积层可以保持形状不变。当输入数据为图像时,卷积层会以3维数据的形式接收输入数据,并以3维数据的形式输出至下一层。因此,在CNN中,卷积层可以正确“理解图像等具有形状的数据。有时将卷积层的输入/输出数据称为特征图(Feature Map),其中,卷积层的输入数据称为输入特征图(InputFeature Map),输出数据称为输出特征图(OutpuFeature Map).
卷积层进行卷积运算,卷积运算相当于图像处理中的“滤波器运算”。
在进行卷积层的处理前,有时要向输入数据的四周填入固定的数据(比如0等),这称为填充(padding),填充在卷积运算中经常会用到。
应用滤波器的位置间隔称为步幅(side)。如果增大步幅,那么输出数据的大小会变小;如果增大填充,那么输出数据的大小会变大。
三维数据的卷积运算--三维数据进行卷积运算,除高、宽方向外,还包括通道方向。
在神经网络的实现中,进行了将输入数据打包的批处理。
3.池化层
池化是一种缩小高、宽方向上的空间的运算。池化层的特征:没有要学习的参数;通道数不发生变化;对微小的变化具有鲁棒性。
通过使用一些技巧,可以轻松地实现卷积层和池化层。本节将介绍这些技巧,首先将问题简化,然后再进行实现。
池化层的实现与卷积层的实现相同,也使用im2col函数展开输入数据。不同的是在池化时,通道方向上是独立的。池化的应用区域按通道单独展开的。
4.卷积神经网络可视化
卷积层权重的可视化--卷积层的滤波器能提取边缘或斑块等原始信息,并且CNN会将这些原始信息传递给后面的层。
基于分层结构的信息提取--在堆叠多层的 CNN中,从各层分别能提取,会发现从越靠后的层中提取的信息越抽象(神经元反应更强烈)。
5.具有代表性的卷积神经网络。
LeNet 是进行手写数字识别的网络。,LeNet 有如下几个特点:
一是激活函数。LeNet 使用 Sigmoid 函数作为激活函数,而现在的 CNN 主要使用 ReLU函数作为激活函数。
二是原始的 LeNet 使用子采样(Subsampling)缩小中间数据的大小,而在现在的CNN使用 Max 池化缩小中间数据的大小。
AlexNet 是引发深度学习热潮的导火线,它的网络结构与LeNet基本相同,但有如下几个不同点。
激活函数使用 ReLU。
使用进行局部正规化的LRN(LocalResponse Normalization)层。
使用 Dropout 方法,Dropout方法是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。
卷积神经网络CNN是大家比较耳熟能详的,通过阅读学习,对卷积神经网络有了进一步认识与理解掌握,常学常新。
|