建议在阅读本文之前先了解神经网络。
在构建神经网络的过程中,您需要做出的选择之一是在隐藏层和网络的输出层使用什么是激活函数。本文讨论了神经网络中的激活函数。
目录
- 什么是激活函数?
- 神经网络的元素
- 为什么我们需要非线性激活函数?
- 激活函数的变体
- 线性函数
- Sigmoid 函数
- Tanh 功能
- RELU 函数
- Softmax 功能
- 什么是激活函数?
神经网络上下文中的激活函数是应用于神经元输出的数学函数。激活函数的目的是在模型中引入非线性,允许网络学习和表示数据中的复杂模式。如果没有非线性,神经网络的行为基本上就像线性回归模型,无论它有多少层。
激活函数通过计算加权和并进一步为其添加偏差来决定是否应该激活神经元。激活函数的目的是将非线性引入神经元的输出中。
解释:我们知道,神经网络的神经元与权重、偏差和它们各自的激活函数相对应。在神经网络中,我们将根据输出处的误差更新神经元的权重和偏差。此过程称为反向传播。激活函数使反向传播成为可能,因为梯度与更新权重和偏差的误差一起提供。
- 神经网络的元素
Input Layer:此层接受输入特征。它从外部世界向网络提供信息,这一层不进行计算,这里的节点只是将信息(特征)传递给隐藏层。
隐藏层:该层的节点不暴露在外部世界,它们是任何神经网络提供的抽象的一部分。隐藏层对通过输入层输入的特征执行各种计算,并将结果传输到输出层。
Output Layer:该层将网络学习到的信息带到外部世界。
- 为什么我们需要非线性激活函数?
没有激活函数的神经网络本质上只是一个线性回归模型。激活函数对输入进行非线性变换,使其能够学习和执行更复杂的任务。
- 数学证明
假设我们有一个这样的神经网络 :-