quaterion.loss.circle_loss 模块¶
- class CircleLoss(margin: float | None = 0.25, scale_factor: float | None = 256, distance_metric_name: Distance | None = Distance.COSINE)[source]¶
基类:
GroupLoss
实现了 Circle Loss,定义见 https://arxiv.org/abs/2002.10857。
- 参数:
margin – 用于推开负例的边界值。
scale_factor – 缩放因子 γ 决定了每个相似性得分的最大尺度。
注意
有关 margin 和 scaling_factor 超参数的默认值和评估,请参阅论文的第 4.1 和 4.5 节。
- forward(embeddings: Tensor, groups: LongTensor) Tensor [source]¶
计算损失值。
- 参数:
embeddings – 形状: (batch_size, vector_length) - 批量嵌入。
groups – 形状: (batch_size,) - 与 embeddings 相关的批量标签
- 返回:
Tensor – 标量损失值。
- training: bool¶