学习笔记TF027:卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN),可以解决图像识别、时间序列信息问题。深度学习之前,借助SIFT、HoG等算法提取特征,集合SVM等机器学习算法识别图像。

SIFT,缩放、平移、旋转、视角转变、亮度调整畸变的一定程度内,具有不变性。有局限性,ImageNet ILSVRC比赛最好结果错误率在26%以上,常年难以突破。

卷积神经网络提取特征效果更好,分类训练时自动提取最有效特征。卷积神经网络CNN,降低图像数据预处理要求,避免复杂特征工程。CNN使用图像原始像素输入,对缩放、平移、旋转畸变具有不变性,强泛化性。CNN卷积权值共享结构,大幅减少神经网络参数量,防止过拟合,降低神经网络模型复杂度。延时神经网络TDNN,时间权值共享,降低学习时间序列信号复杂度。

感受野(Receptive Field),每个视觉神经元只会处理一小块区域视觉图像。神经认知机(Neocognitron),两类神经元,抽取特征S-cells对应主流卷积神经网络卷积核滤波操作,抗形变C-cells对应激活函数、最大池化(Max-Pooling)操作。LeCun LeNet CNN首个成功多层训练网络结构。卷积神经网络利用空间结构关系减少学习参数量,提高反向传播算法训练效率。

第一个卷积层,接受图像像素级输入,每个卷积操作只处理一小块图像。卷积变化后传到后面网络。每一层卷积(滤波器),提取数据最有效特征。提取图像最基础特征,组合抽像更高阶特征。

一般卷积神经网络多个卷积层构成。每个卷积层,图像多个不同卷积核滤波,加偏置(bias),提取局部特征,每个卷积核映射一个新2D图像,卷积核滤波输出结果,非线性激活函数处理(ReLU),激活函数结果池化操作(降采样),最大池化,保留最显著特征,提升模型畸变容忍能力。可以加LRN(Local Response Normalization 局部响应归一化层),Batch Normalizations。

卷积核权值共享,卷积层多个不同卷积核,卷积核对应滤波后映射新图像,同一新图像每个像素来自完全相同卷积核。降低模型复杂度,减轻过拟合,降低计算量。

图像空间有组织结构,每个像素点与空间周围像素点有紧密联系,与太遥远像素点少联系,即感受野。每个感受野只接受一小块区域信号。小块区域内像素互相关联,每个神经元不需要接收全部像素点信息,只接收局部像素点输入,再将所有神经元收到局部信息综合起来得到全局信息。将全连接模型改为局部连接,从隐含层每个隐含节点和全部像素相连,改为每个隐含节点连接局部像素节点。

局部连接方式卷积操作,默认每个隐含节点参数完全一样。不再担心隐含节点数量和图片大小,参数量只跟卷积核大小有关。权值共享。一个卷积核只能提取一种卷积核滤波结果,只能提取一种图片特征。每个卷积核滤波图像是一类特征映射,一个Feature Map。一般,第一个卷积层100个卷积核已经充足。

卷积,不管图片尺寸,训练权值只与卷积核大小、数量有关,可以用非常少参数量处理任意大小图片。每个卷积层提取特征,在后面层抽象组合更高阶特征,多层抽象卷积网络表达能力强,效率高。隐含节点数量没有下降,隐含节点数量只跟卷积步长有关。隐含节点数量=输入像素数量/(步长X步长)。

卷积神经网络,局部连接(Local Connection)、权值共享(Weight Sharing)、池化层(Pooling)降采样(Down-Sampling)。局部连接、权值共享降低参数量,训练复杂度下降,减轻过拟合。权值共享,卷积网络平移容忍性。池化层降低输出参数量,模型轻度形变容忍性,提高泛化能力。训练中自动完成特征提取抽象,同时模式分类,降低图像识别难度。

LeNet5 始于1994年,深层卷积神经网络。Yann LeCun。可训练参数卷积层,用少量参数在图像多个位置提取相似特征。如果图像独立像素直接作输入,利用不到图像很强的空间相关性。每个卷积层包含卷积、池化、非线性激活函数。卷积提取空间特征。降采样(Subsample)平均池化层(Average Pooling)。双曲正切(Tanh)或S型(Sigmoid)激活函数。MLP最后分类器。层间稀疏连接减少计算复杂度。

State-of-the-art。LeNet5奠定现代卷积神经网络基石。LeNet5,输入图像,三个卷积层,一个全连接层,一个高斯连接层。第一个卷积层C1有6个卷积核,卷积核尺寸为5x5,共(5x5+1)x6=156个参数。1个bias。2x2平均池化层S2降采样。Sigmoid激活函数非线性处理。第二个卷积层C3,卷积核尺寸5x5,16个卷积核,16个Feature Map。第二个池化层S4,2x2降采样。第三个卷积层C5,120个卷积核,卷积大小5x5,输入5x5,构成全连接,可以算全连接层。F6全连接层,84个隐含节点,激活函数Sigmoid。最后一层,欧式径向基函数(Euclidean Radial Basis Function)单元组成,输出最后分类结果。

参考资料:
《TensorFlow实践》

欢迎付费咨询(150元每小时),我的微信:qingxingfengzi

上一篇:C#7.0之ref locals and returns (局部变量和引用返回,之前欠大家的,现在补上)


下一篇:composer 安装