PyTorch中的激活函数 (5)
内容提要
文章介绍了几种常用的激活函数及其优缺点。Tanh和Softsign将输入转换为-1到1,Sigmoid转换为0到1,Softmax用于多分类,输出总和为1。这些函数有助于归一化和稳定收敛,但可能导致梯度消失和计算复杂。PyTorch中有这些函数的实现。
关键要点
-
文章介绍了几种常用的激活函数及其优缺点。
-
Tanh函数将输入值转换为-1到1,公式为y = (e^x - e^-x) / (e^x + e^-x)。
-
Tanh的优点包括归一化输入值、稳定收敛、减轻梯度爆炸问题和死亡ReLU问题。
-
Tanh的缺点是导致梯度消失问题,且计算复杂。
-
Softsign函数将输入值转换为-1到1,公式为y = x / (1 + |x|)。
-
Softsign的优点包括归一化输入值、稳定收敛、减轻梯度爆炸问题。
-
Softsign的缺点是导致梯度消失问题。
-
Sigmoid函数将输入值转换为0到1,公式为y = 1 / (1 + e^-x)。
-
Sigmoid的优点包括归一化输入值、稳定收敛、减轻梯度爆炸问题和避免死亡ReLU问题。
-
Sigmoid的缺点是导致梯度消失问题,且计算复杂。
-
Softmax函数将输入值转换为0到1,且输出总和为1,适用于多分类模型。
-
Softmax的优点包括归一化输入值、稳定收敛、减轻梯度爆炸问题和避免死亡ReLU问题。
-
Softmax的缺点是导致梯度消失问题,且计算复杂。
延伸问答
Tanh激活函数的优缺点是什么?
Tanh的优点包括归一化输入值、稳定收敛、减轻梯度爆炸和死亡ReLU问题;缺点是导致梯度消失,且计算复杂。
Softmax函数适用于哪些模型?
Softmax函数适用于多分类模型。
Sigmoid函数的公式是什么?
Sigmoid函数的公式是y = 1 / (1 + e^-x)。
Softsign激活函数的优缺点是什么?
Softsign的优点包括归一化输入值、稳定收敛、减轻梯度爆炸问题;缺点是导致梯度消失。
激活函数导致梯度消失的原因是什么?
激活函数导致梯度消失的原因是其输出在某些输入值下趋近于常数,导致反向传播时梯度接近于零。
PyTorch中如何实现Softmax函数?
在PyTorch中,Softmax函数可以通过torch.exp()和e_i / e_i.sum(dim=0)来实现。