code: def get_log_normalization_constant(self, input_energy, mask, **kwargs):
          
          # should have logZ[:, i] == logZ[:, j] for any i, j
          logZ = self.recursion(input_energy, mask, return_sequences=False, **kwargs)
          return logZ[:, 0]
docs: Compute logarithm of the normalization constant Z, where
          Z = sum exp(-E) -> logZ = log sum exp(-E) =: -nlogZ