深度学习面试基础--激活函数篇

激活函数是神经网络的重要组成部分,如sigmoid、Tanh、ReLU和LeakyReLU等。sigmoid函数存在饱和和梯度消失问题,而Tanh是0均值的但仍有饱和现象。ReLU解决了sigmoid的部分问题,但负区梯度为0可能导致神经元死亡。LeakyReLU通过一个小斜率缓解了ReLU的神经元死亡问题。Silu是一种新的激活函数,结合了ReLU和线性部分的优点。
摘要由CSDN通过智能技术生成

一、激活函数

激活函数的作用:激活函数对于人工神经网络模型去学习、理解复杂和非线性的函数具有十分重要的作用。可以将非线性特性引入到网络中。如果不用激活函数,每一层的输入都是上一层输出的线性函数,无论神经网络有多少层,输出都是输入的线性组合。

二、不同激活函数的优缺点

1. sigmoid激活函数

sigmoid

公式:在这里插入图片描述
优点:

a: 输出在(0,1)之间,输出的范围有限,优化稳定,可以作为网络的输出层。
b: 是一个连续函数,便于求导

缺点:

a: sigmoid函数在变量取绝对值非常大的时候会出现饱和现象,意味着函数对很平,并且对于输入的微小变化会变得不敏感。
b:在反向传播的是韩国,当梯度接近于0的时候,权重基本不会更新,很容易出现梯度消失的情况,从而无法完成深层网络的训练。
c: sigmoid的输出不是0均值的,对导致后面的神经元的输入是非0均值的信号,这会对梯度产生影响。
d: 导数的复杂度高

2.Tanh

在这里插入图片描述

公式

在这里插入图片描述

优点

a:Tahn函数是0均值的
b: Tanh的变化敏感度较宽,比sigmoid函数延迟了饱和期
c:Tanh在原点附近与y=x函数相接近,当激活值较低的时候,可以直接进行矩阵运算

缺点

仍然存在着梯度饱和和计算量复杂的问题

Relu

在这里插入图片描述

公式

在这里插入图片描述

优点

a: Relu的导数,在大于0的时候,梯度为常数,不会导致梯度消失的问题
b: relu函数在负半区的导数为0,当神经元激活值进入负半区,梯度就会为0,也就说这个神经元不会被训练,即稀疏性。
c: relui函数的导师计算更快,程序实现就是一个if-else语句,而sigmoid函数要进行浮点四则运算,涉及到除法

缺点

a:不是0均值的-
b:会出现神经元坏死的情况,Relu在训练的时候很脆弱。在x<0的时候,梯度永远为0,这个神经元之后的层的梯度也永远为0.导致了数据多样化的丢失。(可以利用)Xavier参数初始化的方法,不要将学习率设置过大或使用adagrad等自动化调节学习率的方法。

Leaky Relu

在这里插入图片描述

公式

在这里插入图片描述

优点:

a:在x<0的时候使用一个类似0.01的小值来初始化神经元,从而是的Relu在负数区更偏向于激活而不是死掉
b:扩大了Relu函数的取值范围。负无穷到正无穷

Silu

在这里插入图片描述

公式

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值