When working with image data, practitioners often use augmentations. Augmentations are techniques that artificially and randomly alter the data to increase diversity. Applying such transformations to the training data makes the model more robust. For image data, frequently used candidates are rotating, resizing, or blurring. The effects of the transformations are easy to see and comprehend. Even multiple augmentations can be grasped quickly, as the following example shows:
Such augmentations are not restricted to images (though they are pretty popular there). For audio data, there are similar ways to modify the training data. The downside is that one cannot observe…
Have you ever asked yourself where you currently are on your Machine Learning journey? And what’s there that you can still learn about?
This checklist helps you answer such questions. It provides an outline of the field, divided into three broad levels: Entry level (where everybody starts), intermediate level (where you quickly get to), and advanced level (where you stay for a long time). It does not list specific courses or software, but focuses on the general concepts:
Let’s cover the levels in more detail, starting with the entry level.
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…
The internet is full of courses and offers many learning materials. You can use these resources to replicate the curriculum of an ML Master’s degree.
A Bachelor’s study usually takes six semesters; a Master’s study takes four. But this is only an outline. I’ve witnessed people doing their BA in three semesters and some taking nine semesters. Sometimes there are so many exciting courses that you voluntarily stay longer to learn it all. Therefore, I’ve loosely structured the recreated curriculum into four semesters. The primary focus is on Machine Learning and Deep Learning.
The field of Machine Learning is huge. You can easily be overwhelmed by the amount of information out there. To not get lost, the following list helps you estimate where you are. It provides an outline of the vast Deep Learning space and does not emphasize certain resources. Where appropriate, I have included clues to help you orientate.
Since the list has gotten rather long, I have included an excerpt above; the full list is at the bottom of this post.
The entry-level is split into 5 categories:
Day in and day out technical devices play music. Your phone can do, my computer can do, smart devices play songs on command. Therefore, why don’t we let the technical devices also create music? Not merely playing back our results but coming up with original creations?
There’s an ongoing field of research in this direction; DeepMind made a strong contribution with their WaveNet architecture, capable of generating raw audio. The drawback of generating raw audio — generating the float values resembling the audio curve — is the immense computational power involved. …
Many universities make their curriculums publicly available, listing all required courses to attain a degree. The Computer Science field is no different. Using such freely accessible resources (see MIT (English), JMU (German), and KIT (German) as a starting point), one can create a custom schedule.
This post attempts to recreate a CS Bachelor degree, but with online resources. Some of them are available at no charge, others will cost you a small fee. All in all, they are an inexpensive alternative to learning things similar to those taught at universities. A remark: With the resources used I generally tried to…
After you have finally created that training script it’s time to scale things up. From a local development environment, be it an IDE or Colab, to a large computer cluster, it’s quite a stretch. The following best practices make this transition easier.
The first is to use argument parsers. Python provides such functionality with the argparse module. Generally, you want to make the batch size, the number of epochs, and any directories a selectable argument. It’s very frustrating to go through a script manually, find all places where a specific parameter is used, and change it all by hand. Thus…
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…