function multi_head_attention(x, heads):
   outputs = []

   for head in heads:        # each head learns different relations
 hips
      q, k, v = head.project(x)
      outputs.append(attention(q, k, v))
   return concatenate(outputs)
