class_docstr: This class implements the decoder for the ConvTasnet.
  
  The separated source embeddings are fed to the decoder to reconstruct
  the estimated sources in the time domain.
  
  Arguments
  ---------
  L : int
      Number of bases to use when reconstructing.
  
  Example
  -------
  >>> L, C, N = 8, 2, 8
  >>> mixture_w = torch.randn(10, 100, N)
  >>> est_mask = torch.randn(10, 100, C, N)
  >>> Decoder = Decoder(L, N)
  >>> mixture_hat = Decoder(mixture_w, est_mask)
  >>> mixture_hat.shape
  torch.Size([10, 404, 2])
code: def __init__(self, L, N):
      super(Decoder, self).__init__()
  
      # Hyper-parameter
      self.L = L
  
      # Components
      self.basis_signals = sb.nnet.linear.Linear(
          input_size=N, n_neurons=L, bias=False
      )
  
imports: import torch
  import torch.nn
  import speechbrain
  import torch.nn.functional
  from speechbrain.processing.signal_processing import overlap_and_add
label_desc: Use image node_id 1 to create a new Decoder object from inherited base classes: nn with example: obj = Decoder(L, N)