At 12 hrs/week
Get access to classroom immediately on enrollment
In collaboration with
This program has been created specifically for students who are interested in machine learning, AI, and/or deep learning, and who have a working knowledge of Python programming, including NumPy and pandas. Outside of that Python expectation and some familiarity with calculus and linear algebra, it's a beginner-friendly program.See detailed requirements.
Get your first taste of deep learning by applying style transfer to your own images, and gain experience using development tools such as Anaconda and Jupyter notebooks.
Learn neural networks basics, and build your first network with Python and NumPy. Use the modern deep learning framework PyTorch to build multi-layer neural networks, and analyze real data.Predicting Bike-Sharing Patterns
Learn how to build convolutional networks and use them to classify images (faces, melanomas, etc.) based on patterns and objects that appear in them. Use these networks to learn data compression and image denoising.Dog-Breed Classifier
Build your own recurrent networks and long short-term memory networks with PyTorch; perform sentiment analysis and use recurrent networks to generate new text from TV scripts.Generate TV scripts
Learn to understand and implement a Deep Convolutional GAN (generative adversarial network) to generate realistic images, with Ian Goodfellow, the inventor of GANs, and Jun-Yan Zhu, the creator of CycleGANs.Generate Faces
Train and deploy your own PyTorch sentiment analysis model. Deployment gives you the ability to use a trained model to analyze new, user input. Build a model, deploy it, and create a gateway for accessing it from a website.Deploying a Sentiment Analysis Model
from industry experts
Personal career coach and
Mat is a former physicist, research neuroscientist, and data scientist. He did his PhD and Postdoctoral Fellowship at the University of California, Berkeley.
Luis was formerly a Machine Learning Engineer at Google. He holds a PhD in mathematics from the University of Michigan, and a Postdoctoral Fellowship at the University of Quebec at Montreal.
Cezanne is a computer vision expert with a Masters in Electrical Engineering from Stanford University. As a former genomics and biomedical imaging researcher, she’s applied computer vision and deep learning to medical diagnostics.
Alexis is an applied mathematician with a Masters in computer science from Brown University and a Masters in applied mathematics from the University of Michigan. She was formerly a National Science Foundation Graduate Research Fellow.
Jennifer has a PhD in Computer Science and a Masters in Biostatistics; she was a professor at Florida Polytechnic University. She previously worked at RTI International and United Therapeutics as a statistician and computer scientist.
Sean Carrell is a former research mathematician specializing in Algebraic Combinatorics. He completed his PhD and Postdoctoral Fellowship at the University of Waterloo, Canada.
Ortal Arel is a former computer engineering professor. She holds a Ph.D. in Computer Engineering from the University of Tennessee. Her doctoral research work was in the area of applied cryptography.
Jay has a degree in computer science, loves visualizing machine learning concepts, and is the Investment Principal at STV, a $500 million venture capital fund focused on high-technology startups.
I've waited until graduating to write this review. For me the journey has been fun and engaging. As an undergrad student I was surprised to find so many people, from very different walks of life, taking the course alongside me. This in itself is a testament to how great the program actually is. They've managed to cover almost the entire breadth of topics related to deep learning and neural networks. Earlier weeks focus on building up the fundamentals. Coming up to the last few weeks, I was already pretty comfortable with the topics. I especially loved the lessons they've built in collaboration with Ian Goodfellow and Andrew Trask. Initially almost all of the Siraj's content was horribly frustrating and I was tempted to leave them out. Being a total beginner with neural networks, most of the time. I couldn't make heads or tails about what the guy was talking about. But after being halfway through the course, the barrier was lifted. Siraj's video lectures are now one of the most interesting things about this course. As he would say it's dope!! Most of my time apart from the lessons was spent following up on the links, blogs, articles and videos that the course refers in between the lessons. Before taking this course I was admittedly a novice. I had taken a few online courses related to data science and machine learning but I was missing a lot. Taking this course allowed me to write a winning proposal for 2017's Google Summer of Code with CERN. I look forward to increasing my skills further by practising and exploration.
This is probably the most approachable way to get into deep learning I have found thus far. The course covers a lot of interesting subjects, with (usually) good explanatory videos and walkthroughs. These always feel fresh and get you motivated for the subjects you are about to learn. As a bonus, they have gotten a few known names to present individual subjects. As an example, the introduction to GANs is done by none other than the inventor himself, which is a cool bonus. There is a lot of great material here, and while some of it feels a bit rushed or oversimplified at times, they do reference more material for those that want to dive deeper into the learning B). (That being said, you will definitely have to get your hands dirty at times as well.) The main value here is in the projects and introductory notebooks. Here, you'll get a lot of hands on experience writing code, and you will definitely feel like you've come a long way after finishing them all. Best of all, you'll have working code that you can tweak and use for your own projects afterwards, and perhaps a ton of ideas as well. All in all, money well spent, at least in my case.
I couldn't be more happy with my experience. Udacity has changed my life, and I expect more changes as I will pursue another Nanodegree. I must confess this program has been extremely challenging. I have had to overcome certain aspects of myself, fears and insecurities, to be able to finalize this Nanodegree satisfactorily. Thus, in some way, I could say that this experience has helped me to become a better person, making me release a better version of myself. In order to be able to complete it, I have had to change the way I used to study. I have had to question many aspects of myself, and to reengineer on some points of my learning process. After all this process, I can say that my mindset has definitely changed. On the other hand, it wouldn't be for me so easy to start a new career path in AI, or at least, not so quickly. I'm extremely happy because I feel great doing what I'm doing and I know why, and I can feel that this is something that I want to focus on, and people around me are so curious about the changes in me, that I'm sharing with them most of my personal and professional insights. I feel really grateful.
In general I think the course is quite good. The feedback is overall very good. I had no experience with Python prior to starting. If you are familiar with other programming languages then it won't be an issue, especially if you know Matlab or R. The slack channels are helpful. However, there is a lot of inconsistencies in teaching style because there are so many presenters (not saying it is bad). I have found some sections a bit rushed, whilst some others in a lot of detail, and some go over the bare basics before even starting the content to cement the key points. Everyone has a different learning style, I preferred the guided tutorials and lessons that had graphics / diagrams to help grasp content. The assessment for the course is good, you have to apply what you learn in the projects, this is a great way to make sure you understand all the content. One negative is that you need a decent PC if you wanna do the assignments offline, I did have some issues with my AWS account.
I really enjoyed learning new things, especially models I did not know about before this Nano-Degree. The projects are really, really fun, even though they were a direct application of the lectures. I would have loved to learn more about the maths behind CNN, RNN and GANs. Siraj's video were helpful (and fun to watch) to give a first idea of the different techniques. The resources given with each videos are a good way to get deeper knowledge of the topics at hand, especially for RNNs (at first, LSTM and GRU are quite scary). Something that could be improved would be the reinforcement learning sections (very high level, no related project...). The work done in the MLND on reinforcement learning is somehow better. Lastly, Big Up for the reviewers. They always provide enlightening advices and asks challenging questions to improve the results of your project. Well, in short, I had a great time learning !
I lost a LOT of time in the beginning as I had overestimated the amount of energy I had after regular work. Then the Winter Holidays trip to EU didn't help with the momentum either. Now I am trying to catch up with the course. I feel I am learning a lot -- about ML but also the various tools like Anaconda, Jupyter, etc. I had never been a Python programmer; instead I've used C, C++, Java, Scala. I am open to Python but don't enjoy its lack of explicit type declaration. That cost me some lost time on the current project. Instead of doing np.dot(x, y), i wrote x.dot(y) -- thinking that the same function would be invoked. Python did not protest; MSE function got argument of a wrong type, but still computed something w/o protesting. Eventually, I figured out that the data types were wrong. Lesson learned!
In this program, you’ll master deep learning fundamentals that will prepare you to launch or advance a career, and additionally pursue further advanced studies in the field of artificial intelligence. You will study cutting-edge topics such as neural, convolutional, recurrent neural, and generative adversarial networks, as well as sentiment analysis model deployment. You will build projects in Keras and NumPy, in addition to TensorFlow PyTorch. You will learn from experts in the field, and gain exclusive insights from working professionals. For anyone interested in building expertise with this transformational technology, this Nanodegree program is an ideal point-of-entry.
This program is designed to build on your skills in deep learning. As such, it doesn't prepare you for a specific job, but expands your skills in the deep learning domain. These skills can be applied to various applications and also qualify you to pursue further studies in the field.
If you are interested in the fields of artificial intelligence and machine learning, this Nanodegree program is the perfect way to get started!
No. This Nanodegree program accepts all applicants regardless of experience and specific background.
Students who are interested in enrolling must have intermediate-level Python programming knowledge, and experience with NumPy and pandas. You will need to be able to communicate fluently and professionally in written and spoken English. Additionally, students must have the necessary math knowledge, including: algebra and some calculus—specifically partial derivatives, and matrix multiplication (linear algebra).
We have a number of Nanodegree programs and free courses that can help you prepare, including:
The Deep Learning Nanodegree program is comprised of content and curriculum to support five (5) projects. We estimate that students can complete the program in four (4) months working 10 hours per week.
Each project will be reviewed by the Udacity reviewer network. Feedback will be provided and if you do not pass the project, you will be asked to resubmit the project until it passes.
Please see the Udacity Program FAQs for policies on enrollment in our programs.
Graduates from this Nanodegree program earn guaranteed admitted status into our more advanced Self-Driving Car Engineer or Flying Car Nanodegree programs, subject to payment by student for the cost of enrollment for those Nanodegree programs.
Virtually any 64-bit operating with at least 8GB of RAM will be suitable. Students should also have Python 3 and Jupyter Notebooks installed. For the more intensive portions of the program that come later, we will be providing students with AWS instances where geographically possible.