1激活函数
ReLU函数
ReLU(rectified linear unit)函数提供了一个很简单的非线性变换。给定元素𝑥x,该函数定义为
ReLU函数只保留正数元素,并将负数元素清零
Sigmoid函数
元素值在0和1之间
tanh函数
tanh(双曲正切)函数可以将元素的值变换到-1和1之间
2激活函数选择
ReLu:通用,大多数情况,只能在隐藏层中使用。先选用ReLu函数如果效果不理想可以尝试其他激活函数
sigmoid函数:用于分类器
由于梯度消失问题(导数为0),有时要避免使用sigmoid和tanh函数。
在神经网络层数较多的时候,最好使用ReLu函数,ReLu函数比较简单计算量少,而sigmoid和tanh函数计算量大很多。
#多层感知机
net = nn.Sequential(
d2l.FlattenLayer(),
nn.Linear(num_inputs, num_hiddens),
nn.ReLU(),
nn.Linear(num_hiddens, num_outputs),
)
其他激活函数参考:https://blog.youkuaiyun.com/wlx19970505/article/details/104009254