【机器学习300问】66、ReLU激活函数相对于Sigmoid和Tanh激活函数的优点是什么?ReLU它有局限性吗?如何改进?

一、ReLU相对于Sigmoid和Tanh的优点

(1)计算效率高

ReLU函数数学形式简单,仅需要对输入进行阈值操作,大于0则保留,小于0则置为0。Sigmoid和Tanh需要指数运算但ReLU不需要。所以相比之下它会更快,降低了神经网络的运行时间和计算资源消耗。

(2)解决梯度消失问题

Sigmoid和Tanh在输入值较大或较小时,其导数接近于0,易导致梯度消失。而ReLU在正区间内导数恒为1,这意味着对于正输入,梯度不会随着网络层的增加而衰减,这有助于解决深度网络中的梯度消失问题。关于这方面我单独写了一篇文章:【机器学习300问】65、为什么Sigmoid和Tanh激活函数会导致梯度消失?http://t.csdnimg.cn/MmRdi

(3)稀疏激活性

在ReLU中,所有的负输入都会输出0,这导致了网络中的神经元输出是稀疏的,即在任何时候都只有一部分神经元是激活的,这样的稀疏性可以提高网络的表达能力,有助于降低过拟合风险,提高模型的泛化能力。

二、ReLU它的局限性和改进方案

(1)ReLU的局限性

  • 神经元死亡问题:这是由于负梯度经过ReLU的时候被置0,且以后也再也不被任何数据激活,即流经该神经元的梯度永远为0,不对任何数据产生响应。如果在实际训练中,如果不恰当的参数初始化或者学习率设置较大,会导致一定比例的神经元会不可逆的死亡,进而参数梯度无法跟新,导致训练失败。
  • 非连续梯度问题: ReLU在原点处的梯度突然从1变为0,这种不连续性可能在某些情况下导致训练不稳定。

ReLU函数

ReLU函数的导函数

(2)改进方法

可以采用ReLU的变种**Leaky ReLU(LReLU)**这个函数的表达式为:

LReLU在正区间的行为与ReLU相同,其中的α是一个很小的正常数。图像如下:

它解决"死神经元"局限性的原理是引入一个小的、固定的梯度α(如α = 0.01), 即使在输入值为负数的情况下也允许神经元有一个小的、非零的梯度。LReLU的这个α值是人为设定的,对所有负值输入统一适用,训练过程中不进行学习或调整。

基于这种思想,参数化的Parametric ReLU (PReLU) 应运而生,他和LReLU的主要区别是对于负值输入,PReLU引入了一个可学习的参数α,这里的α不再是一个固定的常数,而是在训练过程中根据反向传播算法和优化过程自动学习得到的,它可以是每个神经元独享的一个参数,也可以是共享于整个网络层的所有神经元。

相关推荐
蒸汽求职4 小时前
跨越 CRUD 内卷:半导体产业链与算力基建下的软件工程新生态
人工智能·科技·面试·职场和发展·软件工程·制造
DeepModel4 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
聊点儿技术4 小时前
LLM数据采集如何突破AI反爬?——用IP数据接口实现进阶
人工智能·数据分析·产品运营·ip·电商·ip地址查询·ip数据接口
小兵张健4 小时前
一场大概率没拿到 offer 的面试,让我更坚定去做喜欢的事
人工智能·面试·程序员
2501_940041744 小时前
AI创建小游戏指令词
人工智能·游戏·prompt
AC赳赳老秦4 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw
Biomamba生信基地4 小时前
致谢文章又+1,生物信息学+机器学习鉴定驱动糖尿病肾病免疫激活和小管间隙损伤的PANoptosis枢纽基因
机器学习·生物信息学·文献
观测云5 小时前
观测云产品更新 | 统一目录、Obsy AI、错误中心、场景、基础设施等
人工智能·可观测性·产品迭代·观测云
gregmankiw5 小时前
公理引擎(Project Axiom):基于神经符号验证的可执行智能体架构设计方案
人工智能
火山引擎开发者社区5 小时前
ArkClaw 社群挑战赛|群虾整活大赏
人工智能