《深度学习之图像识别:核心技术与案例实战》 ——1.2 卷积神经网络基础

举报
华章计算机 发表于 2020/02/23 10:55:18 2020/02/23
【摘要】 本节书摘来自华章计算机《深度学习之图像识别:核心技术与案例实战》 —— 书中第1章,第1.2.1节,作者是言有三   。

1.2  卷积神经网络基础

  在传统的模式识别模型中,特征提取器从图像中提取相关特征,再通过分类器对这些特征进行分类。使用梯度下降法的前馈全连接网络可以从大量的数据中学习复杂的高维且非线性的特征映射,因此传统的前馈全连接网络(BP神经网络)被广泛用于图像识别任务(其结构可参考图1.4,参数更新参见式(1.2)至式(1.15)。虽然可以直接将图像中的像素特征(向量)作为输入信号输入到网络中,但基于全连接神经网络的识别还存在一些问题。

  首先,隐藏层神经元数量越多的全连接网络包含的连接权值参量就越多,则越增加系统消耗和内存占用,并且需要更大的训练集来确定连接权值。

  其次,对于图像或者音频而言不具备平移、旋转、拉伸的不变性,输入到神经网络前必须经过预处理。以手写字符为例,如图1.6所示,对其进行归一化会导致字符的大小、倾斜程度及位置发生改变,再加上书写风格的差异,会导致图像特征发生变化。对于这些可能出现的问题,往往需要更多的神经元来增强网络的鲁棒性。

  最后,全连接的网络忽略了输入的拓扑结构。在一幅图像中,相邻的像素相关性较高的可以归为一个区域,像素之间相关性较低的则可视为图片中的不同区域,利用这个特性进行局部特征的提取有巨大的优势。但如何充分利用这些局部信息呢?

 image.png

图1.6  不同风格的手写字符示意图

  20世纪60年代,Hubel和Wiesel在研究猫脑皮层中负责处理局部敏感和方向选择的神经元时,发现了一种特别的网络结构显著降低了反馈神经网络的复杂性,随即提出了卷积神经网络(Convolutional Neural Networks,CNN)的概念。

  目前,CNN已经成为众多科学领域的研究热点之一,该网络不需要对图像进行复杂的预处理,可以直接输入原始图像,因此在计算机视觉方面得到了广泛的应用。本章节也将对卷积神经网络做一个基本的介绍。

1.2.1  卷积神经网络的基本结构

  卷积神经网络依旧是层级网络,不过层的功能和形式发生了变化,也是传统神经网络的改进。其主要包含数据输入层(Input Layer)、卷积计算层(Convolutional Layer)、ReLU激励层(Relu Layer)、池化层(Pooling Layer)及全连接层(Full Connection Layer)。

  数据输入层主要是对原始图像数据进行预处理,其中包括去均值,把输入数据各个维度都中心化为0;归一化,减少各维度数据因取值范围不同而带来的干扰。

  与普通前馈神经网络的不同之处在于,卷积神经网络包含普通神经网络没有的特征处理器,它是由卷积层和池化层(也称为降采样层)构成的。

  首先介绍一下卷积操作的数学意义。相信大家在学习中已经接触过卷积的概念,从数学上讲,卷积是一种运算,令(x·w)(t)称为x、w的卷积,其连续的定义为:

              image.png (1.16)

  离散的定义为:

               image.png(1.17)

  若将一张二维图像x作为输入,使用一个二维的卷积核w,则输出可表示为:

               image.png(1.18)

  卷积在此就是内积,根据多个确定的权重(卷积核),对某一范围内的像素进行内积运算,输出就是提取的特征,具体可视化的卷积操作将在1.2.2节进行介绍。

  在卷积层中,一个神经元只与邻层部分(通常为方阵区域)的神经元连接,包含若干个特征平面(FeatureMap),每个特征平面由多个神经元按矩阵形式排列组成,同一特征平面的神经元共享权值(卷积核)。共享权值(卷积核)大大减少了网络各层之间的连接,降低了过拟合的风险。

  一般的卷积神经网络包含多个卷积层,一个卷积层可以有多个不同的卷积核。通过将多个不同的卷积核进行处理提取出图像的局部特征,每个卷积核映射出一个新的特征图,再将卷积输出结果经过非线性激活函数的处理后输出。

  接下来对激活函数处理的结果进行降采样,也叫做池化(Pooling),通常有均值子采样(Mean Pooling)和最大值子采样(Max Pooling)两种形式。

  池化用于压缩网络参数和数据大小,降低过拟合。如果输入为一幅图像,那么池化层的主要作用就是压缩图像的同时保证该图像特征的不变性。例如,一辆车的图像被缩小了一倍后仍能认出这是一辆车,这说明处理后的图像仍包含着原始图片里最重要的特征。图像压缩时去掉的只是一些冗余信息,留下的信息则是具有尺度不变性的特征,是最能表达图像的特征。池化操作的作用就是把冗余信息去除掉,保留重要的信息,这样可以在一定程度上防止过拟合,方便网络的优化。

  全连接层,即两层之间所有神经元权重连接,通常全连接层在卷积神经网络尾部,跟传统的神经网络神经元的连接方式相同。

  卷积神经网络的训练算法也同一般的机器学习算法类似,先定义损失函数Loss Function,计算和实际结果的差值,找到最小化损失函数的参数值,利用随机梯度下降法进行权值调整。

  训练卷积神经网络时,网络的参数往往需要进行fine-tuning,就是使用已用于其他目标、预训练模型的权重或者部分权重,作为初始值开始训练,这样可以很快收敛到一个较理想的状态。

  卷积神经网络通过局部感受野(Local Receptive Fields)、权值共享(Shared Weights)、下采样(sub-sampling)实现位移、缩放和形变的不变性,主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。

  权值共享大大降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂过程。同一特征映射面上的神经元权值相同,因此网络可以并行学习,这也是卷积网络相对于全连接神经网络的一大优势。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。