Почему у Pytorch есть два вида нелинейных активаций? - PullRequest
0 голосов
/ 02 июля 2018

Почему у pytorch есть два вида нелинейных активаций?

enter image description here

Нелинейные активации (взвешенная сумма, нелинейность): 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 Ответ

0 голосов
/ 02 июля 2018

Основным отличием является то, что функции, перечисленные в Нелинейные активации (взвешенная сумма, нелинейность) выполняют только пороговое значение и не нормализуют выход. (т.е. результирующий тензор не обязательно должен обязательно суммировать до 1, либо в целом, либо вдоль некоторых указанных осей / dim расширений)

Пример нелинейности:

nn.ReLU
nn.Sigmoid
nn.SELU
nn.Tanh


Принимая во внимание, что нелинейности, перечисленные в Нелинейные активации (другие) выполняют пороговое значение и нормализацию (т.е. результирующий тензор суммирует до 1, либо для всего тензора, если не указана ось / dim ension; или вдоль указанных осей / dim ensions)

Пример нелинейности: ( обратите внимание на нормализующий член в знаменателе )

softmax softmin

Однако, за исключением nn.LogSoftmax(), для которого результирующий тензор не суммирует до 1, так как мы применяем log к выходу softmax.

...