mlx.nn.losses.gaussian_nll_loss

mlx.nn.losses.gaussian_nll_loss#

class gaussian_nll_loss(inputs: array, targets: array, vars: array, full: bool = False, eps: float = 1e-06, reduction: Literal['none', 'mean', 'sum'] = 'mean')#

计算高斯分布的负对数似然损失。

损失由以下公式给出:

\[\frac{1}{2}\left(\log\left(\max\left(\text{vars}, \ \epsilon\right)\right) + \frac{\left(\text{inputs} - \text{targets} \right)^2} {\max\left(\text{vars}, \ \epsilon \right)}\right) + \text{const.}\]

其中 inputs 是预测均值,vars 是预测方差。

参数:
  • inputs (array) – 高斯分布的预测期望。

  • targets (array) – 目标值(高斯分布的样本)。

  • vars (array) – 高斯分布的预测方差。

  • full (bool, optional) – 是否在损失计算中包含常数项。默认值:False

  • eps (float, optional) – 用于数值稳定的小正数常数。默认值:1e-6

  • reduction (str, optional) – 指定应用于输出的归约方式:'none' | 'mean' | 'sum'。默认值:'none'

返回:

高斯 NLL 损失。

返回类型:

array