1. 推荐神经网络的激励函数:
- 卷积神经网络:relu
- 循环神经网络:relu或者tanh
2. 使用PyTorch实现
import torch as t
import torch.nn.functional as F
from torch.autograd import variable
import matplotlib.pyplot as plt
#fake data
x = t.linspace(-5,5,200) # x data (tensor), shape = (100,1)
x = variable(x)
x_np = x.data.numpy()
y_relu = F.relu(x).data.numpy()
y_sigmoid = F.sigmoid(x).data.numpy()
y_tanh = F.tanh(x).data.numpy()
y_softplus = F.softplus(x).data.numpy()
plt.figure(1,figsize=(8,6))
plt.subplot(221) #2行2列共4个子图,正在绘制的是第一个
plt.plot(x_np,y_relu,c = 'red',label = 'relu')
plt.ylim((-1,5)) #y轴上下限设定ylim([a,b])
plt.legend(loc = 'best') #设置图例显示的位置
plt.subplot(222)
plt.plot(x_np, y_sigmoid, c = 'red', label = 'sigmoid')
plt.ylim((-0.2,1.2))
plt.legend(loc = 'best')
plt.subplot(223)
plt.plot(x_np, y_tanh, c = 'red', label = 'tanh')
plt.ylim((-1.2,1.2))
plt.legend(loc = 'best')
plt.subplot(224)
plt.plot(x_np, y_softplus, c = 'red', label = 'softplus')
plt.ylim((-0.2,6))
plt.legend(loc = 'best')
plt.show()
结果: