我们这节来看 Tanh 激活函数,它也叫双曲正切函数,公式如下:

Tanh 的函数图像和导数图像如下:

从上面的函数图像我们可以看到,Tanh 会把输入映射到 (-1, 1) 之间,图像以 0 为中心,在 0 点对称。当输入大概小于 -3 或者大于 3 时,就会被映射成 -1 或者 1。它的导数取值范围在 (0, 1),当输入大概小于 -3 或者大于 3 时,导数就近似为 0 了。
上面这两张图,就是用下面这段代码画出来的:
import torch
import matplotlib.pyplot as plt
import torch.nn.functional as F
def test():
_, axes = plt.subplots(1, 2)
# 函数图像
x = torch.linspace(-20, 20, 1000)
y = F.tanh(x)
axes[0].plot(x, y)
axes[0].grid()
axes[0].set_title('Tanh 函数图像')
# 导数图像
x = torch.linspace(-20, 20, 1000, requires_grad=True)
F.tanh(x).sum().backward()
axes[1].plot(x.detach(), x.grad)
axes[1].grid()
axes[1].set_title('Tanh 导数图像')
plt.show()
if __name__ == '__main__':
test()




冀公网安备13050302001966号