In-Depth Udacity Deep Learning Nanodegree Review

Daniel Bourke reviews Udacity's Deep Learning Nanodegree, a five-module program covering neural networks, CNNs, RNNs, GANs, and reinforcement learning. The course costs money, takes months, and uses hands-on projects with Slack support and rapid feedback. He rates it 9/10 and compares it to Coursera and Fast.ai.
Chapters
What's going on, learners? Welcome to my Deep Learning Nanodegree review video. So in this video, I'm going to break down the what, when, why, where, and how of the Deep Learning Nanodegree, or at least share with you my experiences of each of those. So I've created my own artificial intelligence master's degree, essentially just grabbing courses from the internet and combining them into a bit of a structured curriculum so I have an idea of what I'm doing, and the Deep Learning Nanodegree was a major part of that. Everything I talk about in this video, by the way, I'll be linking in the description, so if you, if If you want to find anything, it'll be down there. As Simon Sinek says, let's start with why. Why would you want to do this course? Well, if you want to get into the field of AI, deep learning is where it's at. And I'm just breaking into the field at the moment. I'm still learning. But from all the research I've done, and that has been my main focus for at least the past year or so, it's that deep learning is the forefront of AI. And as Andrew Ng says, AI is the new electricity. Artificial intelligence in the future, or already now actually, will eventually break into every industry. So, if you imagine how electricity changed every industry, that's the same thing that's going to happen with artificial intelligence. Once our machines, uh, they're powered by electricity, now they're going to be powered by intelligence. And so, that's going to deepen our interaction with them further and further. So, whatever industry you're in, whether it be finance, health, anything, artificial intelligence will affect you in some way. And at the moment, deep learning is the forefront of that artificial intelligence. So having an understanding, at least an overview of it, I think will be very helpful no matter what industry you're in. So before you sign up, I think it's important to think about why you'd want to sign up. So I'm just going to talk to you about, go over briefly of why I signed up to the course. So in the past, I'd done some programming, some, well, it wasn't really programming, it was just like web design, web development. I did the first section of freeCodeCamp, if you've ever heard of that before. And then, After I did more and more research into the world of tech, I've always been interested in it. I graduated in 2015 with a nutrition degree, so I've been interested in health, but tech is something I finally decided to get into and start actually making things. But I found that programming was moving more towards from giving the computer instructions rather than telling it what to do. It's moving to showing it what to do. That's a quote from Geoff Hinton, by the way, is programming is transitioning from telling a computer what to do just showing a computer what to do. And that transitions into the what, actually. And we'll get to that in a second, about what is deep learning. And so, I stumbled upon this course on Coursera. I was browsing through the nanodegrees, and then I saw Siraj's videos, and that really encapsulated me. The way he was teaching, and the way he was so passionate about these things. I heard about artificial intelligence, but not in the way that he was talking about it. And so, he really inspired me to sign up to the deep learning nanodegree. And then as I got into it further and further, I got a few months in, I realized that artificial intelligence is the place I need to go to. And that's how I created my AI master's degree. And then that's where we are today. So we're finished with why, let's move on to what. First of all, what is deep learning? Deep learning is just a neural network with more than one layer. So if you imagine a lasagna, right? You got sheets of pasta. And say a normal neural network is just a lasagna with only 2 sheets of pasta. Not a very fun lasagna. But then it becomes deep once you add layers of pasta, right? You can imagine deep learning as being a lasagna with 3 or more sheets of pasta. And what does this mean? What— why am I talking about sheets? You can imagine the sheets as layers in the neural network. If you've never heard of a neural network, just imagine a neural network as very simply just being something that you You take an input, you do a bunch of calculations, aka move the input through different layers, and the calculations are mathematical calculations. And then as you move it through the layers, it refines that input into an output. And then the output is something that you can use that gives you more value than the original input. So what are the prerequisites of the Deep Learning Nanodegree? From my perspective, I signed up, I'd only had 3 weeks of Python experience and a high school math education. You could probably do it, but beware, I found it pretty difficult. What would the actual prerequisites be? If you can, if you have any programming experience at all, let's say 6 months to a year in Python, Java, C++, or something like that, or if you have a high school math education or undergraduate math education, you'd be more than ready to take on the deep learning nano degree. However, if you don't have those things, you can do what I did. I upskilled, upskilled myself on places like Treehouse. I did the Python programming track on there. And for the math, I've learned it all through Khan Academy. So linear algebra, math, sorry, matrix multiplication or matrix math, bunch of calculus as well. The guys at Khan Academy, this is a bit of a digression, but that's an amazing place to learn anything else that you need online and it's completely free. Don't worry too much about the programming needs and the math needs. You've had a high school math education and you've done a little bit of programming before, AKA a month of Python, be more than enough, jump into the Deep Learning Nanodegree. So what's covered in the Deep Learning Nanodegree? Well, it's broken down into 5 main categories. First of all is neural networks, so building a basic or your first neural network. Then it's convolutional neural networks. There you classify different dog breeds using, actually convolutional neural networks, imagine them used for computer vision. So anytime you see a facial recognition system or something classifying something as a, Or if you have a drone that classifies different objects, or if you're taking a photo on your camera and it can see faces, that's probably a convolutional neural network. And then the recurrent neural networks. So recurrent neural networks, imagine it to do with anything to do with language. So Google Translate is powered by recurrent neural networks. In the Recurrent Neural Network Project, you'll work on generating a TV script. What that means is you'll take a corpus of text and create a brand new TV script. What I did is I worked on, took 22 seasons of The Simpsons text and created a totally new scene at Moe's Bar, which was actually really fun. 4 is generative adversarial networks. So this is actually relatively new in the field of deep learning. So it came out in 2014 by Ian Goodfellow, and it combines game theory and deep learning and puts them together and you create some awesome things. In the project in the deep learning allegory, you'll work on generating faces with GANs, or generative adversarial networks. So what that means is you'll take a dataset of different celebrity faces and use them to generate new faces. It's mind-blowing. And then the new content, which I haven't done yet, is deep reinforcement learning. So this is number 5, which is actually really exciting for me. I wrote an article on how Google's DeepMind are using deep reinforcement learning to build smart agents to play StarCraft 2. In the deep reinforcement learning, from what I've read, I haven't done it yet, you will learn how to teach a, a quadcopter, or a drone, how to fly. Some really exciting stuff in there to work on. One of the great things I love about the projects is that you dive straight in and start building these deep learning neural networks straight from the start. So from the Project 1, which is your first neural network, straight into convolutional neural networks, You're building these deep learning architectures that are world-class. So it's something that would be in production-level deep learning. So at companies and startups and whatnot, these are the same type of networks that they would be using there. And that's what I really like. You're sort of, you're diving into the deep end rather than, you do build a foundation of knowledge, but then you go on off the cliff. You take the training wheels off, set yourself on the path of building a deep learning network of your own. What that means is that if you're like me and you've had a little bit of, you haven't had much programming experience, you will probably find it a little bit difficult, but you can get through it. If I can get through it, so can you. I'm not special at all. I just, just work through it, ask for help. And that's another thing. You get a dedicated Slack channel to the Deep Learning Nanodegree, which is incredibly helpful. There's thousands of people in there. So, so make sure you, if you go in, you say hello. I'm pretty sure you can join it without actually being a member of the Deep Learning Nanodegree. I'm not entirely sure, so don't quote me on that. And the forum has plenty of questions, trust me. If you think of a question when you're working through a project or working through a class, chances are, because there's so many other people, that question has been answered. So you'll be able to get a valuable answer from the forums or from the Slack if you have any trouble at all. And that's something I needed to learn from the start, is I was spending too much time trying to do it all myself. So don't be afraid to reach out for help. Another thing with the projects, the feedback is incredibly fast. I would submit a project and the submission form on the Udacity Nanodegree, in the classroom, sorry, says you'll get feedback within 24 hours. And usually it's within less than that. And the reviewer has incredibly detailed feedback on where you can improve your model. You can even directly ask the reviewer when you submit it specific questions. Say for example, I want to improve section 3. They will give you some more resources on how you can improve section 3. So what else do you get from the Deep Learning Nanodegree? Well, you get guaranteed admission into one of Udacity's higher-level Nanodegrees. That is the Artificial Intelligence Nanodegree, Self-Driving Car Nanodegree, or Robotics Nanodegree. And right now, I'm enrolled in the Artificial Intelligence Nanodegree. I've just finished Term 1, and I'm starting Term 2 in a couple of weeks, which is based on deep learning. So, it's more, it's more projects on deep learning. So, I'm really excited for that part. These programs aren't as accessible as the other ones. You have to do, you have to go through an application process to get in, because they are quite advanced. And so the Deep Learning Nanodegree gets you guaranteed admission into one of those of your choice. So let's get on to the how section. First of all, how much does the Deep Learning Nanodegree cost? Well, in my country, Australia, it is $750 Australian dollars. So that's $750 for 4 months or so of tuition. So it's around $200 a month. And how do you learn? How do you learn inside the— what is the classroom like? You sign in. It's like an online learning platform. It's actually one of the best I've ever seen. And you go through, you've got your different modules on the left, and then as you scroll through, you've got all the different classes that are involved with that module. How do you do the assignments? So the assignments are all done, or mostly all done, in Jupyter Notebooks, which are my favorite thing to, to code up anything to do with deep learning or Python. And so the Jupyter Notebooks are incredibly simple to use, incredibly easy. You can just type in Python straight away and it's all built in. You can import different libraries to there. There are some steps in that the instructors go through in the Deep Learning Data Engineering degree to get your environment set up. And if you're not sure what environment means, just, just imagine it as getting the right programs ready to run in the Jupyter Notebook. Once you've completed an assignment, you submit the Jupyter Notebook as well as the HTML file and any other files that are associated with it that you need to submit. You submit that through the Udacity submit page, and then a reviewer will get back to you within 24 hours with all that feedback that I mentioned before. And it's, it's— I can't rave about this enough. The reviewers are the best reviewers I've ever had on any of my assignments in any of my previous education, and I spent 5 years at university. So how much time will it take? Well, quoted on the website is 12 hours per week. I was doing a bit more. I was probably in the range of 15 to 20, and I had the privilege of being able to study, study the Deep Learning Nanodegree almost full-time. The reason why it took me so long was because I was unfamiliar with some of the concepts. So if you wanted to prepare better for it, you could go over some Python modules. Udacity have great introduction to Python, or the Intro to Machine Learning course on Udacity. That's another great resource to start, and that will probably lessen the amount of time you have to put in per week. So, if you have limited time, I would say make sure you're well and truly prepared by getting on top of your math skills, so linear algebra, go through courses on Khan Academy. That will put you in the ballpark of 12 hours per week. If you're like me and you're sort of still new to this stuff, you can do it. By all means, you can do it, but just beware you're going to have to dedicate more time. Even if you are experienced, it may take more time because some of the concepts are quite difficult. Have the baseline of 12 hours per week, and I would probably buffer it up maybe an extra 3, so 15 hours per week, just to be safe. How did I take notes? One of the big things people ask me in some of my videos is how do I take notes, right? So, I've got my— I always have a paper notebook with me while I'm watching things in the classroom, and I'll always have like a BearNote open, like Bear's a note-taking application for Mac, or Evernote, or something like that next to the classroom window. What I try to do is I watch the videos, I mostly watch them on 1.5 speed, just to get through them. They are relatively short videos in the Deep Learning Nanodegree, so you can get through a lot of videos really quickly. What I will often do first is if there's a summary video at the end of a class, at the end of a course or something like that, or end of a module, I'll watch the summary video first and take it and write down the takeaways from that summary video. Then I'll go back to the starting video of the class, of the module, and go right back through the start and go through them all. Then what I will do is if there's sort of questions relating to the videos, I'll start to take notes I'll rewatch the video and start to take notes based on what those questions are. If there's a really fundamental point that comes up in one of the videos, I'll pause it, write it out by hand about what I think, and then go on from there. What I try not to do is be taking too many notes while the person is speaking. I try to listen while they're speaking and then let that process and relay what I've understood from the video in my own words, because otherwise Just be literally copying down what they would say. In summary, I go to the summary lecture first, get the summary points or the objectives. I'll read the objectives and write down the objectives of the class. They're the main key points. And then, I'll watch the videos on 1.5x speed and take away any key points from each of the videos. But I'll try not to be writing too much while the video is actually playing. Now, that's my learning style. It may not necessarily work for you. Give it a try. I found it works most effectively for me out of all the learning I've done. Listen first and then write down anything you take away in your own words. Where and when? These two can be covered pretty easily. So, where, of course, you can study online. So, anywhere you have a laptop or an iOS device, the Udacity classroom is available there. Beware, you won't be— you do need a web browser to do the projects and some of the questions on the lectures in the classroom. You won't be able to do the projects on an iOS device at this stage that I'm aware of. I did all my projects on my laptop anyway. When? The course, it starts every, I think it's every 4 months. So, it takes 4 months and it starts about, a new cohort starts every 4 months from my understanding. That may change in the future as more and more people get interested in it. There are due dates for the projects. However, they are soft due dates. So, if you miss them by a couple of days, I missed them by a couple of days sometimes, you will still be able to submit the project and get it marked by a reviewer. However, there is an end date to the course. Say your starting date is day 1, you'll have 4 months from day 1 to the end to submit all the projects. Usually there's a project due every month. You'll have 4 months to submit all the projects, and if you don't submit them all within that time frame, then you, you'll have to do the program again. You'll have to re-enroll and pay that fee. So let's wrap this up. What's my overall verdict of it? I loved the Nanodegree. The Deep Learning Nanodegree is amazing. Do I think you should sign up for it? If you're interested in deep learning and you want to get a great overview and start getting in and building deep learning models, Udacity is a great place to start. There are more and more deep learning resources coming out online, such as alternatives. You could go to deep learning on Coursera, or you could go to the Fast.ai. They are both courses that I'm going to do. I'm currently doing the, the deep learning course on Coursera. You can find all this out in my, uh, self-created AI master's degree, uh, article that I wrote up. If the Udacity one, $750 Australian, or $600 US, maybe quite expensive for some people. Fast.ai is free. Siraj's videos, or Siraj Raval, he is amazing AI educator. His videos are all free. Coursera is about $65 Australian per month. I'm thinking that's $55 or $50 US per month. So that's a little bit cheaper. You can get all the courses done a lot quicker on there. Of course, the deep learning category is a $750 upfront fee or $600 US upfront fee. They are some alternatives you can try, but the Deep Learning Nanodegree, I believe, gives a great introduction to deep learning. When I graduated, did I feel comfortable making deep learning models from scratch? No, but that is because of— I didn't go into it deep enough yet. I could take the materials from there and reproduce them and go through them again and again. And practice on implementing models of my own. But what I did take away from it is I can now understand what people are talking about in the world of deep learning. To take it further, what I would have to do and what you would have to do from, from the Deep Learning Nanodegree is really work on building the models yourself. When you work on the projects in the Deep Learning Nanodegree, a lot of them, I would say 50% at least, are done for you. So you get the skeleton project, of course, and then you fill it in with your own code and different algorithms. If you want to get better at implementing implementing them yourself. You could practice on the projects and then delete the code and then rewrite it yourself and implement it from scratch. I'm not up to that stage yet, but it is something I'm working towards. And another great takeaway from the Udacity Deep Learning Nanodegree is the access to, or the guaranteed admission to, the higher level nanodegrees, which I'm currently doing now. That's another great reason to, to do it. You get an incredible overview of what deep learning does. You get experience building real-world deep learning models and the latest technologies. The deep reinforcement learning module just came out. I'm excited to do that. And you get access to the high-level Nanodegree. So they're the main two takeaways. Third one, you have access to the Slack channel, which is thousands of other students like you who are interested in technologies that are going to change the world of, of software, of AI, of plenty of industries. Those are the three main takeaways for me. An out of 10 rating for the deep learning Nanodegree. I give it a 9 out of 10 because it's not perfect. There is some improvement. No course is perfect. So it's, it's close to it. 9 out of 10. If you want to see more of exactly how I went through the Deep Learning Nanodegree, check out my 100 Days of Code series on YouTube or my 100 Days of Code series on Medium, which is writing if you prefer reading it. Or otherwise, I also have a series of articles called How I'm Learning Deep Learning, part 1, 2, and 3 so far. Part 4 will come out in the near future of how exactly I'm going through learning deep learning. There's some other great resources for you to check out, out how I did it and what my impressions of the Deep Learning Nanodegree are, as well as how I'm learning the things surrounding deep learning, such as the math and the Python programming that's required for it. Otherwise, thank you so much for watching this Deep Learning Nanodegree review video. I hope you got some value from it, and if you have any more questions at all that I haven't answered throughout the video, leave a comment below and I'll answer it so that other people can see it. Or if you want to, send me an email. My email is daniel@mrdbourke.com, and I'll do my best to answer any questions that you have. Subscribe or leave a like if you want to see any more videos like this in the future. I'd really appreciate it. But as always, keep learning!
More from Daniel

Small Language Models (SLMs) Are the Future: Fine-Tuning AI That Runs on Your iPhone

Introducing Sunny - A MedGemma-Powered Skin Health Tracking App (Kaggle Competition Entry)

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 4 - Comparing the results

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 3 - Running LLMs on the RTX 4090

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 2 - Formalizing the tests

Benchmarking: NVIDIA DGX Spark & NVIDIA RTX 4090 | Part 1 - Creating a series of tests

Local Multimodal RAG on the NVIDIA DGX Spark | Part 4 - Publishing our demo to Hugging Face

Local Multimodal RAG on the NVIDIA DGX Spark | Part 3 - Putting it all together


