Spec-Zone.ru › PyTorch 2

Многоклассовая потеря с мягкой границей

class torch.nn.MultiLabelSoftMarginLoss(weight=None, size_average=None, reduce=None, reduction='mean') [source]

Создаёт критерий, оптимизирующий многоклассовую потерю один-против-всех, основанную на максимальной энтропии, между входом xx и целевым значением yy размера (N,C)(N, C). Для каждой выборки в мини-пачке:

loss(x,y)=−1C∗∑iy[i]∗log⁡((1+exp⁡(−x[i]))−1)+(1−y[i])∗log⁡(exp⁡(−x[i])(1+exp⁡(−x[i])))loss(x, y) = - \frac{1}{C} * \sum_i y[i] * \log((1 + \exp(-x[i]))^{-1}) + (1-y[i]) * \log\left(\frac{\exp(-x[i])}{(1 + \exp(-x[i]))}\right)

где i∈{0,⋯,x.nElement()−1}i \in \left\{0, \; \cdots , \; \text{x.nElement}() - 1\right\}, y[i]∈{0,1}y[i] \in \left\{0, \; 1\right\}.

Параметры
  • weight (Tensor, необязательно) – ручное изменение весов, присваиваемое каждому классу. Если указано, это должен быть тензор размера C. В противном случае он обрабатывается как имеющий все единицы.
  • size_average (bool, необязательно) – устарело (см. reduction). По умолчанию потери усредняются по каждому элементу потерь в пакете. Обратите внимание, что для некоторых потерь существует несколько элементов на выборку. Если поле size_average установлено в False, потери вместо этого суммируются для каждой мини-пачки. Игнорируется, когда reduce равно False. По умолчанию: True
  • reduce (bool, необязательно) – устарело (см. reduction). По умолчанию потери усредняются или суммируются по наблюдениям для каждой мини-пачки в зависимости от size_average. Когда reduce равно False, возвращается потеря на каждый элемент пакета вместо этого и игнорируется size_average. По умолчанию: True
  • reduction (str, необязательно) – Указывает уменьшение, применяемое к выходу: 'none' | 'mean' | 'sum'. 'none': уменьшение не будет применено, 'mean': сумма вывода будет разделена на количество элементов в выводе, 'sum': выход будет суммирован. Примечание: size_average и reduce находятся в процессе устаревания, и в то же время указание любого из этих двух аргументов переопределит reduction. По умолчанию: 'mean'
Форма:
  • Вход: (N,C)(N, C) где N – размер пакета, а C – количество классов.
  • Цель: (N,C)(N, C), метки целей должны иметь такую же форму, как вход.
  • Вывод: скаляр. Если reduction равно 'none', то (N)(N).

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.MultiLabelSoftMarginLoss.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API