View source on GitHub |
Dot interaction layer.
tfrs.layers.feature_interaction.DotInteraction(
self_interaction: bool = False,
skip_gather: bool = False,
name: Optional[str] = None,
**kwargs
) -> None
See theory in the DLRM paper: https://arxiv.org/pdf/1906.00091.pdf, section 2.1.3. Sparse activations and dense activations are combined. Dot interaction is applied to a batch of input Tensors [e1,...,e_k] of the same dimension and the output is a batch of Tensors with all distinct pairwise dot products of the form dot(e_i, e_j) for i <= j if self self_interaction is True, otherwise dot(e_i, e_j) i < j.
Methods
call
call(
inputs: List[tf.Tensor]
) -> tf.Tensor
Performs the interaction operation on the tensors in the list.
The tensors represent as transformed dense features and embedded categorical features. Pre-condition: The tensors should all have the same shape.
Args | |
---|---|
inputs
|
List of features with shapes [batch_size, feature_dim]. |
Returns | |
---|---|
activations
|
Tensor representing interacted features. It has a dimension
num_features * num_features if skip_gather is True, otherside
num_features * (num_features + 1) / 2 if self_interaction is True and
num_features * (num_features - 1) / 2 if self_interaction is False.
|