TuckER

class TuckER(*, embedding_dim: int = 200, relation_dim: int | None = None, dropout_0: float = 0.3, dropout_1: float = 0.4, dropout_2: float = 0.5, apply_batch_normalization: bool = True, entity_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function xavier_normal_>, relation_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function xavier_normal_>, core_tensor_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = None, core_tensor_initializer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, **kwargs)[源代码]

基础类:ERModel[Tensor, Tensor, Tensor]

TuckEr 的实现来自 [balazevic2019]

它通过\(d_e\)维向量表示实体,通过\(d_r\)维向量表示关系,存储在Embedding中。然后使用有状态的TuckERInteraction来评分三元组。

对于\(E\)个实体和\(R\)个关系,模型有\(Ed_e + Rd_r + d_e^2d_r\)个有效参数(忽略来自torch.nn.BatchNorm1d层在TuckERInteraction中的额外参数)。

初始化模型。

Parameters:
  • embedding_dim (int) – (实体)嵌入维度

  • relation_dim (int | None) – 关系嵌入维度。默认为 embedding_dim

  • dropout_0 (float) – 第一个dropout,参见公式

  • dropout_1 (float) – 第二个dropout,参见公式

  • dropout_2 (float) – 第三个dropout,参见公式

  • apply_batch_normalization (bool) – 是否应用批量归一化

  • entity_initializer (str | Callable[[Tensor], Tensor] | None) – 实体表示初始化器

  • relation_initializer (str | Callable[[Tensor], Tensor] | None) – 关系表示初始化器

  • core_tensor_initializer (str | Callable[[Tensor], Tensor] | None) – 核心张量初始化器

  • core_tensor_initializer_kwargs (Mapping[str, Any] | None) – 传递给核心张量初始化器的基于关键字的参数

  • kwargs – 传递给 ERModel.__init__() 的额外基于关键字的参数

属性摘要

hpo_default

优化模型超参数的默认策略

loss_default_kwargs

默认损失函数类的默认参数

属性文档

hpo_default: ClassVar[Mapping[str, Any]] = {'dropout_0': {'high': 0.5, 'low': 0.0, 'q': 0.1, 'type': <class 'float'>}, 'dropout_1': {'high': 0.5, 'low': 0.0, 'q': 0.1, 'type': <class 'float'>}, 'dropout_2': {'high': 0.5, 'low': 0.0, 'q': 0.1, 'type': <class 'float'>}, 'embedding_dim': {'high': 256, 'low': 16, 'q': 16, 'type': <class 'int'>}, 'relation_dim': {'high': 256, 'low': 16, 'q': 16, 'type': <class 'int'>}}

优化模型超参数的默认策略

loss_default_kwargs: ClassVar[Mapping[str, Any]] = {}

默认损失函数类的默认参数