激活函数_602_1">函数通过引入非线性在神经网络中发挥着不可或缺的作用。这种非线性使得神经网络能够根据输入开发复杂的表示和函数,而这是简单的线性回归模型不可能实现的。
在神经网络的整个历史中,已经提出了许多不同的非线性激活函数。在这篇文章中,您将探索三种流行的函数:sigmoid、tanh 和 ReLU。
读完本文后,您将了解到:
- 为什么非线性在神经网络中很重要
- 不同的激活函数如何导致梯度消失问题
- Sigmoid、tanh 和 ReLU 激活函数
- 如何在 TensorFlow 模型中使用不同的激活函数

在神经网络中使用激活函数
概述
本文分为五个部分;他们是:
- 为什么我们需要非线性激活函数
- Sigmoid 函数和消失梯度
- 双曲正切函数
- 修正线性单元 (ReLU)
- 在实践中使用激活函数
为什么我们需要非线性激活函数
您可能想知道,为什么对非线性激活函数如此大肆宣传?或者为什么我们不能在前一层激活的加权线性组合之后使用恒等函数?使用多个线性层与使用单个线性层基本相同。这可以通过一个简单的例子看出。
假设您有一个隐藏层神经网络,每个神经网络有两个隐藏神经元。

具有线性层的单隐层神经网络
如果您使用线性隐藏层,则可以将输出层重写为原始输入变量的线性组合。如果您有更多的神经元和权重,则方程会更长,并且连续层权重之间的嵌套和乘法会更多。然而,想法仍然是一样的:您可以将整个网络表示为单个线性层。
为了使网络表示更复杂的函数,您需要非线性激活函数。让我们从一个流行的例子开始,sigmoid 函数。