Понимание Softmax и Scale - PullRequest
       56

Понимание Softmax и Scale

0 голосов
/ 12 февраля 2020

Я пытаюсь понять, почему переменная x, которая у меня есть, не переходит в большое значение:

x = torch.tensor(
    np.array([
        [0,0,1,0,0]
    ]).astype(np.float32)
)


label_a = torch.tensor(
    np.array(
        [2]
    ).astype(np.int64)
)


# CE Loss
cross_entropy_loss = torch.nn.CrossEntropyLoss(reduction='mean')
loss = cross_entropy_loss(x, label_a) 
print(loss)

Давайте рассмотрим простой пример, когда сеть выводит набор меток , В идеальной ситуации сеть прогнозирует [0,0,1,0,0], соответствует метке [2] и получает более низкий балл. 0,9048 в этом случае. Если поставить его не на ту этикетку, то получится 1.9048. Но прогнозирование x до [0,0,100,0,0] дает еще более низкий балл.

Так что же мешает сети разнести метку x в бесконечность?

...