In short, the core idea behind generative networks is capturing the underlying distribution of the data. This distribution can not be observed directly, but has to be approximately inferred from the training data. Over the years, many techniques have emerged that aim to generate data similar to the input samples.
This post intends to give you an overview of the evolution, beginning with the AutoEncoder, describing its descendant, the Variational AutoEncoder, then taking a look at the GAN, and ending with the CycleGAN as an extension to the GAN setting.
Early deep generative approaches used AutoEncoders . These networks aim…
Recent successes, achieved with the help of Reinforcement Learning, have quite extensively been covered by the media. One can think of DeepMind’s AlphaGo algorithm: Using Reinforcement Learning (and a massive amount of expensive hardware to train it), AlphaGo learned to play the age-old game of Go and even developed its own playstyle.
Another example was demonstrated by OpenAI, whose researchers taught a robot hand to solve a Rubik’s Cube. …
There are many awesome courses to learn data science. And there are plenty of certificates that certify your success.
But, how do you track your progress? How do you know what you have already achieved, and what’s still there to get your hands on?
The following checklist can help you get an overview of your progress. It’s intended for users looking for a general outline of where they are on their journey. Rather than emphasizing specific guides, courses, and software packages, it focuses on general concepts:
Let’s cover the levels in detail, beginning with the Entry level, continuing with the…
Have you ever had a dataset, and asked: Does this model learn something different from that model? This is the question that Nguyen et. al. covered in their paper “Do Wide And Deep Networks Learn The Same Things?” .
For the rest of this post, I quote from the paper like this
Deep neural network architectures are typically tailored to available computational resources by scaling their width and/or depth. Remarkably, this simple approach to model scaling can result in state-of-the-art networks for both high- and low-resource regimes (Tan & Le, 2019).
and write my explanations below.
I am focusing on…
TensorFlow’s custom data format TFRecord is really useful. The files are supported natively by the blazing fast tf.data API, support distributed datasets, leverage parallel I/O. But they are somewhat overwhelming at first. This post serves as a practical introduction.
We will first go over the concept behind TFRecord files. With this in mind, we can then go on to work with image data; we will use both a small and a large dataset. Expanding our knowledge, we then work with audio data. The last large domain is the text domain, which we’ll cover as well. …
For a recent research project I had the chance to explore the world of audio classification. Based on code that I created for this task I’ll guide you through an end-to-end machine learning project. The goal is to identify the gender of a person speaking on an audio sample.
We will begin with gathering the initial data. Based on this, we generate our training, test, and validation data. For easier handling we will store our data as TFRecords files. After we have finished the data engineering, we create our model. …
This is post lists useful resources that I currently work with or have benefited from when dealing with Deep Learning and related topics. Every resource contains a short description why I think it to be of help for others.
I first cover some materials on learning or staying up to date, followed by helpful tools I’ve used, and then finish with a miscellaneous category for resources that do not fit in the first two categories.
The MIT Intro To Deep Learning course is a great resource if you want to have a good overview over many directions. In my opinion…
When working with text or image data, it is fairly straightforward to go through some data samples and examine them. Audio analysis is slightly more complicated, especially if you have several thousand files to go through.
For a recent project I wanted to get a visual overview of my audio data, which came in several distinct classes. Listening to all recordings and comparing them manually would have been laborious and very time-consuming. To get a sense for the dataset, I put together a small Python script that randomly chooses files from a directory and visualizes them.
I decided to go…
The following callbacks are mainly input-type agnostic, meaning that they can be used for time-series, images, and text as well.
The __slots__ attribute reduces memory usage. If you modify any callback, just add any new parameter to this list.
A TensorFlow callback has access to the model it is applied to, via the self.model attribute. I use this convenient access extensively throughout my code.
Some callbacks are designed to work with TensorBoard. If you do not need this functionality, then modify — only small changes are required, mostly you will need to delete code.
This short callback comes in…
When I started with TFRecords, I took me a while to understand the concept behind it. To save others some time, I created a practical walkthrough based on the MNIST dataset.
The MNIST dataset consist of digitized handwritten digits, in black and white. With 28x28x1 per image, they are quite small.The memory footprint of the complete dataset is only 32 MB.
Let us start with the necessary imports; two libraries, os and Tensorflow. Additionally, we set a global variable, AUTOTUNE, which we use later.
First, we download the MNIST dataset to our local machine. …
Deep Learning student, sports fan. Enjoy tangling datasets.