Introducing: Deep Learning Deathmatch TV

This post is made in introduction of a new YouTube series titled Deep Learning Deathmatch. In this series, a deep learning based AI that relies only on visual input is pitted against video game bosses. The resulting battle is recorded, edited, and compiled into a video. In the first video in the series, the AI […]

Continue reading


A Neural Network in 10 lines of CUDA C++ Code

Purpose: For education purposes only. The code demonstrates supervised learning task using a very simple neural network. Reference: inspired by Andrew Trask‘s post. The core component of the code, the learning algorithm, is only 10 lines: The loop above runs for 50 iterations (epochs) and fits the vector of attributes X to the vector of […]

Continue reading


A Neural Network in 10 lines of C++ Code

Purpose: For education purposes only. The code demonstrates supervised learning task using a very simple neural network. In my next post, I am going to replace the vast majority of subroutines with CUDA kernels. Reference: Andrew Trask‘s post. The core component of the code, the learning algorithm, is only 10 lines: The loop above runs for 50 iterations […]

Continue reading


How to install NVIDIA CUDA 8.0, cuDNN 5.1, Tensorflow, and Keras on Ubuntu 16.04

Please follow the instructions below and you will be rewarded with Keras with Tenserflow backend and, most importantly, GPU support. Step 1. Linux Update apt repositories and install the linux -image-extra-virtual package. This package includes the kernel module that’s required by the NVIDIA drivers. sudo apt-get update sudo apt-get install -y linux-image-extra-virtual Install the version of the headers that matches the freshly installed […]

Continue reading


Dstl Satellite Imagery Competition, 3rd Place Winners’ Interview: Vladimir & Sergey

In their satellite imagery competition, the Defence Science and Technology Laboratory (Dstl) challenged Kagglers to apply novel techniques to “train an eye in the sky”. From December 2016 to March 2017, 419 teams competed in this image segmentation challenge to detect and label 10 classes of objects including waterways, vehicles, and buildings. In this winners’ […]

Continue reading


Reducing Sigmoid computations by (at least) 88.0797077977882%

A classic implementation issue in machine learning is reducing the cost of computing the sigmoid function . Specifically, it is common to profile your code and discover that 90% of the time is spent computing the in that function.  This comes up often in neural networks, as well as in various probabilistic architectures, such as […]

Continue reading


Image Classification Using Convolutional Neural Networks in TensorFlow

This blog post introduces a type of neural network called a convolutional neural network (CNN) using Python and TensorFlow. A brief introduction to CNNs is given and a helper class for building CNNs in Python and TensorFlow is provided. The source code from this post is available here on GitHub. Motivation for CNNs Past blog […]

Continue reading


Visualizing Neural Network Performance on High-Dimensional Data

This post presents a short script that plots neural network performance on high-dimensional binary data using MatPlotLib in Python. Binary vectors, or vectors only containing 0 and 1, can be useful for representing categorical data or discrete phenomena. The code in this post is available on GitHub. Representations of Binary Vectors The data set is […]

Continue reading


Multi-Layer Perceptrons and Back-Propagation; a Derivation and Implementation in Python

Artificial neural networks have regained popularity in machine learning circles with recent advances in deep learning. Deep learning techniques trace their origins back to the concept of back-propagation in multi-layer perceptron (MLP) networks, the topic of this post. Multi-Layer Perceptron Networks for Regression A MLP network consists of layers of artificial neurons connected by weighted […]

Continue reading