Deep Learning in Python: Getting Started
Deep learning is all the rage. You hear about it in the news, you read it about it in the news and it’s all over popular culture as well. What’s more, it’s revolutionizing the tech industry, as computers teach themselves all sorts of neat tricks that we hadn’t thought possible a few years ago.
So yeah, it’s a good time to jump onboard and become better at deep learning. That’s why I’m writing up this guide. So that you can get a better idea of what’s going on.
So what do you need for deep learning?
Step 1: Understand machine learning in general
Okay, so really you should already have a pretty good idea of what machine learning is by now. Still, who knows, there are plenty of people who try to run before they can walk. So if you still have to learn that walking bit check out these helpful tools:
When you’ve got those down, then it’s time to come back here and learn the rest. Back already? That was quick!
Does your machine have the necessary requirements?
You’ve got to have a good enough GPU and CPU. The basic levels is a 4 GB GPU and a decent CPU. Think intel Corei3, for example.
If you’re a gamer then you should be alright. If you don’t have this specification, you’ll be happy to know that you can now get them online, so that you don’t have to fork over the whole hat up front.
Step 2: Get to grips with deep learning
Okay, so all that’s in order? Good, then we can continue to the next part. And that is to get you a good understanding of what deep learning is. There are plenty of resources out there for you to follow.
In fact, you can follow them in your preferred format. Do you want to look at some blog posts? Then check out the very informative Hacker Guide to Neural Networks by Andrej Karpathy who learned what he knows at Standford. Blogs not your thing? Prefer a textbook? Then grab the free online book Neural Networks and Deep Learning written by Michael Nielsen.
That not your cup of tea either? Then you’ll be glad to know that there is also the possibility to get the video. It has been very conveniently divided up into 27 parts so that you can really digest one bit before you decide to head on to the next one.
But wait, there’s more for you to learn! You’ve also got to get to grips with the different deep learning libraries and software packages. Yup, I never said it was going to be easy. To get a good idea of what’s going on check out the Wikipedia page.
Step 3: Choosing your area
Deep learning has found its way into several fields. This includes vision, natural language processing, speech and audio, and reinforcement learning. You can choose each one of these areas to really start to get to grips with the topic.
The idea here is that you actually get some hands on experience, as otherwise, you might think that you understand the field when really there is a big part of your knowledge missing. For this reason, the following list will include not just an in-depth primer that will explain the basics to you but will also include a project that you should really try your hands at.
In order to make it a little bit easier, I’ve also supplied a link to a library that you’ll need in order to actually do the project. Did you get all that? Good, then let’s get on with it, shall we?
Deep Learning for Computer Vision
In order to get a primer into this area, make sure you read the DL for Computer Vision blog, which will give you the basic ideas that you’re going to need to delve into this particular project. The project itself is called Facial Keypoint Detection. And what of the library, you ask. I’m glad you did. It’s called Nolearn.
Deep Learning for Natural Language Processing
Here the primer is called Deep Learning, NLP, and Representations. With it, you’ve got the opportunity to build chatbots, which – as you no doubt know – is an incredibly fast-growing area within the computer science community with a huge number of companies jumping on board in order to please customers without having to keep a huge staff of living reps on hand to handle the traffic.
Deep Learning for Speech/Audio
It’s incredible to think that only a few years ago it wasn’t possible for computers to recognize different types of speech. That’s all changed now, with computers no longer calling mom every time you try to dial anybody else.
The blog post you should look into is called Deep Speech: Lessons from deep learning. The project title is called Music Generation Using Magenta (Tensorflow) and the necessary library? This will surprise you. It’s called Magenta. A real shocker, don’t you think?
Deep Learning for Reinforcement Learning
Reinforcement learning allows computers to get better through the process of trial and error, which honestly is pretty cool and has made it so that computers can now beat humans at more traditional games. Can you take it to the next level and have computers beat us at the more complex and involved modern games?
If you think you can then you should check out Deep Reinforcement Learning: Pong from Pixels. This will serve you as both the primer and the project. You’ll also be happy to learn that you don’t need any library (was happy too strong a word?).
Step 4: Take it all the way
You’re nearly there now. That’s the great thing about new fields – it’s pretty easy to get caught up with what is going on. Of course, there’s still ways to go. Want to expand your knowledge further? Then there are several routes available.
The first and most obvious one are to take one of the other projects that I’ve outlined above and try your hand at them. You should find each of them easier as you go through, as you take the knowledge from the other field and apply it to this new one.
Create your own little project. Take deep learning in a new direction. Heck, you might even realize something that none of us have caught onto yet.
Start participating in the community ASAP. They will give you great tips and might point you in the ways of lessons or problems that you yourself would not otherwise have discovered.
And then just keep it up. If you can keep working in this field, you should be closing in on the bleeding edge in somewhere around the six-month mark. Where today can you learn almost everything of a field in six months? Not that many, I can tell you that!
So yeah, it will be a struggle and yes there isn’t that much out there yet, but you should see that as a blessing rather than a curse. It means that you can start putting it out there, making a name for yourself and influencing the deep learning world in no time.
Now, I don’t know about you, but that sounds pretty sweet to me!