Hello folks, for this time around, I’d like to review about one course that enabled me to step into the Deep Learning field. Without this course, I don’t think I want to step in because of the supposedly hard math I need to know and learn about. It is the famous, Coursera Deep Learning specialization by Andrew Ng. Let’s get started.
The Background. What is this? Deep Learning?
The hype is real. I have written before about Big Data hype 2.0. People, especially marketers talks about Deep Learning all the time. But, what exactly Deep Learning is?
If you know what Machine Learning is, then it is easy, Deep Learning is a sub-branch of Machine Learning. But, what if you are clueless about it? Simply, Machine Learning is a technique, to create a machine who can do a task without the need of programming of its behaviors.
Then, Deep Learning, a sub-branch of Machine Learning, is a type of Machine Learning, whose structure tries to mimic human brain.
It is called “deep” because the number of layers supposedly large, thus “deep”. If you give an analogy to each circle on the figure as a human brain cell, then, you can safely know that each cell can do or recognize a simple task. While the next cells connected to it can put together outputs of several previous cells to process and resulting some kind of intermediate result.
Do that repeatedly until you reach the end of the layers, named the output layers, it can learn a much higher level and abstraction and will produce the result. The results are often better than standard Machine Learning technique.
So, why didn’t we do it for all Machine Learning tasks? The answer is because of the lack of data. You will not get a good result with a small number of data. While large amount of data will be hard to process using the ancient computers. Luckily, in the last decade, the hardware development was really good, thus enabling us to use high end machine cheaply. That’s why Deep Learning came to the surface.
Hearing about it can get our heart pumped, but, often some people mystifying the technique itself to make it more marketable. It is not really hard to get into, while hard to master. You can actually get started to learn it now! By what? Of course, Coursera Deep Learning specialization!
Coursera Deep Learning specialization. What will you get?
While taking a step into Deep Learning seems scary, this course will help you that. Not only it can help you to achieve that, it can help you achieve that in a simple way. Andrew Ng is a really great teacher. His choice of words are concise and easily understood.
Calculus seems crazy, and taking a derivation of derivation looks scary. But, that is not the case with this course. The things you probably have to know are Python and matrix operation.
How about calculus? Derivation? He himself said in the course that, if you don’t understand about calculus, don’t worry. He covers the topic incredibly well, even if you are starting from the absolute beginner level.
The course will start with the most basic idea about Deep Learning, about the human brain cell, and what’s going on in the neuron. It will progress little by little, linearly with your understanding, until you reach the penultimate course about the Sequence Model. In the process, you will realize that learning about this field is not as hard as you thought before.
- The courses are easy to understand
- His lecturing technique is really great
- You don’t need to compute complex thing at all
- There is a course, about structuring Deep Learning project which is really important in real life
- Basically, from zero to hero. You learn from the backbone basic of the network, into how you can assemble all of them into a working architecture
- There is no Generative Adversarial Network
His lectures are so clear. He speaks really well. And the best part of this is the programming exercises. At the end of each courses, by the way, the Deep Learning specialization has five courses, you will get a programming exercise. It can really help you get your hands dirty and immensely improve your understanding. The exercises are well made and cover most of the state of the art techniques including the amazing Neural Style Transfer.
And you know what is really good? He says in the lesson, after completing the specialization, you will have more knowledge about this field than most of Data Scientists in Silicon Valley. That’s mind-blowing.
By the way, for your information, you can take a single course at a time if you thing you don’t want to enroll for the complete specialization. A good way to start!
So, what’s the point of waiting? You can just start enrolling to the course now. Earlier you start, earlier you understand, you will have more time to do amazing things later.
Course 1: Your enabler into the field
This is your baby step. Your very first course in Coursera Deep Learning specialization. Andrew will talk about how we can understand the network if we don’t actually dive down to each neuron, and understand how it works. In this amazing opening course, you will know about what is actually Deep Learning. You will also know how it works, and also, why going deeper actually make the network better.
The things you will learn are including:
- What is Neural Network
- Gradient Descent
- Cost Function
- Deep and Shallow Neural Nets
By finishing this course only, you basically know already what Neural Network really is. You can immediately start using it for your actual project, and get a good result out of it.
Course 2: How to optimize your Neural Nets
You already know what is Neural Net, and how to use it for Machine Learning task. The most confusing thing in designing your net is about hyper-parameters. You should have learned it in the first course about the hyper-parameter alpha, a.k.a. the learning rate.
Choosing a large learning rate will make your net diverge instead of converge, while choosing a small one will obviously make your net converge, but it will takes a really long time. So, choosing the right number is important. But how? This second course of Coursera Deep Learning specialization covers them all.
The things you will learn are including:
- Normalizing input
- Optimization algorithm besides gradient descent
- Systematically choosing the right hyper-parameter, a.k.a. hyper-parameter tuning
Aside of hyper-parameter tuning, you will learn about Regularization, a great technique to improve your network accuracy. While normalization and optimization algorithm will make your network learn faster.
Course 3: Deep Learning project structure
This, is the cornerstone of Coursera Deep Learning specialization in my opinion. The impact of this course will basically enabling your team to implement any Deep Learning project with proper setup. It means, you will have a proper guidance on how to do this project in a team, create your own targets, and actually achieving them.
What kind of guidance you will get in this course, check this out:
- Orthogonalization, a way to make your net debuggable. How awesome it is.
- Distribution of training/dev/test set
- Avoidable bias
- Clean up wrong labels
- Transfer learning! This is your bread and butter in Computer Vision which will be discussed on the next course
- Multi-task learning
Finishing this course will enable you to efficiently train a neural net and do many iteration without losing control on your output. And transfer learning will be one of your most prided arsenal in building Deep Learning project.
Course 4: The exciting Computer Vision via CNN
Here comes the most exciting course in Coursera Deep Learning specialization. In course one to three you learn about how to make a vanilla neural net, which you can feed any kind of data. While doing so can get your job done most of the time, sometimes, in some kind of unstructured data like images and sounds, you will fail. Convolutional Neural Network will come help you for these tasks.
These are the things you will learn here:
- Computer Vision
- Edge Detection
- CNN examples, ResNet and Inception Networks
- Object Detection, YOLO! A real time object detection algorithm
- One-shot learning, Face recognition here I come!
- Neural Style Transfer!
Those are a lot of things you will learn here. Basically, it covers you most of the algorithms you need to know to hack some images. Or actually make an automated car that can trigger the horn if someone drives crazily? And by learning Neural Style Transfer, you will know that neural net can actually paint some images. So exciting! What are you waiting for then? Enroll now!
Course 5: Let you hack sequences of anything via RNN
Finally, your penultimate course in Coursera Deep Learning specialization. This course is also about a specialized network, called Recurrent Neural Network. If CNN can let you hack images, RNN will let you hack sentences, a.k.a. sequences of words, which are sequences of characters.
You can also hack another sequences if you wish. Predict which customers will churn next month based on their historical activity? You can! Predict stock market activity? You will! Will bitcoin price go down next week as a result of some scandals? You wish!
Most noteworthy, this network can capture an information at any point in the sequence, and help the future sequences to determine the output.
These are the things you will learn here:
- Sequence models, and why is it important
- Back-propagation Through Time
- The problem of Vanishing Gradient due to the length of the sequence
- LSTM and GRU
- Embedding Matrix, Word2Vec and GLoVe
- Attention Models
- and finally, Neural Machine Translation
This is your last course, as a result, you will learn about the most complex thing in the form of RNN. Calculating the gradient via BPTT manually can makes you crazy, that’s why you will always use the code instead. And with Neural Machine Translation, you will be able to make your own Google Translate!
I can safely conclude that, Coursera Deep Learning specialization is your go to course to step inside this field. It covers everything from the most basic to the most complex thing. And by the end of the course, consequently you will be able to build your own Deep Learning project and solve real world problems with it. Here, I give you top Machine Learning and Deep Learning projects for you as a reference.
The most important thing in doing something is when you actually doing it
Finally, please share if you like this article!