首页 > 其他分享 >卷积层中的激活函数

卷积层中的激活函数

时间:2024-11-18 22:13:58浏览次数:3  
标签:函数 Tanh 卷积 层中 Sigmoid ReLU 神经网络 激活 Leaky

        在卷积神经网络(CNN)中,卷积层主要负责提取图像的特征,而激活函数则用于为神经网络引入非线性因素,使其能够更好地解决复杂的问题。

一、激活函数的作用

        1. 非线性建模:激活函数的主要作用是提供网络的非线性建模能力。在卷积层中,卷积操作是线性的,即对每个像素点赋予一个权值进行加权求和。然而,对于实际样本来说,不一定是线性可分的。为了解决这个问题,需要引入非线性因素,使网络能够学习更复杂的函数关系。(如果只有线性变换,那无论多少层神经元,都能简化层一层神经元,那神经网络只是简单多元线性回归而已,不能拟合更加复杂的函数。举个例子,只有线性操作,那么神经网络永远无法拟合圆等复杂的曲线图形,永远只能表示超平面,无法表示曲面等。)

        2. 构建稀疏矩阵:激活函数还可以构建稀疏矩阵,即稀疏性。这个特性可以去除数据中的冗余,最大可能地保留数据的特征。大多数为0的稀疏矩阵可以更有效地表示数据,从而提高模型的泛化能力。

        一般情况下,卷积层中激活函数作用的位置如下:

图1 卷积层中激活函数作用的位置

二、激活函数的性质

        连续的:当输入值发生较小的改变时,输出值也发生较小的改变;

        可导的:在定义域中,每一处都是存在导数。

、常用的激活函数

Sigmoid函数

        1. Sigmoid函数介绍

        Sigmoid函数也被称为逻辑函数或S型函数,是神经网络中常用的激活函数之一,特别是在二分类问题中。它将输入值映射到0和1之间,输出值表示该输入属于某一类的概率。然而,Sigmoid函数存在梯度消失的问题,即当输入值非常大或非常小时,梯度接近于0,导致网络在训练过程中难以更新权重。

        2. Sigmoid函数的数学表达式

\sigma(x) = \frac{1}{1 + e^{-x}}

        其中,x是输入值,\sigma (x)是输出值,其取值范围在0和1之间。其对x的导数可以用自身表示:

        Sigmoid函数的图形如S曲线,及其导数曲线图

图2 Sigmoid函数及其导数曲线图

        3. Sigmoid函数的特点

        (1)输出范围:Sigmoid函数的输出值始终在0和1之间,这使得它非常适合用于二分类问题,其中输出值可以解释为属于某一类别的概率。

        (2)非线性:Sigmoid函数是一个非线性函数,它能够为神经网络引入非线性因素,使得神经网络能够学习和表示复杂的函数关系。

        (3)可微性:Sigmoid函数在其定义域内是连续且可微的,这保证了在训练过程中可以使用梯度下降等优化算法来更新网络的权重。

        (4)饱和性:当输入值非常大或非常小时,Sigmoid函数的输出值将非常接近于1或0,此时函数的梯度将接近于0,这可能导致梯度消失问题,影响网络的训练效果。

        (5)中心化:Sigmoid函数的输出值不是以0为中心的,这可能导致在训练过程中权重更新的效率降低。

        4. Sigmoid函数在神经网络中的应用

        (1)输出层:在二分类问题中,Sigmoid函数常用于神经网络的输出层,将网络的输出值转换为概率值,用于判断输入样本属于某一类别的概率。

        (2)隐藏层:尽管Sigmoid函数在输出层中非常有用,但在隐藏层中,由于其梯度消失问题和非零中心化的输出值,现代神经网络更倾向于使用ReLU(Rectified Linear Unit)等激活函数。

        5. 不足之处

        (1)梯度消失:当输入值非常大或非常小时,Sigmoid函数的梯度将接近于0,这可能导致在训练深层神经网络时梯度消失问题。为了缓解这个问题,可以使用ReLU等具有更好梯度特性的激活函数。

        (2)数值稳定性:在计算Sigmoid函数时,需要注意数值稳定性问题。例如,当e^{-x}非常大时,直接计算可能会导致数值溢出。为了避免这个问题,可以使用一些技巧,如将e^{-x}表示为一个小数,或者通过数学变换来避免直接计算大数或小数。

(二)Tanh函数

        1. Tanh函数介绍

Tanh函数,全称双曲正切函数(hyperbolic tangent function),是深度学习中常用的一种激活函数。Tanh函数将输入值映射到-1和1之间,具有更好的对称性。与Sigmoid函数相比,Tanh函数在训练过程中更容易收敛。但是,Tanh函数同样存在梯度消失的问题。

        2. Tanh函数的数学表达式

\tanh(x) =\frac{sinh(x)}{cosh(x)}= \frac{e^x - e^{-x}}{e^x + e^{-x}}

        其中,e代表自然对数的底,x是输入值,tanh(x)是输出值,其取值范围在-1和1之间。其对x的导数可以用自身表示:

        Tanh函数及其导数曲线图如下:

图3 Tanh函数及其导数曲线图

        3.Tanh函数特点

        (1)双边性:Tanh函数在原点附近(x=0)具有对称性,即\tanh(-x) = -\tanh(x)。这种对称性在某些应用场景下非常实用。

        (2)饱和性:当输入值趋向正无穷或负无穷时,Tanh函数的输出趋近于1或-1,呈现饱和特征。然而,与Sigmoid函数相比,Tanh函数在输入值较大时的梯度消失问题相对较轻。

        (3)导数性质:Tanh函数的导数为\text{sech}^2(x),其中\text{sech}(x)表示双曲正割函数,即Tanh函数的倒数。Tanh函数的导数值在0到1之间,且在(x=0)处取得最大值1。

        (4)中心化:Tanh函数的输出值在原点附近有一个中心点(x=0),该点的输出为0。这使得Tanh函数具有零中心化特性,有利于消除输入数据的偏差。

        4.在深度学习中的应用

        (1)激活函数:Tanh函数常常作为神经网络中的激活函数使用,能够引入非线性元素,提升模型的表达力。

        (2)梯度消失问题:在深度神经网络中,如果使用Sigmoid激活函数,反向传播过程中容易出现梯度消失的问题。而Tanh函数通过函数值的中心化,可以减少这个问题的发生。

        (3)连续可导:Tanh函数是连续可导的,这使得在优化过程中可以使用梯度下降等基于导数的方法。

        5. 与其他激活函数的比较

        (1)Sigmoid函数:Sigmoid函数的输出值也在0和1之间,但它在输入值较大或较小时梯度接近于0,容易导致梯度消失问题。相比之下,Tanh函数在输入值较大时的梯度消失问题相对较轻。

        (2)ReLU函数:ReLU函数在输入值大于0时保持原样输出,在输入值小于0时输出0。ReLU函数具有计算简单、梯度不会消失等优点,但在输入值小于0时会导致神经元死亡问题。与ReLU函数相比,Tanh函数在输入值小于0时仍然有输出值,避免了神经元死亡问题。

(三)ReLU函数

        1. ReLU函数介绍

        ReLU函数,全称线性整流函数(Rectified Linear Unit),是目前最常用的激活函数之一。它对于输入值大于0的部分保持原样输出,对于输入值小于0的部分输出0。ReLU函数具有计算简单、梯度不会消失、稀疏性等优点。但是,当输入值小于0时,ReLU函数的输出为0,这可能导致一些神经元在训练过程中永远不会被激活,即“死亡神经元”问题。

        2. ReLU函数的数学表达式为:

f(x) = \max(0, x)

        其中,x是输入值,f(x)是输出值。当输入值x大于0时,ReLU函数直接输出x;当输入值x小于或等于0时,ReLU函数输出0。

        ReLU函数及其导数曲线图如下:

图4 ReLU函数及其导数曲线图

        3. ReLU函数特点

        (1)非线性:尽管ReLU函数的表达式看似简单,但它实际上是非线性的,能够为神经网络引入非线性因素,从而增强模型的表达能力。

        (2)稀疏性:ReLU函数在输入值小于0时输出0,这意味着它可以使神经网络中的一部分神经元处于未激活状态,从而增加模型的稀疏性。这种稀疏性有助于提升模型的泛化能力和鲁棒性。

        (3)计算效率高:ReLU函数的计算非常简单,只需要进行一次比较操作和一次乘法操作(当输入值大于0时,乘法操作为乘以1,实际上可以省略),因此它的计算效率非常高。

        (4)梯度稳定性:ReLU函数在正区间上的梯度为常数1,在负区间上的梯度为0。这种特性使得ReLU函数在反向传播过程中不会出现梯度消失问题,并且相比于Sigmoid函数和双曲正切函数(Tanh),它更不容易导致梯度爆炸问题。

        (5)生物合理性:ReLU函数的形式与生物神经元的激活方式较为接近,能够更好地建模生物神经系统的特性。

        4. 应用与优势

        ReLU函数广泛应用于深度学习和神经网络中的各个任务,包括图像处理、自然语言处理、强化学习和音频处理等。其优势主要体现在以下几个方面:

        (1)提升模型性能:ReLU函数能够增加神经网络的非线性表达能力,从而提升模型的性能。

        (2)加速训练过程:由于ReLU函数的计算效率高,且不会出现梯度消失问题,因此它可以加速神经网络的训练过程。

        (3)增强泛化能力:ReLU函数的稀疏性特性有助于提升模型的泛化能力,使其能够更好地适应未见过的数据。

        5. 注意事项与改进

        尽管ReLU函数具有诸多优点,但在实际应用中也需要注意以下几个问题:

        (1)死亡神经元问题:当输入值持续小于0时,ReLU函数的输出将始终为0,这可能导致一部分神经元在训练过程中永远不会被激活,即“死亡神经元”问题。为了缓解这个问题,可以使用Leaky ReLU、Parametric ReLU等改进版本的ReLU函数。

        (2)参数初始化:在使用ReLU函数时,需要谨慎选择神经网络的参数初始化方法,以避免在训练初期出现大量死亡神经元。

        (3)学习率设置:学习率的设置对ReLU函数的训练效果也有重要影响。过高的学习率可能导致梯度爆炸问题,而过低的学习率则可能使训练过程过于缓慢。因此,需要根据具体任务和数据集的特点来设置合适的学习率。

(四)Leaky ReLU函数

        1. Leaky ReLU函数介绍

        Leaky ReLU函数是对ReLU函数的一种改进,被称为带泄露线性整流函数,旨在解决ReLU函数可能导致的“死亡神经元”问题。当输入值小于0时,Leaky ReLU函数允许一个很小的梯度值通过,从而避免“死亡神经元”问题。但是,Leaky ReLU函数增加了一个超参数,需要谨慎选择。

        2. Leaky ReLU函数的数学表达式为:

        其中,x是输入值,f(x)是Leaky ReLU函数的输出值,\lambda是一个较小的常数,通常取值在0到1之间。当输入值x大于0时,Leaky ReLU函数与ReLU函数一样,直接输出x;当输入值x小于或等于0时,Leaky ReLU函数则输出\lambda x,而不是像ReLU函数那样输出0。

        Leaky ReLU函数及其导数曲线图如下:

图5 Leaky ReLU函数及其导数曲线图

        3. Leaky ReLU函数特点

        (1)非线性:Leaky ReLU函数仍然是非线性的,能够为神经网络引入非线性因素,从而增强模型的表达能力。

        (2)避免死亡神经元:由于Leaky ReLU函数在输入值小于或等于0时仍有输出(即\lambda x),因此可以避免ReLU函数可能导致的“死亡神经元”问题。

        (3)参数\lambda:参数\lambda是一个可调的常数,可以根据具体任务和数据集的特点进行选择。不同的值会对模型的性能产生不同的影响。

        (4)计算效率:Leaky ReLU函数的计算效率与ReLU函数相当,都非常高。

        4. 应用与优势

        Leaky ReLU函数广泛应用于深度学习和神经网络中的各个任务,包括图像处理、自然语言处理、强化学习和音频处理等。其优势主要体现在以下几个方面:

        (1)提升模型性能:由于Leaky ReLU函数能够避免“死亡神经元”问题,因此可以提升神经网络的性能。

        (2)增强鲁棒性:Leaky ReLU函数通过允许输入值小于或等于0时仍有输出,增强了神经网络的鲁棒性。

        (3)灵活性:参数\lambda的引入为Leaky ReLU函数提供了更大的灵活性,可以根据具体任务和数据集的特点进行调整。

        5. 变种与扩展

        除了标准的Leaky ReLU函数外,还有一些变种和扩展形式,如Parametric Leaky ReLU(PReLU)和Exponential Linear Unit(ELU)等。

        Parametric Leaky ReLU(PReLU):PReLU函数使用了一个可学习的参数来控制输入值小于0时的输出比例,而不是像Leaky ReLU那样使用固定的\lambda值。这使得PReLU函数能够更灵活地适应不同的数据集和任务。

        Exponential Linear Unit(ELU):ELU函数在输入值小于0时不是直接将输出值设定为负数,而是给出一个负指数形式,这有助于减少神经元过偏置现象,并提升模型的性能。

、激活函数在卷积层中的应用

        在卷积神经网络中,激活函数通常紧跟在卷积层之后。卷积层负责提取图像的特征,而激活函数则负责引入非线性因素,使网络能够学习更复杂的特征表示。通过堆叠多个卷积层和激活函数层,可以构建出深度卷积神经网络,用于处理各种复杂的图像识别任务。

        综上所述,激活函数在卷积神经网络中起着至关重要的作用。它们为网络引入了非线性因素,提高了模型的表达能力和泛化能力。在选择激活函数时,需要根据具体任务和数据集的特点进行权衡和选择。

标签:函数,Tanh,卷积,层中,Sigmoid,ReLU,神经网络,激活,Leaky
From: https://blog.csdn.net/lzm12278828/article/details/143867900

相关文章

  • 像素风游戏:死亡细胞Dead Cells中文激活版
    《死亡细胞》(DeadCells)是一款融合了类银河战士恶魔城元素的横版动作Roguelike游戏。玩家在游戏中扮演一个无名的死者灵魂,操控复活的躯体探索变化莫测的岛屿。游戏以其独特的像素风格、流畅的战斗系统、随机生成的地图和敌人配置而著称,玩家需不断收集细胞解锁新能力和装备,挑战强......
  • MoD:轻量化、高效、强大的新型卷积结构 | ACCV'24
    来源:晓飞的算法工程笔记公众号,转载请注明出处论文:CNNMixture-of-Depths论文地址:https://arxiv.org/abs/2409.17016创新点提出新的卷积轻量化结构MoD,在卷积块(Conv-Blocks)内通过动态选择特征图中的关键通道进行集中处理,提高效率。CNNMoD保留了静态计算图,这提高了训......
  • idea免费激活到2099年
    idea免费激活到2099年目录idea免费激活到2099年前言一去官网上下载idea二下载idea激活工具并使用第一步点击scripts(uninstall-all-users.vbs)清除信息第二步点击(install.vbs)安装配置信息第三步打开(idea.vmoptions)拷贝配置信息到idea配置中三激活idea1复制激活码找到Activation_......
  • InDesign 2025 for Mac(Id2025)最新激活版20.0.0
    InDesign2025具备强大的功能和灵活的扩展性,支持插件扩展,用户可以根据自身需求自定义工具和工作流程。在处理复杂排版和多页面设计时,InDesign2025注重用户界面的友好性与功能的直观性,即使是新手用户也能快速上手。InDesign2025增强了多模态图文编辑能力,使得图像与文字的结合更......
  • Pointnet++改进68:添加FFCM |融合傅里叶卷积
    简介:1.该教程提供大量的首发改进的方式,降低上手难度,多种结构改进,助力寻找创新点!2.本篇文章对Pointnet++特征提取模块进行改进,加入,提升性能。3.专栏持续更新,紧随最新的研究内容。目录1.理论介绍2.修改步骤2.1步骤一     2.2步骤二     2.3步骤三1......
  • 学会了卷积神经网络,不自己来做一个猴子分类实验吗?
       一、实验要求熟悉使用卷积神经网络模型解决分类问题。实验目的1、掌握根据实际问题设计网络模型2、掌握根据实际问题设计优化器和损失函数3、熟悉循环神经网络训练过程4、熟悉常用数据增强方法三、实验内容一人一组。已知monkeys数据集包含共5种猴子分类(Bal......
  • YOLOv11改进,YOLOv11结合DynamicConv(动态卷积),CVPR2024,二次创新C3k2结构
    摘要大规模视觉预训练显著提高了大规模视觉模型的性能。现有的低FLOPs模型无法从大规模预训练中受益。在本文中,作者提出了一种新的设计原则,称为ParameterNet,旨在通过最小化FLOPs的增加来增加大规模视觉预训练模型中的参数数量。利用DynamicConv动态卷积将额外的参......
  • YOLOv8改进,YOLOv8结合DynamicConv(动态卷积),CVPR2024,二次创新C2f结构
    摘要大规模视觉预训练显著提高了大规模视觉模型的性能。现有的低FLOPs模型无法从大规模预训练中受益。在本文中,作者提出了一种新的设计原则,称为ParameterNet,旨在通过最小化FLOPs的增加来增加大规模视觉预训练模型中的参数数量。利用DynamicConv动态卷积将额外的参......
  • 强大的cad绘图软件推荐:AutoCAD 2023中文 AutoCAD 2023激活教程
    AutoCAD2023是由美国Autodesk公司推出的一款计算机辅助设计软件,广泛应用于建筑、机械、航空、电子和地理信息系统等多个领域。这款软件具有强大的二维和三维设计、制图和分析功能,可以帮助用户轻松创建各种复杂的模型。在功能上,AutoCAD2023提供了平面绘图、编辑图形、三维绘......
  • 深度学习面试的时候,如何回答1x1卷积的作用
    11月了,秋招已经开始了。不知最近有没有同学在投简历面试呢?回想起几年前我面试某大厂的时候,被问到了很多深度学习相关的知识,那时的我懂的不多,可以说是被面试官360度无死角蹂躏。那次面试,印象最深的是问了很多与卷积相关的问题,导致我后来工作一段时间看到卷积就时不时的去查些资......