Я пытаюсь понять, почему переменная 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 в бесконечность?