UMInteraction

class UMInteraction(p: int, power_norm: bool = True)[source]

基础类:NormBasedInteraction[Tensor, tuple[()], Tensor]

非结构化模型(UM)交互函数。

UM 计算得分作为头实体和尾实体之间的负距离:

\[-\|\textbf{h} - \textbf{t}\|_p^2\]

适用于具有单一无向关系类型的网络。

警告

在UM中,既不考虑关系也不考虑方向性,因此无法区分它们。 然而,它可以作为与关系感知模型进行比较的基准。

初始化基于范数的交互函数。

另请参阅

参数 ppower_norm 直接传递给 NormBasedInteraction

Parameters:
  • p (int) – 与 torch.linalg.vector_norm() 一起使用的范数。通常为1或2。

  • power_norm (bool) – 是否使用\(L_p\)范数的p次方。它的优点是在0附近可微分,并且在数值上更稳定。

属性摘要

relation_shape

关系表示的符号形状

方法总结

forward(h, r, t)

评估交互函数。

属性文档

relation_shape: Sequence[str] = ()

关系表示的符号形状

方法文档

forward(h: Tensor, r: tuple[()], t: Tensor) Tensor[source]

评估交互函数。

另请参阅

Interaction.forward 提供了关于交互函数通用批处理形式的详细描述。

Parameters:
  • h (Tensor) – 形状: (*batch_dims, d) 头部表示。

  • r (tuple[()]) – 无关系表示。

  • t (Tensor) – 形状: (*batch_dims, d) 尾部表示。

Returns:

形状: batch_dims 分数。

Return type:

Tensor