issue about self attention with mask
**Describe the bug**

When I tried to use the self-attention module, I encountered an issue with the mask.

In the file 'multi_head_attention.py', the code appears to handle the mask as follows when it is not None:

```python
if mask is not None:
    mask = mask.unsqueeze(1)  # (batch, 1, time1, time2)
    scores = scores.masked_fill(mask, -10000.0)
    attn = torch.softmax(scores, dim=-1).masked_fill(mask, 0.0)  # (batch, head, time1, time2)
else:
    attn = torch.softmax(scores, dim=-1)  # (batch, head, time1, time2)
```

I was wondering if the code should be adjusted, or if we should convert the mask before using it:

```python
...
mask = mask.unsqueeze(1).eq(0)  # (batch, 1, time1, time2)
...
```

Appreciate your response.
