HOW TO LEARN DEEP LEARNING - The Most Efficient Way To Go From Beginner to Advanced

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
in this video i'm going to share what i think is the most efficient way to learn about deep learning from being a total beginner to learning about more advanced topics [Music] to start off this video i want to talk about mentality because i think even the title of this video is misleading you will never have learned deep learning it's always an ongoing process you're always going to feel like a beginner and there will always be more and more things to learn you will never feel done and i think any other mentality than this is going to limit you in the future so i thought we could spend a little bit more time on this idea of developing a mentality for learning uh and uh andrewing has uh talked about this quite a lot so i thought we could just give it a listen and uh see if we can extract some some good ideas from it i think um getting the habit of learning is key and that means regularity for myself i've picked up a habit of spending some time every saturday and every sunday reading or studying and so yeah and i think this is often not about the births of sustained efforts and the all-nightest because you can only do that a limited number of times it's the sustained effort over a long time i think you know reading two research papers is a nice thing to do but the power is not reading two research papers it's reading two research papers a week so i think this is really good advice because i think we oftentimes get stuck on the idea that we're just gonna do a course or we're just gonna i don't know um take three three years of our life to to college or something like that and and then we're done but embracing this idea of lifelong learning and actually that we're never complete and uh i actually feel this is a much more of an fulfilling idea but uh anyways this was a bit of a tangent so let's go back to talking about how we would actually go about to learn this stuff so let's talk about the prerequisites and let's start with math and if you haven't studied any math that's okay you can still get started and i'm going to share more about that in just a moment now there are four areas that i think are most important to machine learning in regards to math and those are in my opinion in this order linear algebra calculus statistics and optimization and just for fun i actually found a quora post by andrew ung and the question was i do not have strong mathematics background what should i learn in mathematics to be able to master machine learning and ai and he answered i think the most important areas of math for machine learning are in decreasing order linear algebra and and then he said probability and statistics and three calculus and for optimization i swapped those two around i said calculus as two but uh yeah i'm wrong and he's right so let's just say you haven't studied any of these areas then i absolutely do not recommend that you take six months just to study the math what i would say is take one math course which is linear algebra because look if you don't know what multiplying two matrices are or taking dot products or taking matrix inverses everything in machine learning is going to feel like a giant black box so there are a couple of different resources that i would use to learn about linear algebra one is a khan academy i think this is a pretty good resource and it covers the basics that you need you could also check out this linear algebra open courseware uh and i think this is pretty good you have the um the video lectures and he's a really good teacher as well and then there's also you know all of the assignments and all of that stuff i also think this book by david lay linear algebra and its applications is a really great book and i just saw that it's very expensive actually on amazon but uh yeah i think if you look around then you can probably find it for free i don't know all right so now that you've learned the basics of linear algebra the next step is to learn the basics of programming and the only programming language that you should learn is python so there are really endless of resources to learn python programming but so i'm not going to recommend several different i'm just going to recommend one but note that there might be other people that disagree with the suggestion and so the course that i recommend is a introduction to computer science and programming using python it's a free course on edx and it's from mit and i really think this is a great course and i recommend it all right so now you've come a far away you got the basics of linear algebra you got the basics of programming now you're ready to start learning directly about machine learning because here's the deal to learn about machine learning you have to do machine learning so the title of this video is how to learn deep learning and we will get into the specifics of deep learning in a second but as i'm sure you're familiar with deep learning is a subset of machine learning and i think learning the fundamentals of machine learning first is going to serve you well so the first course that i recommend that i started with and i've seen a lot of other people start with and that has pretty much legendary status at this point is machine learning by andrew um as i said the machine learning course has legendary status it's uh one of the best courses in my opinion and they actually spoke about this on a podcast so let's listen to it course that i taught through stanford remains one of the most popular causes on coursera to this day is probably one of the courses sort of if i ask somebody how did you get into machine learning or how did you fall in love with machine learning or would get you interested it always goes back to andrea at some point you were employing the amount of people you've influenced is ridiculous so for that i'm sure i speak for a lot of people say big thank you yeah you do lex you speak for all of us so uh andrewing this courses are really i would say the best for learning about deep learning and machine learning and i was thinking that we could take a deeper look at that specific course so the course more specifically is machine learning by stanford university and where andrew is the teacher so let's see if i remember for week one basically was just talking about the uh of the basics of machine learning what is machine learning uh how do we define it it really builds it from the from the sort of from the foundation assuming you don't know anything about machine learning then it goes uh basic algorithms linear regression and even does a linear algebra review and then uh he does a yeah so he does linear regression for multiple variables and then so this is sort of a con of this course it's still a great course and i recommend it is that you're going to use octave instead of python but really it's a it's not really that big of a deal if you know python it's going to be super easy to learn octave it's just going to be about googling some specific syntax for what it is you want to do so this is really a limitation uh sort of the focus is on the concepts rather than on the programming and then on the week three there's a low distribution regression regularization and then even goes and talks about neural networks which you will learn a lot more in a course i'm gonna talk about soon but he sort of talked about the basics and uh if i remember correctly this is a bit outdated i would say but it's still i mean it's still relevant and the basics of neural networks haven't changed for a long time and then sort of some advice for applying machine learning uh system design and machine learning uh support vector machines unsupervised learning i think that it talks about the k-means algorithm and so on if you're familiar if you don't know any of this then that's fine uh anomaly detection recommender system really he builds up a solid foundation in machine learning and he builds it up from assuming no previous knowledge and that's also why i think this course is so popular now uh this course is free you can do the entire course for free but if you want to have a certificate that you did the course and you can put it on linkedin and stuff like that then you can purcha purchase it for i'm not really sure how much but i'm gonna have a an affiliate link in the description if you do decide to buy this certificate for the course all right so look now you know linear algebra you know the basics of programming and you also have a fun foundation in machine learning uh the next step now is to learn about deep learning so uh the course or rather specialization that i recommend for deep learning is the deep learning specialization also by andrew um so uh this i mean it has 242 thousand ratings it's a rated 4.8 out of five so this is a really really really good course and uh i can confirm so the only problem or what i think is the con is that it costs about 50 50 a month uh and it's uh let's see it's approximately four months to complete although i'm although i i completed it in one month uh and because the suggested is uh five hours a week so i mean if you're if you're spending a an actual serious amount of time like eight hours a day studying this visualization it's gonna take about a month at least that's what it took for me he talked about this in a uh in the podcast as well as that if you can't afford it there's financial aid that's available for those that simply can't afford it so you could try and apply for that but yeah if you can afford it this is the best especially in my opinion the best for building a foundation in deep learning and uh so the courses you start with learning about neural networks and deep learning and in the end of this course i believe you actually build in your network from scratch uh sort of uh in numpy or something like that and then you learn about hyperparameter and regularization and optimization techniques uh sort of how to make neural networks converge faster there's been a lot of progress in optimization in the in just a few years and that's really made a big difference in training near nets and then he has a course specifically so i didn't say the specialization is five courses in total and the third course is a sort of structuring machine learning project so that it's a more like a practical knowledge of uh how do you go about finding data and when do you know when to collect more data when should you not collect more data and so on some more a practical know-how and then uh convolutional metrics for image classification and then course five is uh more natural language processing and it goes into sequence to sequence networks and uh and see and uh sort of briefly mentions the attention models and so on yeah and you also go to speech recognition um there's a lot of stuff that you learn from this specialization and uh if you if you can't afford it there are at least also the on youtube are all the video lectures but if you are enrolled in the course you also have access to the programming assignments and all of that so this is a really really good course i recommend it and also i'm going to have and also in a if you do decide to enroll in this specialization i'm going to have an affiliate link in the description so now you have a really strong foundation to build on and in my view you have three things that you can do now the first is you can start by doing more advanced courses and the second is you can do uh start replicating research papers and the third is by doing your own projects so i feel all of these are good options and let's just start with the first one if you want to do more advanced courses which should you do at this point now i know what you might be thinking all right what am i just gonna do courses for the rest of my life when am i gonna actually start doing stuff well let's listen to the man himself early parts of a career coursework um like the deal game specialization or it's a very efficient way to master this material in fact one thing i see at stanford uh some of my phd students want to jump into research right away and i actually tend to say look in your first company as a peer student spend time taking courses because it lays the foundation is fine if you're less productive in your first couple years you'll be better off in the long term um and i've kind of heard this before that people sort of think that people just do courses and they actually don't don't create anything but it's it's uh so it's not that you're gonna do courses for the rest of your life just that in the beginning phase it's very efficient to do courses and i as he says in is as he says himself his phd students end up being more productive if they actually spend the the first amount of time to just continue learning by doing more advanced courses so the first course that i think is really good is a cs231n and you have all the video lectures on youtube and uh this kind of goes in depth into convolutional networks and uh i would say is sort of an extension of the deep learning specialization as specifically the course four of the deep learning specialization and it goes into more depth i would say so uh in sort of you there's some material that is uh that is in the in the specialization as well but then i would say that they go beyond that and it's still a very good course to do and uh so you have the video lectures and then you have sort of the assignments and uh so you what you do here is uh you can see image classification key nearest neighbor lineage neighbor and then fully connected batch norm dropout you even go into some frameworks now so tensorflow pi torch and then image captioning neural net visualization style transfer and then gans all right so the c231 is more for images and then you have cs224 which is a natural language processing and so this is uh also a great course and i would say this is a more in-depth course than the course this last course of the specialization so the specialization more introduces these concepts and here you really go into depth and then also uh let's see all right and then for the csu 24 assignments you also have them right here on the course website you sort of have uh course materials so you have the the lectures but you also have the suggested readings the um sort of the uh i don't know the powerpoints and then the lecture notes and and then the assignment one you you can sort of read about the yeah these are in jupiter notebooks you have all of them on this site so those are two courses that i think are great and then there are some other ones that i actually haven't done so i can't say if they are that good or not but uh but the ones that people talk about a lot is fast ai and uh so i think this is this is in two parts and yeah so just past the eye talks a little bit or the mindset of fast ai is that they want you to be able to build state-of-the-art models as quick as possible and it's okay if you don't really understand what's going on in the beginning because uh in that way i guess you you sort of keep being motivated because you can do all this cool stuff and i would say andrewing is sort of on an opposite approach and that he wants you to build it up from the foundation um yeah i'm i'm i'm gonna do the fast ai course at some point so i'm gonna have more thoughts on it i just know that this is one thing that people often times write about and then you have the udacity nanodegree i know people talk a lot about this as well i haven't done it so i don't know if it's a good and then you also have the natural language nlp specialization and again i'm not sure of this course i'm not sure what they do uh i haven't done it and there's a quite few ratings and it's quite low um i know this is pretty new um so i'm gonna do it at some point and i might do a review on it and that at that point but just showing you sort of what you have available and uh what i what i recommend what i did and then you can sort of uh read a little bit more if you want about the specific courses and if there's anything i've missed you can uh write a comment and uh share your experience with other courses all right so continuing to take more advanced courses is definitely one way and it's a very efficient way to learn in my opinion but as i said you have more options so let's go to the point number two which is replicating research papers so replicating research papers is something that i've done a lot and we can just go to my channel and we can go to playlists and if you go to uh sort of the pi tutorials i've done and we go to let's see let's say the um uh convolutional neural network architectures like the vgg network googlenet resnet even real style transfer gans all of these come from research papers so if we just look at i don't know this video i've done from the beginning i sort of talk about i go through the paper we read the paper and then we go through what did they actually you know what did they do in the implementation and then we try to code it right that's how what i've done a lot from pretty much so a lot of my videos are just reading papers and then replicating them and then try to explain them in a way that's uh that's easy to understand so uh this is one way that i've personally learned a lot from and i think is a very efficient way to learn and it's quite simple in that you take an interesting research paper you read it and then you try to replicate what they did in that paper now you also have a third option which i believe will arise naturally because you will just have ideas of things you find interesting either when you're doing courses or you're replicating some research paper you're going to start to have your own ideas now that could be to build an app of something you find interesting build a website or just an interesting task that you want to explore so i wouldn't worry too much about project ideas they really will just arise naturally and i think doing projects is a very very efficient way to learn as well i do want to caution however on on taking two large projects too early you really want to build up this the difficulty of the project you're taking on so you want to start with something that you pretty much know you can do and then you want to take another that you pretty much know you can do just slightly above your current level from my experience i feel that sometimes i'm taking on projects that are just too difficult and you pretty much get stuck and you lose motivation so you don't want that you want to always have a challenge that you you feel you are you can do but it's just slightly above your current level and for that i recommend rather starting too easy rather than too difficult i also feel i want to mention something about books and i think deep learning is an area that is developing so quickly that the books really are outdated and the best way is really to read research papers but with that said i think learning the fundamental concepts books can be very helpful for that and the book and so what i recommend is using books more as a reference rather than following from start to end and the book i would recommend is uh the deep learning book by ian goodfellow so those are some of my thoughts on how to get started and hopefully you found this video useful let me know if you have any questions in the comment section below i pretty much answer all of the questions and uh so with that said i just want to wish you the best of luck in your journey in machine learning
Info
Channel: Aladdin Persson
Views: 15,661
Rating: undefined out of 5
Keywords: how to learn deep learning, how to learn machine learning, best courses deep learning, deep learning beginner course, how to start deep learning, how to learn deep learning python
Id: rVrhuuGKxuM
Channel Id: undefined
Length: 20min 57sec (1257 seconds)
Published: Sat Aug 01 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.