docs: def init_weights(self):
          """Performs He initialization"""
  
          self.W = np.random.randn(self.n_neurons, self.n_inputs) * np.sqrt(2 / self.n_inputs)
          self.b = np.zeros((self.n_neurons, 1))