tanh 激活函数

在深度学习中,神经网络由神经元组成,这些神经元的工作与其权重、偏差和各自的激活函数相对应。权重和偏差根据输出的误差进行调整。这称为反向传播激活函数使这个过程成为可能,因为它们提供梯度以及误差来更新权重和偏差。

激活函数在神经网络中引入了非线性。它们将线性输入信号转换为非线性输出信号。一些激活函数有SigmoidReLuSoftmaxtanh等。

在本教程中,我们将学习tanh 激活函数那么让我们开始吧。


tanh是什么?

激活函数可以是线性的或非线性的。是正切双曲tanh的缩写非线性激活函数。它是一个指数函数,主要用于多层神经网络,特别是隐藏层。tanh

让我们看看 tanh 函数的方程。

tanh 方程 1

这里,“ e ”是欧拉数,也是自然对数的底数。它的值约为2.718
简化后,我们得到这个方程,

tanh 方程 2

据称,与 sigmoid 激活函数相比,tanh 激活函数的性能要好得多。事实上,tanhsigmoid激活函数是相互关联的并且可以相互推导。


tanh 和 sigmoid 激活函数之间的关系

激活函数的方程sigmoid

S 形方程 1

同样,我们可以写,

S 形方程 2

因此,从tanh 方程 1sigmoid 方程 2中我们可以看到两者之间的关系为

tanh Sigmoid 关系方程

现在,让我们尝试tanh使用 Python 绘制该函数的图形。


使用 Matplotlib 创建 tanh 图

我们将使用matplotlib 库来绘制图形。这是一个巨大的图书馆,我们在我们的网站上详细介绍了它。以下是AskPython 上所有 matplotlib 教程的列表

#importing the required libraries
from math import exp
import matplotlib.pyplot as plt
 
#defining the tanh function using equation 1
def tanh(x):
    return (exp(x)-exp(-x))/(exp(x)+exp(-x))
 
#input to the tanh function
input = []
for x in range(-5, 5):
    input.append(x)
     
#output of the tanh function
output = []
for ip in input:
    output.append(tanh(ip))
     
#plotting the graph for tanh function
plt.plot(input, output)
plt.grid()
#adding labels to the axes
plt.title("tanh activation function")
plt.xlabel('x')
plt.ylabel('tanh(x)')
plt.show()

输出:

tanh 使用第一个方程绘制图

从上图可以看出,该图tanhS形的它可以取范围从-1 到 +1 的值。另外,请注意此处的输出是以零为中心的,这在执行反向传播时很有用。

如果我们不使用直接方程,而是使用tanhsigmoid关系,那么代码将是:

#importing the required libraries
from math import exp
import matplotlib.pyplot as plt
 
#defining the sigmoid function
def sigmoid(x):
    return 1/(1+exp(-x))
 
#defining the tanh function using the relation
def tanh(x):
    return 2*sigmoid(2*x)-1
 
#input to the tanh function
input = []
for x in range(-5, 5):
    input.append(x)
     
#output of the tanh function
output = []
for ip in input:
    output.append(tanh(ip))
     
#plotting the graph for tanh function
plt.plot(input, output)
plt.grid()
#adding labels to the axes
plt.title("tanh activation function")
plt.xlabel('x')
plt.ylabel('tanh(x)')
plt.show()

输出:

tanh 使用第二个方程绘制图

上面两张图完全一样,验证了它们之间的关系是正确的。

tanh 函数已用于许多 NLP 应用中,包括自然语言处理和语音识别。


概括

就这样!因此,我们在本教程中了解了tanh激活函数。如果您有兴趣,还可以了解sigmoid 激活函数。