赞
踩
Hi,大家好,我是半亩花海。本文主要介绍神经网络中必要的激活函数的定义、分类、作用以及常见的激活函数的功能。
目录
激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端,旨在帮助网络学习数据中的复杂模式。
激活函数是神经网络中的一种非线性变换,它定义在每个神经元上,将神经元输入信号转换为输出信号。在深度学习中,激活函数非常重要,因为它们使神经网络能够捕捉到非线性关系,从而能够更好地逼近复杂的函数或映射。
下图展示了一个神经元是如何输入激活函数以及如何得到该神经元最终的输出:
激活函数可以分成两类——饱和激活函数和非饱和激活函数。
了解一下饱和:
假设 h(x) 是一个激活函数。
- 当我们的 n 趋近于正无穷,激活函数的导数趋近于 0,那么我们称之为右饱和。
- 当我们的 n 趋近于负无穷,激活函数的导数趋近于 0,那么我们称之为左饱和。
当一个函数既满足左饱和又满足右饱和的时候我们就称之为饱和,典型的函数有 Sigmoid、Tanh 函数。
- 反之,不满足以上条件的函数则称为非饱和激活函数。
- Sigmoid 函数需要一个实值输入压缩至 [0,1] 的范围。
- tanh 函数需要讲一个实值输入压缩至 [-1, 1] 的范围。
相对于饱和激活函数,使用非饱和激活函数的优势在于两点:
在深度学习中,最常用的激活函数包括 Sigmoid函数、ReLU函数(Rectified Linear Unit)、Tanh 函数、Softmax 函数等。这些激活函数不同的特点和优缺点,应根据具体的问题选择合适的激活函数。
例如:Sigmoid 函数在输出处的值域为 [0,1],可以将输出解释为概率,因此常用于二分类问题;ReLU 函数在输入为负数时输出为 0,可以有效地解决梯度消失问题,因此广泛应用于卷积神经网络中。
Sigmoid 激活函数的数学表达式为:
导数表达式为:
Sigmoid 优点:
Sigmoid 不足:
Tanh 激活函数的数学表达式为:
导数表达式为:
Tanh 优点:
Tanh 不足:
ReLU 激活函数的数学表达式为:
导数表达式为:
① ReLU 优点:
② ReLU 不足:
Softmax 激活函数的数学表达式为:
这里使用梯度无法求导,所以导函数图像是一个 y=0 的直线。
① Softmax 特点:
② Softmax 不足:
使用指数函数,当输出值非常大的话,计算得到的数值也会变的非常大,数值可能会溢出。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。