docstr: Forces attention to be more decisive by penalizing
  soft attention weights
  
  TODO: arguments
  TODO: unit_test
docstr_tok: ["Forces","attention","to","be","more","decisive","by","penalizing","soft","attention","weights","TODO",":","arguments","TODO",":","unit_test"]
code: def forward(self, align):
      """
      Forces attention to be more decisive by penalizing
      soft attention weights
  
      TODO: arguments
      TODO: unit_test
      """
      entropy = torch.distributions.Categorical(probs=align).entropy()
      loss = (entropy / np.log(align.shape[1])).mean()
      return loss
  
imports: import math
  import numpy
  import torch
  from torch import nn
  from inspect import signature
  from torch.nn import functional
  from TTS.tts.utils.generic_utils import sequence_mask
  from TTS.tts.utils.ssim import ssim
label_desc: Use image node_id 1 for calling the AttentionEntropyLoss obj's underlying member method code with example usage: obj.forward(align) and returns: loss