本系列文章将对机器学习知识进行分享总结。便于大家从理论层面了解人工智能基础原理,从而更好的运用算法发论文写作以及实际应用。关注即免费获取大量人工智能学习资料。
卷积神经网络主要由多种类型的网络层和多种类型的网络输出层组成。其中网络层包括通用的卷积层、池化层、批归一化层等。经过这些层的组合与连接,进而可以得到各种类型的卷积神经网络模块。 相较于传统机器学习算法,卷积神经网络具有更强大的处理能力和分析能力。自动将复杂的数学计算应用于大规模数据的能力是深度学习重要发展过程。近年来,计算机显卡的计算能力的大幅提高,GPU的并行计算技术已经取代CPU,成为卷积神经网络训练时的主流,GPU的高速计算能力有效地帮助深度学习技术演化为从大量训练数据中学习。
卷积层是卷积神经网络中最基础同时又是最重要的组成部分,卷积层是卷积神经网络中使用最为频繁的层之一。卷积操作最早应用于信号处理领域,后来被广泛应用于图像滤波、图像去噪等领域。需要注意的是,卷积神经网络中的卷积与信号处理中的卷积并不等同,实际上,卷积神经网络的卷积与信号处理中的互相关等同。但是在卷积神经网络中一般不使用互相关这个名词,一般就用卷积代指。
池化层的作用是对特征图进行下采样,减小特征图的大小、并降低计算复杂度。如图所示显示了最大值池化操作,其中从选定的子块中选择最大值激活。这个窗口以步幅定义的步长滑过输入特征图。
激活函数(Activation Function)是卷积神经网络中的重要组成模块。卷积层和全连接层这些层均包含权重,含有权重的层通常后面都会与非线性激活模块相接。激活函数主要有Sigmoid函数、Tanh函数、ReLU函数、PReLU函数及Leaky ReLU函数等。Sigmoid函数是一个类似S形的平滑阶梯函数,其将含权重的层的输入进行非线性处理,从而获得归一化输出结果,同时Sigmoid的处处可导性对反向传播十分有利。
卷积神经网络的训练难度会随着网络深度的增加而增加。在传统的神经网络中,样本在进入输入层之前通常要执行正则化操作。这样的处理会导致每个层的数据分布随着训练期间参数的更新而发生改变。如果卷积神经网络中的隐含层输出的分布不断变化,那么训练过程将会减慢,网络将需要很长时间才能收敛。批量归一化用于调整卷积神经网络内部各层的参数,并且由于其可导,因此可以集成到端到端网络中。
损失函数(Loss function),也称为目标函数,用于衡量网络的预测值与样本真实值之间的误差。在卷积神经网络中,损失函数是评价网络性能好坏的一个重要指标,也是驱动网络参数得以更新训练的核心要素。
在卷积神经网络中,随着网络深度的增加,计算资源的消耗会急剧增长。这对于计算机有限的数据处理能力来说是困难的。针对这一问题,卷积神经网络采用局部连接、权值共享等方式来降低计算复杂度。与传统的神经网络相比,卷积神经网络具有以下特点:
(1)局部连接。卷积神经网络在提取图像特征的过程中,通常采用局部连接的方式。在传统BP网络中,神经元在连接时是密集连接,而卷积神经网络的连接是局部连接。局部连接使得降低了一倍,当神经元的数量更多时,降低的比例会更高。卷积神经网络这种局部连接的方式极大地减少了存储空间,提升了网络计算的效率。
(2)参数共享。在卷积神经网络中,同一个卷积核对输入图像进行卷积运算时卷积核的参数都是相同的,这种参数共享机制降低了卷积神经网络的参数总量,给网络的训练降低了难度。
(3)深度大 。传统的神经网络中,如BP神经网络、RBF神经网络,这些网络的深度一般不超过3层。而卷积神经网络的层数通常都大于5层,最深的可达1000层。更深的网络带来了更好的性能,但也给网络的训练带来了更多困难。
本文介绍了卷积神经网络中基本的组成成分,包含了卷积层、池化层、激活函数、批量归一化等等,最后总结出卷积神经网络的特点,后续将持续进行分享更新机器学习相关知识。关注即免费获取大量人工智能学习资料。
参考文献:张 旭. 基于深度学习的双阶段舰船检测算法研究[D].本文仅用于学术分享,侵权联系删除。