Skip to content

anastasiapapadaki/Regularization-and-the-Recurrent-Layer

Repository files navigation

Regularizers

Regularization techniques help prevent overfitting in neural networks by imposing constraints or penalties on the model parameters.

  • BaseLayer Refactoring: Layers now have a 'testing phase' boolean attribute, allowing for different behaviors during training and testing.
  • Base Optimizer: Introduced a base class for optimizers, enabling regularizer usage.
  • Optimization Constraints: Implemented L1 and L2 regularizers to impose penalties on large weights, promoting sparsity or smaller weights, respectively.
  • Dropout: A regularization method where random units are dropped out during training to reduce co-adaptation, implemented in a Dropout layer.
  • Batch Normalization: A technique normalizing inputs within a mini-batch to stabilize and speed up training, implemented as a layer with trainable parameters.

Recurrent Layers

These layers are crucial for modeling sequential data.

  • Activation Functions: Implemented TanH and Sigmoid activation functions, common in RNNs.
  • Elman RNN: Created a basic RNN cell capable of maintaining hidden state across sequences.
  • Long Short-Term Memory (LSTM): Implemented a more complex RNN cell designed to mitigate the vanishing gradient problem, critical for modeling long-range dependencies in sequences.

Each component contributes to the stability, generalization, and memory management of neural networks, especially in handling sequential data.

Releases

No releases published

Packages

No packages published

Languages