<深度学习基础> 激活函数

为什么需要激活函数?激活函数的作用?

  1. 激活函数可以引入非线性因素,可以学习到复杂的任务或函数。如果不使用激活函数,则输出信号仅是一个简单的线性函数。线性函数一个一级多项式,线性方程的复杂度有限,从数据中学习复杂函数映射的能力很小。
  2. 激活函数可以把当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更
    好的被分类;

为什么激活函数需要非线性函数?

  1. 假若网络中全部是线性部件,那么线性的组合还是线性,与单独一个线性分类器无异。这样就做不到用非线性来逼近任意函数;
  2. 使用非线性激活函数 f ( x ) f(x) f(x),以便使网络更加强大,增加它的能力,使它可以学习复杂
    的事物,复杂的表单数据,以及表示输入输出之间非线性的复杂的任意函数映射。使用非线性
    激活函数,能够从输入输出之间生成非线性映射;

激活函数的选择

  1. 如果输出是0、1 值(二分类问题),则输出层选择sigmoid 函数,然后其它的所有单元都选择Relu 函数。
  2. 如果在隐藏层上不确定使用哪个激活函数,那么通常会使用Relu 激活函数。有时,也会使用tanh 激活函数,但Relu 的一个优点是:当是负值的时候,导数等于0。
  3. sigmoid 激活函数:除了输出层是一个二分类问题基本不会用它。
  4. tanh 激活函数:tanh 是非常优秀的,几乎适合所有场合。
  5. ReLu 激活函数:最常用的默认函数,如果不确定用哪个激活函数,就使用ReLu 或者Leaky ReLu,再去尝试其他的激活函数。

ReLu 激活函数的优点

  1. 计算更快&学习更快: ReLu 激活函数的导数都会远大于0,在程序实现就是一个if-else 语句,而sigmoid 函数需要进行浮点四则运算,在实践中,使用ReLu 激活函数神经网络通常会比使用sigmoid 或者tanh 激活函数学习的更快。
  2. 防止梯度弥散: sigmoid 和tanh 函数的导数在正负饱和区的梯度都会接近于0,这会造成梯度弥散,而Relu 和Leaky ReLu 函数大于0 部分都为常数,不会产生梯度弥散现象。
  3. 稀疏激活性: 从信号方面来看,即神经元同时只对输入信号的少部分选择性响应,大量信号被刻意的屏蔽了,这样可以提高学习的精度,更好更快地提取稀疏特征。当 x < 0 x<0 x<0 时,梯度为0,ReLU硬饱和,而当 x > 0 x>0 x>0 时,则不存在饱和问题。ReLU 能够在 x > 0 x>0 x>0 时保持梯度不衰减,从而缓解梯度消失问题。

常见的激活函数

1、Sigmod函数

f ( x ) = 1 1 + e − x f(x)= \frac {1}{1+e^{-x}} f(x)=1+e−x1

2、Relu函数

f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

3、tanh函数

f ( x ) = e x − e − x e x + e − x f(x)=\frac {e^{x}-e^{-x}}{e^{x}+e^{-x}} f(x)=ex+e−xex−e−x

4、Leak Relu函数

f ( x ) = { α x , x < 0 x , x > 0 f(x)=\left\{ \begin{aligned} \alpha x, x<0\\ x,x>0 \\ \end{aligned} \right. f(x)={αx,x<0x,x>0

图为 α = 0.5 \alpha=0.5 α=0.5

5、softmax函数

softmax多用于多分类神经网络的输出
σ ( z ) j = e z j ∑ k = 1 K e z k \sigma(z){j}=\frac {e^{z{j}}}{\sum {k=1}^{K} e^{z{k}}} σ(z)j=∑k=1Kezkezj

相关推荐
Lihua奏11 小时前
从单核到多核:CPU为什么不能再只靠提频变快
深度学习
拾年27512 小时前
大模型的"聪明"从哪来?聊聊 AI 数据集的那些事儿
人工智能·深度学习·机器学习
饼干哥哥5 天前
开源Skills|搭建亚马逊动态关键词库系统,每天抓SSS级机会词
人工智能·深度学习·数据分析
武子康7 天前
调查研究-191 SenseVoice 不只是 ASR:把语音从“转文字“升级成“理解状态“
人工智能·深度学习·openai
武子康8 天前
调查研究-189 Kronos 调研:金融 K 线基础模型,是真突破,还是量化圈的新玩具?
人工智能·深度学习·openai
xiao5kou4chang6kai413 天前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
renhongxia113 天前
世界模型作为AGI落地底层底座的作用
人工智能·深度学习·生成对抗网络·自然语言处理·知识图谱·agi
计算机科研狗@OUC14 天前
(cvpr26) AIMDepth: Asymmetric Image-Event Mamba for Monocular Depth Estimation
人工智能·深度学习·计算机视觉
β添砖java14 天前
深度学习(22)网络中的网络NiN
人工智能·深度学习
Kobebryant-Manba14 天前
深度学习时候d2l报错和使用问题
人工智能·深度学习