深度学习中激活函数和损失函数

本文介绍了深度学习中常用的激活函数,包括Sigmoid、tanh、ReLU及其变种Leaky ReLU、PReLU和RReLU,分析了它们的特点和优缺点。同时,文章还探讨了几种常见的损失函数,如方差损失、绝对值损失、Smooth L1损失和分类问题中的交叉熵损失,解释了它们在回归和分类任务中的应用和影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深度学习中常用的激活函数和损失函数

对于激活函数跟损失函数做一下记录,后面再看时也方便,可能有些图片搬运的各位大佬的,还请见谅。

激活函数

激活函数有很多,主要记录常用的和比较经典的一些,例如sigmoid、tanh、RELU及其变种。
首先说一下激活函数的作用,一般激活函数作用于神经网络中卷积层的后面,用来引入非线性因素,通过激活函数这种非线性函数来加强神经网络的拟合能力(不再单纯是线性函数了)。

  1. Sigmoid函数
    sigmoid函数是早期神经网络非常常见的一种激活函数,其数学表达式如下:
    Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n1)!nN 是通过 Euler integral

f(z)=11+e−z f(z)=\dfrac{1}{1+e^{-z}} f(z)=1+ez1
函数图像如下:
在这里插入图片描述
sigmoid函数的作用如上图所示,把数据变换成0~1之间的数,过于大的数为1,过于小的数位0 。这个函数在早期的深度学习中使用较多,现在很少使用。原因是sigmoid函数容易在反向传播时造成梯度消失或者爆炸,从他的导数图像就可以看到:
在这里插入图片描述
最大值位0.25,我们在回传时,每经过一层梯度变为以前的0.25倍,很容易造成梯度消失。而且Sigmoid 的 output 不是0均值(即zero-centered),这样会使得下一层的输入会是非零均值的,在反向传播时,梯度就会保持一个方向,参数更新就会缓慢。
2. tanh函数
tanh函数的数学表达式如下:
tanh(x)=ex−e−xex+e−x tanh(x)= \dfrac{e^{x}-e^{-x}}{e^{x}+e^{-x}} tanh(x)=ex+exexex
函数图像以及导数图像如下:
在这里插入图片描述
从图像可以看到,tanh函数解决了sigmoid函数非零均值的缺点,但是梯度消失依旧存在。
3. Relu函数
Relu函数数学表达式:
y=max(0,x) y=max(0,x) y=max(0,x)
从表达式可以看到,Relu函数十分简单相对于上面两个函数中包含指数操作,Relu函数首先在运算量上就由较大的优势。
Relu函数图像及导数函数图像:
在这里插入图片描述
从图像可以看到,Relu函数在正半轴就是输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值