• Convolutional Neural Network

    A convolutional neural network can perform vision tasks such as image classification. The convolution operation creates features that carry information about the spatial distribution of the data. We implement a convolutional neural network from scratch using tensors in python.
  • Gradients Automation

    We describe how to automate the calculation of gradients using tensors in python. This is very useful when building neural networks. We build a class that calculates the gradients without having to code them explicitly. This library is a toy-model that mimics professional libraries like the Pytorch or TensorFlow.
  • Recurrent Neural Network

    A recurrent neural network implements recurrency in the data. This is suitable for time-series forecasting, text generation, or text translation.
  • Boltzmann Machine

    A Boltzmann machine is a type of unsupervised machine learning algorithm that uses a graphical representation, much like a neural network. This architecture expresses the probability distribution in terms of visible and hidden units.
  • Stochastic Gradient Descent

    Stochastic gradient descent is an algorithm for online-optimization. Its purpose is to estimate the optimal parameters of the learning hypotheses. Unlike gradient descent, the iterative process requires only a small amount of data at a time, which is very useful for large datasets.