ERMLP交互

class ERMLPInteraction(embedding_dim: int, hidden_dim: int | None = None, activation: str | ~torch.nn.modules.module.Module | type[~torch.nn.modules.module.Module] | None = <class 'torch.nn.modules.activation.ReLU'>, activation_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None)[源代码]

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

ER-MLP状态交互函数。

ER-MLP 使用基于多层感知器的方法,具有单个隐藏层。 头实体、关系和尾实体的\(d\)维表示被连接 并传递到隐藏层。输出层由一个单一神经元组成,计算合理性分数:

\[f(\mathbf{h}, \mathbf{r}, \mathbf{t}) = \mathbf{w}^{T} g(\mathbf{W} [\mathbf{h}; \mathbf{r}; \mathbf{t}]),\]

其中 \(\textbf{W} \in \mathbb{R}^{k \times 3d}\) 表示隐藏层的权重矩阵, \(\textbf{w} \in \mathbb{R}^{k}\) 表示输出层的权重,而 \(g\) 表示激活函数,例如双曲正切函数。

初始化交互模块。

Parameters:
  • embedding_dim (int) – 实体和关系的嵌入向量维度。

  • hidden_dim (int | None) – MLP的隐藏维度。默认为 embedding_dim

  • activation (HintOrType[nn.Module]) – 激活函数或其提示。

  • activation_kwargs (OptionalKwargs) – 如果激活函数没有预先实例化,则传递给激活函数构造函数的额外基于关键字的参数。

注意

参数对 (activation, activation_kwargs) 用于 class_resolver.contrib.torch.activation_resolver

解析器的解释及其使用方法在 https://class-resolver.readthedocs.io/en/latest/中给出。

方法总结

forward(h, r, t)

评估交互函数。

reset_parameters()

重置交互函数可能具有的参数。

方法文档

forward(h: Tensor, r: Tensor, t: Tensor) Tensor[来源]

评估交互函数。

另请参阅

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

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

  • r (Tensor) – 形状: (*batch_dims, d) 关系表示。

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

Returns:

形状: batch_dims 分数。

Return type:

Tensor

reset_parameters()[来源]

重置交互函数可能具有的参数。