class_docstr: A module that implements a gated linear transformation for the combination of entities and literals.
  
  Compared to the other Combinations, this combination makes use of a gating mechanism commonly found in RNNs.
  The main goal of this gating mechanism is to learn which parts of the additional literal information is
  useful or not and act accordingly, by incorporating them into the new combined embedding or discarding them.
  
  For given entity representation $\mathbf{x}_e \in \mathbb{R}^{d_e}$ and literal representation
  $\mathbf{x}_l \in \mathbb{R}^{d_l}$, the module calculates
  
  .. math ::
  
      z = f_{gate}(\mathbf{W}_e x_e + \mathbf{W}_l x_l + \mathbf{b})
      h = f_{hidden}(\mathbf{W} [x_e; x_l])
      y = Dropout(z \odot h + (1 - z) \odot x)
  
  where $\mathbf{W}_e \in \mathbb{R}^{d_e \times d_e}$,$\mathbf{W}_l \in \mathbb{R}^{d_l \times d_e}$,
  $\mathbf{W} \in \mathbb{R}^{(d_e + d_l) \ times d_e}$, and $\mathbf{b} \in \mathbb{R}^{d_e}$ are trainable
  parameters, $f_{gate}$ and $f_{hidden}$ are activation functions, defaulting to sigmoid and tanh, $\odot$ denotes
  the element-wise multiplication, and $[x_e; x_l]$ the concatenation operation.
  
  .. note ::
  
      We can alternatively express the gate
  
      .. math ::
  
          z = f_{gate}(\mathbf{W}_e x_e + \mathbf{W}_l x_l + \mathbf{b})
  
      as
  
      .. math ::
  
          z = f_{gate}(\mathbf{W}_{el} [x_e; x_l] + \mathbf{b})
  
      with $\mathbf{W}_{el} \in \mathbb{R}^{(d_e + d_l) \times d_e}$.
  
  Implementation based on https://github.com/SmartDataAnalytics/LiteralE/blob/master/model.py Gate class.
code: def forward(
      self, xs: Sequence[torch.FloatTensor]
  ) -> torch.FloatTensor:  # noqa: D102
      assert len(xs) == 2
      z = self.gate(xs)
      h = self.combination(xs)
      return self.dropout(z * h + (1 - z) * xs[0])
  
imports: import logging
  from abc import ABC, abstractmethod
  from typing import Any, Callable, Iterable, Mapping, Optional, Sequence, Tuple
  import torch
  from class_resolver import ClassResolver, Hint, HintOrType, OptionalKwargs
  from class_resolver.contrib.torch import activation_resolver, aggregation_resolver
  from torch import nn
  from ..utils import ExtraReprMixin, combine_complex, split_complex
label_desc: Use image node_id 2 for calling the GatedCombination obj's underlying member method code with example usage: obj.forward(xs) and returns: self