Reinforcement Learning papers at NeurIPS 2021

This was my first time at NeurIPS as a full-time Research Engineer, and really enjoyed the dedicated time to discover new papers. Below are some notes on the Reinforcement Learning papers that I enjoyed the most. 1. Automatic Data Augmentation for Generalisation in Reinforcement Learning [arXiv, GitHub] TL;DR. Proposes a theoretically motivated way of using… Continue reading Reinforcement Learning papers at NeurIPS 2021

My machine learning research toolkit

In this post, I will share the key tools in my machine learning research workflow. My selection criteria included free accessibility to students, ease of adoption, active development, and quality of features. 1. Terminal session organiser - Tmux Tmux is a terminal multiplexer; it facilitates running and organising sessions on the terminal. Specifically, it enables… Continue reading My machine learning research toolkit

Paper notes: “Certifying Some Distributional Robustness with Principled Adversarial Training”

In this post I will provide a brief overview of the paper "Certifying Some Distributional Robustness with Principled Adversarial Training" . It assumes good knowledge of stochastic optimisation and adversarial robustness. This work is a positive step towards training neural networks that are robust to small perturbations of their inputs, which may stem from adversarial… Continue reading Paper notes: “Certifying Some Distributional Robustness with Principled Adversarial Training”

A brief summary of challenges in Multi-agent RL

Deep reinforcement learning (DRL) algorithms have shown significant success in recent years, surpassing human performance in domains ranging from Atari, Go and no-limit poker [1]. The resemblance of its underlying mechanics to human learning, promises even greater results in real-life applications.Given that many real-world problems involve environments with a large number of learning agents, a… Continue reading A brief summary of challenges in Multi-agent RL

Accelerating Python functions with Numba

In this post, I will provide a brief overview of Numba, an open-source just-in-time function compiler, which can speed up subsets of your Python code easily, and with minimal intervention. Unlike other popular JIT compilers (e.g. Cython, pypy) Numba simply requires the addition of a function decorator, with the premise of approaching the speed of… Continue reading Accelerating Python functions with Numba

Vanilla GAN with Numpy

Generative Adversarial Networks (GANs) have achieved tremendous success in generating high-quality synthetic images and efficiently internalising the essence of the images that they learn from. Their potential is enormous, as they can learn to do that for any distribution of data. In order to keep up with the latest advancements, I decided to explore their… Continue reading Vanilla GAN with Numpy

Implementing a LSTM from scratch with Numpy

In this post, we will implement a simple character-level LSTM using Numpy. It is trained in batches with the Adam optimiser and learns basic words after just a few training iterations.The full code is available on GitHub. Figure 1: Architecture of a LSTM memory cell Imports import numpy as np import matplotlib.pyplot as plt Data… Continue reading Implementing a LSTM from scratch with Numpy

Deriving the backpropagation equations for a LSTM

In this post I will derive the backpropagation equations for a LSTM cell in vectorised form. It assumes basic knowledge of LSTMs and backpropagation, which you can refresh at Understanding LSTM Networks and A Quick Introduction to Backpropagation. Derivations Forward propagation We will firstly remind ouselves of the forward propagation equations. The nomenclature followed is… Continue reading Deriving the backpropagation equations for a LSTM

Harvesting the metadata of 1.5million arXiv papers

arXiv is the world's leading online repository of scientific research in physics, mathematics, computer science and related fields. It enables scientists to open-source manuscripts of their work easily and quickly, which are sometimes never published elsewhere.The metadata of the ~1.5 million manuscripts that it hosts, form an ideal dataset for many NLP and data analysis… Continue reading Harvesting the metadata of 1.5million arXiv papers

A beginner’s guide to running Jupyter Notebook on Amazon EC2

As a beginner in large-scale data manipulation, I quickly found the computational needs of my projects exceeding the capabilities of my personal equipment. I was therefore amazed by Amazon’s EC2 offering — renting virtual computers on which computer applications can be run remotely from a local machine, and for free! What I was subsequently more amazed by,… Continue reading A beginner’s guide to running Jupyter Notebook on Amazon EC2