class_docstr: Computes attention between a vector and a matrix using an additive attention function.  This
  function has two matrices `W`, `U` and a vector `V`. The similarity between the vector
  `x` and the matrix `y` is computed as `V tanh(Wx + Uy)`.
  
  This attention is often referred as concat or additive attention. It was introduced in
  [Neural Machine Translation by Jointly Learning to Align and Translate (Bahdanau et al, 2015)]
  (https://api.semanticscholar.org/CorpusID:11212020).
  
  Registered as an `Attention` with name "additive".
  
  # Parameters
  
  vector_dim : `int`, required
      The dimension of the vector, `x`, described above.  This is `x.size()[-1]` - the length
      of the vector that will go into the similarity computation.  We need this so we can build
      the weight matrix correctly.
  matrix_dim : `int`, required
      The dimension of the matrix, `y`, described above.  This is `y.size()[-1]` - the length
      of the vector that will go into the similarity computation.  We need this so we can build
      the weight matrix correctly.
  normalize : `bool`, optional (default = `True`)
      If true, we normalize the computed similarities with a softmax, to return a probability
      distribution for your attention.  If false, this is just computing a similarity score.
code: def _forward_internal(
      self, vector: torch.Tensor, matrix: torch.Tensor
  ) -> torch.Tensor:
      intermediate = vector.matmul(self._w_matrix).unsqueeze(
          1
      ) + matrix.matmul(self._u_matrix)
      intermediate = torch.tanh(intermediate)
      return intermediate.matmul(self._v_vector).squeeze(2)
  
file_path: allennlp/allennlp/modules/attention/additive_attention.py
imports: import torch
  from torch.nn.parameter import Parameter
  from allennlp.modules.attention.attention import Attention
label_desc: Use image node_id 3 for calling the AdditiveAttention obj's underlying member method code with example usage: obj._forward_internal(vector, matrix) and returns: intermediate