在计算机视觉领域随着深度卷积神经网络CNN的快速发展在图像分类、语义分割、物体检测和图像超分辨率重建等多个领域取得了一系列显著进展。卷积神经网络在自主学习和表达方面具有优越特性通过训练与实际应用相匹配的卷积神经网络模型可以实现从原始输入数据中提取特征。随着深度学习技术的快速发展CNN的结构变得越来越复杂和多样化。因此它逐渐取代了传统的机器学习方法。本文介绍了CNN组件及其功能的基本理解包括输入层、卷积层、池化层、激活函数、批次归一化、退出层、全连通层和输出层。基于此本文全面概述了CNN模型在计算机视觉领域的过去和当前研究进展例如图像分类、物体检测和视频预测。此外我们还总结了深度CNN的挑战与解决方案并讨论了未来的研究方向。1 简介计算机视觉作为图像处理领域的流行词越来越受欢迎。人类活动识别HAR是一个成熟的趋势具有众多实际应用包括老年护理监测、康复活动追踪、姿势矫正分析和安全入侵检测是计算机视觉领域的重要研究领域Singh 和 Vishwakarma 2019。多年来计算机视觉领域的深度学习进展吸引了许多人类行为识别领域的学者关注Vishwakarma 和 Singh 2019;辛格和维什瓦卡尔玛 2021;Dhiman 和 Vishwakarma 2020。卷积神经网络CNN被用于构建大多数计算机视觉算法。卷积神经网络Li 等2021以神经元的局部连接、权重共享和下采样著称是一种深前馈多层次的分层网络灵感来源于生物学中的感受野机制。作为深度学习模型之一CNN还可以实现“端到端”学习。通过多层特征转换原始数据的底层特征表示逐渐转化为更高级的特征表示处理后的数据被输入预测函数以确定最终分类或其他任务。机器自身学习的表示可以生成良好的特征避免“特征工程”。2006年Hinton等人在其发表在《科学》杂志上的文章中提出了多种观点Hinton 和 Salakhutdinov 2006包括1具有多层隐藏的人工神经网络具有强大的特征学习能力以及2通过“逐层初始化”方法大大降低深度神经网络训练的难度。从那时起深度学习成为学术界和工业界的热门话题并在计算机视觉、语音识别、机器翻译等领域掀起了广泛关注。与此同时人工神经网络的又一波学习热潮Yu 等2013已经爆发。作为典型的深度学习神经网络模型CNN也获得了各行各业的广泛关注。其中最受关注的是AlexNetAlom等2018该项目因其优异表现于2012年赢得了ImageNet大规模视觉识别竞赛ILSVRC。随着AlexNet在图像分类等计算机视觉任务准确性的提升研究人员开始修复基于AlexNet的网络模型缺陷期望进一步提升其性能。模型优化取得了重大进展一些最具代表性的神经网络模型包括Visual Geometry GroupVGGSengupta等2019、GoogLeNetKhan等2019、残差网络ResNetWightman等2021、Squeeze and Excitation NetworkSENetJin等2022和MobileNetChen等2022).随着这些网络架构的发展神经网络模型往往更深、更广、更复杂。虽然这种演变有助于网络捕捉更好的特征表示但不能保证它在所有情况下都能高效运行。模型仍然存在缺点比如网络更容易陷入过拟合且随着网络变得更深更复杂错误率非但没有减少反而增加了。为弥补这些模型的不足许多学者提出了多种技术来优化CNN结构例如网络剪枝Yang等2023、知识蒸馏Guo等2023和张量分解Fernandes等2021。尽管CNN在图像分类Chandra 和 Bedi 2021、物体检测马等 2023、语音识别Li 等 2022、情感分析Chan 等 2023和视频识别Yan 等 2022等计算机视觉应用方面取得了显著成就但该领域仍面临各种挑战与机遇。随着计算机视觉任务日益复杂迫切需要能够提供更高性能和效率的CNN模型和算法。此外当前研究重点关注不同任务间的知识共享、领域适应性和可解释性等关键问题。考虑到这些因素本文旨在全面总结和分析CNN在计算机视觉中的应用特别强调图像分类、物体检测和视频预测等任务的最新进展。本调查论文的贡献总结如下• 本文对计算机视觉中的CNN进行了整体文献综述包括图像分类、物体检测和视频预测。• 对卷积、滤波器大小、步幅、下采样、优化器等CNN设计原则和技术的理论理解进行了详细说明。• 分别比较了使用现有算法在所属领域数据集上获得的图像分类和对象检测性能。• 重点介绍了基于卷积神经网络的经典深度学习架构和视觉模型。• 书中明确并介绍了当前面临的挑战及CNN未来的研究方向。论文的剩余部分如下见图。1第2节对CNN的基本组成部分及其对应功能进行了基本介绍。第3、4、5节分别总结了三个应用方向相关的研究模型和方法即图像分类、物体检测和视频预测。在宗派中。6和7通过综合当前研究状况分析和总结CNN的问题。此外还提供了对未来研究趋势的展望。计算机视觉作为图像处理领域的流行词越来越受欢迎。人类活动识别HAR是一个成熟的趋势具有众多实际应用包括老年护理监测、康复活动追踪、姿势矫正分析和安全入侵检测是计算机视觉领域的重要研究领域Singh 和 Vishwakarma 2019。多年来计算机视觉领域的深度学习进展吸引了许多人类行为识别领域的学者关注Vishwakarma 和 Singh 2019;辛格和维什瓦卡尔玛 2021;Dhiman 和 Vishwakarma 2020。卷积神经网络CNN被用于构建大多数计算机视觉算法。卷积神经网络Li 等2021以神经元的局部连接、权重共享和下采样著称是一种深前馈多层次的分层网络灵感来源于生物学中的感受野机制。作为深度学习模型之一CNN还可以实现“端到端”学习。通过多层特征转换原始数据的底层特征表示逐渐转化为更高级的特征表示处理后的数据被输入预测函数以确定最终分类或其他任务。机器自身学习的表示可以生成良好的特征避免“特征工程”。2006年Hinton等人在其发表在《科学》杂志上的文章中提出了多种观点Hinton 和 Salakhutdinov 2006包括1具有多层隐藏的人工神经网络具有强大的特征学习能力以及2通过“逐层初始化”方法大大降低深度神经网络训练的难度。从那时起深度学习成为学术界和工业界的热门话题并在计算机视觉、语音识别、机器翻译等领域掀起了广泛关注。与此同时人工神经网络的又一波学习热潮Yu 等2013已经爆发。作为典型的深度学习神经网络模型CNN也获得了各行各业的广泛关注。其中最受关注的是AlexNetAlom等2018该项目因其优异表现于2012年赢得了ImageNet大规模视觉识别竞赛ILSVRC。随着AlexNet在图像分类等计算机视觉任务准确性的提升研究人员开始修复基于AlexNet的网络模型缺陷期望进一步提升其性能。模型优化取得了重大进展一些最具代表性的神经网络模型包括Visual Geometry GroupVGGSengupta等2019、GoogLeNetKhan等2019、残差网络ResNetWightman等2021、Squeeze and Excitation NetworkSENetJin等2022和MobileNetChen等2022).随着这些网络架构的发展神经网络模型往往更深、更广、更复杂。虽然这种演变有助于网络捕捉更好的特征表示但不能保证它在所有情况下都能高效运行。模型仍然存在缺点比如网络更容易陷入过拟合且随着网络变得更深更复杂错误率非但没有减少反而增加了。为弥补这些模型的不足许多学者提出了多种技术来优化CNN结构例如网络剪枝Yang等2023、知识蒸馏Guo等2023和张量分解Fernandes等2021。尽管CNN在图像分类Chandra 和 Bedi 2021、物体检测马等 2023、语音识别Li 等 2022、情感分析Chan 等 2023和视频识别Yan 等 2022等计算机视觉应用方面取得了显著成就但该领域仍面临各种挑战与机遇。随着计算机视觉任务日益复杂迫切需要能够提供更高性能和效率的CNN模型和算法。此外当前研究重点关注不同任务间的知识共享、领域适应性和可解释性等关键问题。考虑到这些因素本文旨在全面总结和分析CNN在计算机视觉中的应用特别强调图像分类、物体检测和视频预测等任务的最新进展。本调查论文的贡献总结如下• 本文对计算机视觉中的CNN进行了整体文献综述包括图像分类、物体检测和视频预测。• 对卷积、滤波器大小、步幅、下采样、优化器等CNN设计原则和技术的理论理解进行了详细说明。• 分别比较了使用现有算法在所属领域数据集上获得的图像分类和对象检测性能。• 重点介绍了基于卷积神经网络的经典深度学习架构和视觉模型。• 书中明确并介绍了当前面临的挑战及CNN未来的研究方向。论文的剩余部分如下见图。1第2节对CNN的基本组成部分及其对应功能进行了基本介绍。第3、4、5节分别总结了三个应用方向相关的研究模型和方法即图像分类、物体检测和视频预测。在宗派中。6和7通过综合当前研究状况分析和总结CNN的问题。此外还提供了对未来研究趋势的展望。计算机视觉作为图像处理领域的流行词越来越受欢迎。人类活动识别HAR是一个成熟的趋势具有众多实际应用包括老年护理监测、康复活动追踪、姿势矫正分析和安全入侵检测是计算机视觉领域的重要研究领域Singh 和 Vishwakarma 2019。多年来计算机视觉领域的深度学习进展吸引了许多人类行为识别领域的学者关注Vishwakarma 和 Singh 2019;辛格和维什瓦卡尔玛 2021;Dhiman 和 Vishwakarma 2020。卷积神经网络CNN被用于构建大多数计算机视觉算法。卷积神经网络Li 等2021以神经元的局部连接、权重共享和下采样著称是一种深前馈多层次的分层网络灵感来源于生物学中的感受野机制。作为深度学习模型之一CNN还可以实现“端到端”学习。通过多层特征转换原始数据的底层特征表示逐渐转化为更高级的特征表示处理后的数据被输入预测函数以确定最终分类或其他任务。机器自身学习的表示可以生成良好的特征避免“特征工程”。2006年Hinton等人在其发表在《科学》杂志上的文章中提出了多种观点Hinton 和 Salakhutdinov 2006包括1具有多层隐藏的人工神经网络具有强大的特征学习能力以及2通过“逐层初始化”方法大大降低深度神经网络训练的难度。从那时起深度学习成为学术界和工业界的热门话题并在计算机视觉、语音识别、机器翻译等领域掀起了广泛关注。与此同时人工神经网络的又一波学习热潮Yu 等2013已经爆发。作为典型的深度学习神经网络模型CNN也获得了各行各业的广泛关注。其中最受关注的是AlexNetAlom等2018该项目因其优异表现于2012年赢得了ImageNet大规模视觉识别竞赛ILSVRC。随着AlexNet在图像分类等计算机视觉任务准确性的提升研究人员开始修复基于AlexNet的网络模型缺陷期望进一步提升其性能。模型优化取得了重大进展一些最具代表性的神经网络模型包括Visual Geometry GroupVGGSengupta等2019、GoogLeNetKhan等2019、残差网络ResNetWightman等2021、Squeeze and Excitation NetworkSENetJin等2022和MobileNetChen等2022).随着这些网络架构的发展神经网络模型往往更深、更广、更复杂。虽然这种演变有助于网络捕捉更好的特征表示但不能保证它在所有情况下都能高效运行。模型仍然存在缺点比如网络更容易陷入过拟合且随着网络变得更深更复杂错误率非但没有减少反而增加了。为弥补这些模型的不足许多学者提出了多种技术来优化CNN结构例如网络剪枝Yang等2023、知识蒸馏Guo等2023和张量分解Fernandes等2021。尽管CNN在图像分类Chandra 和 Bedi 2021、物体检测马等 2023、语音识别Li 等 2022、情感分析Chan 等 2023和视频识别Yan 等 2022等计算机视觉应用方面取得了显著成就但该领域仍面临各种挑战与机遇。随着计算机视觉任务日益复杂迫切需要能够提供更高性能和效率的CNN模型和算法。此外当前研究重点关注不同任务间的知识共享、领域适应性和可解释性等关键问题。考虑到这些因素本文旨在全面总结和分析CNN在计算机视觉中的应用特别强调图像分类、物体检测和视频预测等任务的最新进展。本调查论文的贡献总结如下• 本文对计算机视觉中的CNN进行了整体文献综述包括图像分类、物体检测和视频预测。• 对卷积、滤波器大小、步幅、下采样、优化器等CNN设计原则和技术的理论理解进行了详细说明。• 分别比较了使用现有算法在所属领域数据集上获得的图像分类和对象检测性能。• 重点介绍了基于卷积神经网络的经典深度学习架构和视觉模型。• 书中明确并介绍了当前面临的挑战及CNN未来的研究方向。论文的剩余部分如下见图。1第2节对CNN的基本组成部分及其对应功能进行了基本介绍。第3、4、5节分别总结了三个应用方向相关的研究模型和方法即图像分类、物体检测和视频预测。在宗派中。6和7通过综合当前研究状况分析和总结CNN的问题。此外还提供了对未来研究趋势的展望。论文布局展示整体过程本文按引言、基本卷积神经网络组成部分、图像分类、物体检测、视频预测、卷积神经网络挑战与未来方向以及结论的顺序进行审阅。其中卷积层、池化层、激活函数、批次归一化、脱落层和全连通层被引入CNN的基本组合中。图像分类入门包括AlexNet、VGG、GoogLeNet、ResNet、SENet和MobileNet。我们根据两阶段和一阶段对物体检测进行了概述。视频预测是CNN领域中一个热门的研究领域。本部分介绍视频预测领域的最先进模型。结论总结了CNN相关的挑战并概述了未来的研究方向。2 基本卷积神经网络组件尽管CNN模型有许多变体但整体架构基本相同遵循固定范式包括输入层、交替的卷积和池化层、一个或多个全连通层、激活函数以及末端的输出层。网络的前半部分由多个卷积层和池化层交替堆叠组成特征提取器通过这些操作可以执行各种操作将预处理的原始输入数据处理成更抽象、更高级的特征表示。全连通层与激活函数结合使用执行如对提取特征的分类或回归等任务。为了最大化CNN性能除了各种映射函数外还包含了批次归一化和丢弃等多种调控单元Bouvrie 2006。无花果。2 展示了各种 CNN 组件。CNN组件的配置对于创建新架构以及最终提升性能至关重要。了解CNN架构在计算机视觉领域的发展理解各种CNN组件及其各自的应用至关重要Bhatt 等2021。本节简要介绍了这些组件在CNN架构中的作用。CNN的结构假设这是一个n分类问题。原始数据被卷积两次卷积1卷积2两次合并最大池化1最大池化2然后输出到完全连接层完全连接最后Softmax激活函数将完整连接层的输出矢量压缩为0 1并在输出层输出。数据成本1表示属于n个类别的概率;值越大属于该类别的可能性越大。在输入CNN之前原始数据需要进行预处理。常见的处理方法包括均质化Stepanov 等2023、归一化Huang 等2023和主成分分析PCAUddin 等2021。为了实现均质化将整个训练集计算的平均值相减使输入数据的每个维度居中为零。归一化旨在将数据大小归一化到相同范围。通过逐一归一化输入利用PCA进行维度减小可以减少多个数据维度之间的相关性。2.1 卷积层卷积层可能从输入数据的不同局部区域提取各种特征由一组卷积核组成每个神经元作为一个核。每个卷积核有三个维度长度L、宽度W和深度D。在卷积卷积层中卷积核的长度和宽度是人工设计的L*W也称为卷积核的大小。常见的尺寸有3*3 5*5等等。通道数也称为深度或特征图数量是CNN中每层输出的特征图数量卷积核的深度与特征图的图页数相同。通道数量直接影响CNN的特征提取能力和计算复杂度。通过增加通道数量可以增强CNN的特征提取能力但也增加了计算复杂度。卷积运算是指在输入图像上滑动卷积核滤波器将卷积核和输入图像对应位置的像素值相乘并对它们相加以获得特征映射的过程。卷积过程如图3所示。图3 卷积过程使用单通道原始图像5*5以及卷积核3*3.通过卷积获得的特征图的每个像素值是通过将卷积核覆盖的原始图像在对应位置的像素值相乘并求和得到的。见图。3特征图中蓝色背景上的−4的计算方法如下通过将原始图像与滤波器卷积并应用非线性激活函数获得新的特征映射每个特征映射都可以作为一类提取的图像特征使用。为了提取更高级、更完整的特征表示网络模型可以叠加多个卷积层。卷积运算的权重共享技术允许通过在图像上滑动具有相同权重的核来检索图像中的多个特征集这使得其在CNN参数处理上比全连接网络更高效、更有效。此外它还允许网络拥有更少的神经元连接和更简单的网络架构从而促进网络的训练。步幅是卷积核从输入矩阵左上角开始从左到右、从上到下滑动输入矩阵的行数和列数。例如在图中。3步幅在高度和宽度方向上均为1。此外我们也可以用更大的步伐。无花果。4 展示了一个卷积运算垂直方向步幅为 3水平方向步幅为 2。在第一列第二个元素的输出处卷积窗口向下滑动3行用于计算的元素为当第一行的第二个元素被输出时卷积窗口向右滑动两列。计算中使用的元素包括由于输入元素无法填满卷积核窗口当卷积窗口向输入向右滑动两列时不会产生结果。输出数据大小、计算复杂度和特征提取能力都可能受到stride的影响。随着步幅增加输出数据量减少特征提取能力减弱但计算速度提升。卷积过程步幅2,3填充是指在输入数据的边缘添加一定数量的像素使输出数据的大小能够匹配输入数据的过程。如图所示。5也称为在矩阵边界上填充某些值以增加矩阵大小通常为0或复制边界像素进行填充。在CNN中填充经常用于防止特征图大小在每一层的缩小。此外填充使卷积核更容易学习输入图像周围的信息。例如当图像5*5*1被强化为7*7*1并应用于3*3*1在核上复矩阵被证明为 维数为5*5*1.它证明输入和输出图像的尺寸是相同的。如果同样的操作不加填充输出可能会有更小的图像。因此一个5*5*1图像将被转换为3*3*1图像Bhatt 等2021。图5 填充2.2 汇聚层获取特征图后必须添加一个池化下采样层。池层中的神经元与其输入层的局部接受域即卷积层相连不同神经元的局部接受域不重叠。池化过程与卷积过程类似可以看作是没有权重的池化函数其中输入特征映射组被划分为多个区域每个区域被池化以得到该区域的推广值。常用的池化函数有最大池化和平均池化。对于某个区域最大池化选择所有神经元的最大活动值作为该区域的表示并从输入特征映射中提取最重要的特征通常用于低层特征提取。在最大池化步幅2的情况下如图所示。6一个大小为2*2 的核在矩阵中移动选定最大值并放置在输出矩阵的相应位置。例如将蓝色区域的四个数字“0、1、4、8”合并得到8即这四个数字中的最大值。图6 最大池化平均池化取区域内所有元素的算术均值作为函数的输出结果即提取特征映射局部响应的平均值。平均池化结果为滤波器 步幅2见图。7. 显然绿色区域的汇集结果为 2 6 3 3/4 3.5。图7 平均池化引入池化层不仅有效压缩了数据和参数量降低特征图维度减少了过拟合还使网络对一些局部小幅形态变化保持不变同时拥有更大的感知场。应用不同的池化技术还显著缩短了模型训练所需时间并提升了特征提取和压缩能力。2.3 激活函数激活函数是接收滤波器输出的不同数学函数。激活函数在神经网络中起着重要作用增强了网络的表征和学习能力。神经网络中每一层的输入和输出都是线性求和过程下一层的输出则接替了上一层输入函数的线性变换。相反引入激活函数后神经网络可以近似任何其他非线性函数使其适用于更广泛的非线性模型。本节将介绍最经典且广泛使用的激活函数包括Sigmoid、Tanh、Softmax、ReLU和Leaky ReLU。逻辑函数也称为S形函数值介于0到1之间。如图所示。8S形结肠既可用于规范每个神经元的输出也可作为以预测概率为输出的模型。这是因为S形形将任何接收的向量映射到0,1区间。以下是S形函数的表达式。S形曲线和Tanh函数曲线图8显示S形梯度是平滑的防止输出值跳跃。然而使用Sigmoid存在许多问题。下一层的神经元输入因非零中心输出而面临偏移这也会减缓梯度下降的收敛速度并降低权重更新的效率。其次S形函数的变化率随着接近0和1而趋于平坦意味着S形函数的梯度收敛到0。输出接近0或1的神经元在使用S形激活函数反向传播时权重不会更新因为它们的梯度收敛到0。此外连接这些神经元的神经元权重会缓慢更新且容易出现梯度消失现象。最后S形函数是一个指数运算延长了模型的计算时间。Tanh也称为双曲切激活函数HTAF将接收的向量压缩到−1到1的范围。方程2及图。8分别表示函数表达式和曲线。在实际操作中Tanh 优先级高于 Sigmoid因为它改进了 Sigmoid 并解决了 Sigmoid 函数未能将输出置中为 0 的问题。然而与S形结核类似当输入大或小时输出平滑且梯度较小这对权重更新来说不便。Softmax 是多分类问题的激活函数。对于任意长度为 K 的实向量Softmax 激活可以将其压缩为长度为 K 的实向量其值范围为 0 1向量元素总和为 1。在K分类任务中激活函数获得的这些值可以用来表示每个类别的预测概率值越大表示属于该类别的概率越高。如图所示。9这是一个5分类问题。所有输出层向量左列在Softmax之后0 1以右列为数值其中第二行的概率为0.90表明分类任务属于第二类。SoftMax的表述如下与只返回最大值的标准最大值函数不同Softmax确保较小的值具有更小的概率且不会被直接丢弃。Softmax函数的分母将原始输出值的所有因子结合起来这意味着Softmax函数获得的各种概率彼此相关。当输入为负时梯度为零这意味着该区域的激活权重在反向传播过程中不会更新导致神经元死亡且永远不会激活。此外Softmax 在零时存在一个问题那就是它并不简单。无花果。10 表示 Softmax 函数图像。Softmax和Sigmoid在某些方面也存在一些相似之处和差异。软极大回归可以被视为S形回归的延伸当类别数K2时软极大回归退化为S形回归。S形将实值映射到区间0,1用于二元分类。Softmax 给出一个 K 维的实值向量A1A2A3A4......进入B1B2B3B4......其中bi是0到1的常数。多分类任务可以基于概率大小执行.虽然多重S形态也可以通过叠加实现多分类但软极大回归的多分类在各类之间是互斥的即输入只能归入一个类;通过多重S形回归进行多重分类输出的类别并不互斥。ReLU也称为整流线性单元是一个分段线性函数如图所示。11. ReLU 函数本质上是一个斜坡函数公式如下在某种程度上ReLU弥补了S形结肠和tanh的缺失。当输入为正时导数为1这改善了梯度消失问题并加快梯度下降收敛。其次由于ReLU函数仅具有线性关系它比S形函数和tanh函数更快。然而该激活功能存在Dead ReLU问题。如果输入为负梯度将完全为零ReLU神经元在训练过程中更可能“死亡”。与S形态类似ReLU函数的输出并非零中心这会在下一层神经网络引入偏置偏移影响梯度下降的效率。为了解决 ReLU 中 x 0 时梯度消失的问题我们使用 Leaky ReLU 函数试图修复 Dead ReLU 问题。函数表达式如下其中a是一个非常小的值比如0.01、0.1等。就像图12中那样。设a 0.01。漏 ReLU 通过给负输入赋予非常小的线性分量以适应负极零梯度在一定程度上缓解了 Dead ReLU 问题从而扩展了 ReLU 的范围。尽管Leaky ReLU具备ReLU的所有特性如计算效率高、收敛快速且不饱和但实际尚未完全证明Leaky ReLU总是优于ReLU。深度学习的核心在于不断更新权重以寻找最小化损失的数值。在处理复杂任务时深度网络优于浅层网络。然而在深度神经网络中梯度是不稳定的要么消失要么爆炸这由梯度反向传播中乘法的复合效应引起。例如基于梯度下降的反向传播BP算法会调整目标物负梯度方向的参数。梯度计算涉及激活函数的导数。如果导数大于1随着网络层的增加计算出的梯度更新呈指数增长导致梯度爆炸。这会导致网络权重大幅更新使网络变得不稳定。如果导数小于1梯度更新信息会随着层数递增呈指数衰减导致梯度消失问题。这阻碍了模型即使经过长时间训练也无法有效从训练数据中学习。选择合适的激活函数可以有效缓解梯度消失和爆炸的问题。如果激活函数导数为1则梯度不会出现消失或爆炸的问题网络的每一层都可以以相同的速率更新。Sigmoid和Tanh是两个经典的激活函数但Sigmoid有一个缺点当x大或小时导数接近0而S形函数导数的最大值为0.25。如果使用Sigmoid作为激活函数其梯度不能超过0.25。因此梯度消失很可能发生在反向传播的链式规则之后。与Sigmoid类似使用Tanh作为激活函数仍可能导致梯度消失的问题;虽然其导数优于S形态但仍小于1。因此Sigmoid和Tanh通常不适合神经网络。ReLU的导数在正部分始终为1因此使用ReLU作为激活函数避免梯度消失和爆炸的问题。通过允许正梯度保持不变并将负值设为零ReLU确保只有正梯度对权重更新有贡献从而减少梯度消失的问题。此外ReLU还可以通过截断较大的梯度值来防止梯度爆炸。其他激活函数如S形态或Tanh也能在一定程度上缓解梯度爆炸的问题。激活函数作为决策函数有助于学习复杂模式。选择合适的激活函数可以加快学习过程。不同的激活函数适用于不同的应用场景。而ReLU及其变体则更受青睐因为它们有助于克服梯度消失问题Nwankpa等2018。2.4 批量归一化梯度下降是一种非常多功能的优化算法非常适合解决各种问题。梯度下降的整个理念是通过迭代更新参数使目标函数的梯度方向相反从而最小化目标函数。梯度是函数在该点的方向导数的表示使该函数达到最大值。梯度下降算法如图13所示。选择随机初始值计算该点的梯度然后沿梯度方向更新自变量直到函数值变化极小或达到最小迭代次数。公式如下学习步骤是梯度下降中一个重要的参数决定了在目标函数上尝试推进多远以找到极小点。学习步骤的设置可能出现两个极端情况如图14所示a 如果学习步太小算法必须多次迭代才能收敛这非常耗时。b另一方面如果学习步过大最小点会被跳过甚至可能找不到。图14 学习步长过小或过大的梯度下降算法