In This Cluttered World How To Learn Deep Learning Without PyTorch
In this post, I will tell you how you can learn Deep Learning from the basics and also how you can get your basics cleared if you are practicing it but don’t know how everything works.
By the end of this tutorial you will know:
- Why most of the tutorials on YouTube are scrap for you
- Where to get started to learn machine learning
- Where to clear your gaps of the past if you practice machine learning but don’t know how things work
In the past, I tried many machine learning and deep learning tutorials, but I didn’t make much progress. Even after following them for a long, I could not understand what was going on. Why are all the steps taken this way, and what’s the purpose of all this? Why am I doing this? Everything does not connect and just didn’t make sense.
Why did This Happen?
Half the credit for this achievement goes to me because I couldn’t follow them. After all, the things keep slipping, and the other half to them that they, themselves, don’t know why is something done and what would happen if that’s done the other way. That’s not in their syllabus.
They are ML or DL practitioners. They know how to do things so that they just work out. They, themselves, have learned with these gaps. They know what to do if something goes wrong, but it’s like a black box for many Machine learning teachers on YouTube and other places. They know that something is done because it has always been done in the past this way or they were taught just this.
They know what to try if something goes wrong and with practice, they become efficient at it. But these guys never really understand it.
But, what’s the reason for this
Most of the practitioners were professionals in some other field. It is because machine learning is useful if you know the business logic in the best way. So, it is just one more thing to upgrade them and get a higher salary. To get a higher salary you don’t need to know everything, you just need to know how to apply it because that’s what gets seen fastest and easiest.
Also, Deep Learning requires a lot of Calculus and you know how smart is the world in it, and how much we love it.
So, now you may be knowing why most people on YouTube have gaps in their knowledge even after being DL practitioners for so long and some are even in big companies. This is the reason that sometimes Machine Learning teams, even in some of the best silicon valley companies, spend months focusing on the wrong steps.
Why The Basics Are Not Clear?
They don’t know the basics. They have sort of crammed the steps. They just know how to do it. They know what works and what does not. But not why does it work. They know the trick but not the secret. And even the advancements in Deep Learning frameworks like PyTorch and TensorFlow have a role in it. You don’t need to know many things to use them and create amazing models.
You don’t need to take care of backpropagation in these frameworks, and many other things. You don’t even need to know what is backpropagation. Even the teachers on YouTube and other platforms don’t very clearly tell about these things which can be done by these platforms easily. So, it’s not your fault if you didn’t get it clearly, and things later don’t make sense. It is just to be crammed that way, and take it like a fact.
Why They Don’t Tell The Basics?
But there are reasons, which not everyone is saying. But half of it is for your convenience. You won’t understand it easily and may switch to another tutorial making the same mistake. You need to know the Maths as well. They want you to watch their videos longer or just buy their course. That is what matters the most to them.
But, now let’s talk about how I learned it
But before that, why did I learn Deep Learning in the first place? Well, I’m an entrepreneur, or rather a struggling entrepreneur. But, being true I’m in college and trying different ventures. So, I had learned Programming and App and web development in the past. And now was looking to make use of them perfectly and get a new challenge. So, I thought of ML/DL.
But after trying it out. I didn’t get satisfaction in it. It was because there were many gaps. Some were because of me and others because of teachers. So, I left it and then again grabbed it in little time many times. I tried different channels on YouTube, books, and many different methods. But I could not get the right way for me.
It is because I try to do things with the first principle. Knowing how something works and why something works from the very base. So, it was very difficult for me.
But then I got what I wanted and needed. I took the Coursera course of Andrew ng sir. I took his machine Learning course and his Deep Learning Specialization courses. This helped me in understanding the concepts from the base.
I knew basic calculus from high school and was good at it. I remembered how matrices are multiplied, how derivatives work, and the basics behind it. Professor Andrew ng also told these things and they were great refreshers. He connected everything amazingly and I loved the way he taught. He used different platforms, languages, and frameworks, but he told everything that you can understand if you follow him.
I Was In Peace
Also, in his courses, I didn’t worry about typing at all. Rather I was making notes of them. Programming exercises are different. And even when he codes, he codes little, and even if you don’t know the language you can understand him. He will also teach you the Maths in the course.
So, I tried this method and it worked. It was not the first tutorial and also not I was very good at Machine Learning. But he taught there in a way that I could understand with the first principle.
So, even you can understand various concepts that even some experienced Machine Learning practitioners don’t know in big companies.
The Right Approach
But, your approach to the course needs to be right to get the most. So, I’ll help you a bit with it. It frankly means that I did it. It may not be the best practice but I used it.
So, very frankly I had failed many times in the past in learning. But this time it looked like hope. So, I was very passionate from the very start. I expect you to be the same. It is the best resource that you can get. If this is going to be your first course or tutorial then believe me it is the best so respect it and pay full attention to it. And even if you are an experienced practitioner coming back and knowing the basics is no harm and you are only going to get something more and life is going to be easy ahead.
Know Your Calculus Better
So, again to the approach. You need to know yourself. How much calculus do you know? If you know the chain rule and let’s say derivative of e, then maybe it’s good and you can try with the course to know more. You should be knowing the basics of matrix multiplication and how the dimensions change with different calculations. Please try out matrix multiplication of different dimensions because usually in schools you would have done it with 3X3 matrices.
Now, if you don’t understand what am I saying then maybe trying some calculus is not a bad idea. It is only going to help. People will say you don’t need it. But frankly, I feel that if you want to be the best in the field then you can’t leave some basic calculus. Otherwise, many gaps are always going to remain in your life. But by learning, you can make things very easy for you.
How Much Coding Is Needed?
You need to know to code for machine learning. But to take these courses you don’t need to know programming or Python. The role of any particular language or framework is less and basics are cleared in it. Then you can take those things anywhere. Most of the tutorials otherwise are very language and framework-specific. But not this one. It is basics-specific and Maths-specific.
Try it out. Also, try to make your notes. This is going to be amazing. I don’t say it to revise and all, obviously it would be beneficial there, but rather so you can make sense of everything. And also, never write what you don’t get. This way you are going to get a lot of right knowledge.
Make Proper Use Of NumPy
I even recommend trying backpropagation in NumPy. I did it. It’s because it tells me how it is going to work. We don’t do any backprop manually in any deep learning framework. So, try it. Even if you get it wrong it doesn’t matter. Things are going to get clear in your mind about your model. Just try the method.
I feel this is going to be enough to get started toughly. After, this you can learn whatever language or framework you want. Many people now recommend PyTorch for starting and also for experts because it’s easy and has many more benefits. But what you want to work with is your choice.
But you can start with PyTorch because it’s more Pythonic. It is just easy and like any other library of Python.
Get A Clear Goal
The last thing is that you should be clear as to why you want to learn Machine Learning. To get a higher salary or what? This is because then you can decide the approach to take. If you want to be an expert or do you want to merely get it on your resume for more money.
The Hard Truth
But remember that you are never going to know everything as to how things are happening, and also it involves a lot of randomization. So, be ready for it. You can never guess an output with inputs and also you will never come to know whether your output is the best output or just a good one. It is about local optima and global optimum. But even after all this, Machine learning is going to make a huge impact in the world and you should get on the train.
Just get a clear objective and a loss function. And also make full use of the community on Coursera. Talk to them, ask for doubts and help them. And do whatever you like. Search on the web if you get any doubt about anything. But more than that love the journey of learning, not just the result.
So, I hope you got the way to learn machine learning. I hope this article helped you. But I am not going to stop here and may help you later too with some good posts. I am not an expert but learning. So, I will be sharing new and amazing things with you regularly and maybe asking for help too. So, let’s connect and have a long relationship.