CrossEntropyLoss; PyTorch 1

Цей критерій поєднує nn.LogSoftmax () та nn.NLLLoss () в одному єдиному класі.

crossentropyloss

Це корисно при навчанні задачі класифікації з класами C. Якщо передбачено, необов’язковою вагою аргументу повинен бути 1D тензор, що присвоює вагу кожному з класів. Це особливо корисно, коли у вас незбалансований навчальний набір.

Очікується, що вхідні дані містять необроблені, ненормалізовані оцінки для кожного класу.

Втрату можна описати як:

або у випадку вказаного аргументу ваги:

Втрати усереднюються за спостереженнями для кожної міні-партії. Якщо вказано аргумент ваги, це середньозважене значення:

Також може використовуватися для входів більшого розміру, таких як 2D-зображення, шляхом введення розміру (minibatch, C, d 1, d 2, ..., d K) (minibatch, C, d_1, d_2,. D_K) (міні-партія, C, d 1, d 2, ..., d K) з K ≥ 1 K \ geq 1 K ≥ 1, де KKK - кількість розмірів та ціль відповідної форми (див. нижче) ).

вага (Тензор, необов’язково) - ручний коефіцієнт масштабування, присвоєний кожному класу. Якщо дано, має бути тензор розміром С