为什么 pytorch 有两种非线性激活?
非线性激活(加权和,非线性): https ://pytorch.org/docs/stable/nn.html#non-linear-activations-weighted-sum-nonlinearity
非线性激活(其他):https ://pytorch.org/docs/stable/nn.html#non-linear-activations-other
主要区别在于,非线性激活(加权和、非线性)下列出的函数仅执行阈值处理,而不对输出进行归一化。(即合成张量不一定总和为 1,无论是整体上还是沿某些指定的轴/ dim
ensions)
非线性示例:
nn.ReLU
nn.Sigmoid
nn.SELU
nn.Tanh
而非线性激活(其他)下列出的非线性执行阈值化和归一化(即,如果未指定轴/轴,则对于整个张量,结果张量总和为 1 dim
;或沿指定轴/dim
轴)
非线性示例:(注意分母中的归一化项)
但是,nn.LogSoftmax()
由于我们在 softmax 输出上应用 log,因此结果张量的总和不等于 1 除外。