Neural Networks and Deep Learning

Learn how to build and implement your own deep neural networks in just 7 hours. Taught by an experienced instructor, this is the first course in the Deep Learning Specialization.

Created by: Andrew Ng

Produced in 2017

icon
What you will learn

  • Build a deep neural network that can recognize cats
  • Implement vectorization to neural network models
  • Learn how to use backpropagation and forward propagation
  • Create one-hidden-layer neural networks
  • Understand the difference between parameters and hyperparameters
  • Understand how deep learning works
  • Much, Much more!

icon
Course Description

icon
machine learning Awards Best Advanced Course

If you want to break into cutting-edge AI, this course will help you do so. Deep learning engineers are highly sought after, and mastering deep learning will give you numerous new career opportunities. Deep learning is also a new "superpower" that will let you build AI systems that just weren't possible a few years ago. In this course, you will learn the foundations of deep learning. When you finish this class, you will:- Understand the major technology trends driving Deep Learning- Be able to build, train and apply fully connected deep neural networks - Know how to implement efficient (vectorized) neural networks - Understand the key parameters in a neural network's architecture This course also teaches you how Deep Learning actually works, rather than presenting only a cursory or surface-level description. So after completing it, you will be able to apply deep learning to a your own applications. If you are looking for a job in AI, after this course you will also be able to answer basic interview questions. This is the first course of the Deep Learning Specialization.

icon
Pros

icon
Cons

    • Offered by deeplearning.ai, a well known provider of a world-class AI education.
    • Taught in Python and Jupyter Notebook.
    • Good introduction to how to build and implement neural networks.
    • Easy to understand lectures with a mix of theory and practical application.
    • Useful tips and insights into Deep Learning.
    • Pre-written code in assignments.
    • Repetitive content.

icon
Instructor Details

Andrew Ng

Andrew Ng is Co-founder of Coursera, an and Adjunct Professor of Computer Science at Stanford University. His machine learning course is the MOOC that had led to the founding of Coursera! In 2011, he led the development of Stanford University's main MOOC (Massive Open Online Courses) platform and also taught an online Machine Learning class to over 100,000 students, thus helping launch the MOOC movement and also leading to the founding of Coursera.Ng also works on machine learning, with an emphasis on deep learning. He had founded and led the "Google Brain" project, which developed massive-scale deep learning algorithms. This resulted in the famous "Google cat" result, in which a massive neural network with 1 billion parameters learned from unlabeled YouTube videos to detect cats. Until recently, he led Baidu's ~1300 person AI Group, which developed technologies in deep learning, speech, computer vision, NLP, and other areas.

icon
Reviews

4.8

796 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By vatsal m on 14-Sep-17

I enjoyed the lectures and a few practice quiz. But I don't think the structure of assignments presented here is the correct way to assess learning. The assignments or exercises should be interspersed between lectures and the problems should be more interactive (pushing the student to think). Moreover, the amount of pre-written code was immense and therefore didn't really make me think a lot on my own. This structure of assignment forces the student to focus on matching the expected output instead of really understanding the concept. I am pretty sure most students did not really grasp the concepts at an intellectual level but still passed with decent grades. This is exactly the problem with schools today and I hope that Coursera is working towards rectifying that. How do we create a learning platform that forces the student to intellectually interact with the problems? Many students that come here have picked up bad habits from their previous learning careers. They bring those bad habits here and it's up to Coursera to somehow try and make them unlearn those habits. This course instead allowed the students to happily use their bad habits and finish it feeling accomplished.

By Jonathan C on 20-Aug-17

The course expands on the neural network portion of Andrew Ng's original Machine Learning course, but ported over to Python. Even though it is spread out over 4 weeks, it really doesn't cover any additional material. Instead, Ng repetitively goes over the math and coding with vectors in Python, while stressing how hard the calculus derivation would be. This might all be helpful to you if calculus was not your strong suit, but my guess is that if you have any kind of background in computer science or statistics, the math in this course would be almost elementary. The assignments are done on Python Jupyter notebooks, which has the advantage of a standard environment, but disadvantage in that it hides some abstractions. Specifically, you lose the sense of what the actual code would look like in a Python IDE. Sure, you can download the notebooks as .py files. Much of the code is pre-written, and you only fill in a few lines of code in each assignment. It would take a lot of self-study on what's actually going on in setting up the programs to actually be able to self-write a neural network. Although Python is without question more popular in machine learning than Octave, it is more popular because of its library support, and in a course that requires you to build your own neural network instead of using libraries (besides numpy), that doesn't matter. I preferred doing the assignments in Octave rather than the notebooks.Since it is impossible to purchase this course on its own, perhaps the bigger question is whether the specialization is worth it. Courses 4 and 5 are not up at the time of this review, but Course 3 is only 2 weeks with 2 quizzes and no programming assignments, and Course 2 is about hyperparameter tuning, arguably the most novel in the 3 courses, but still not something that deserves its own specialization or even its own course. My suggestion is to watch all the lectures for free. And then use your free week to do the programming assignments, which you can probably finish in a day, across all the courses.

By oli c on 2-Dec-18

Lectures a good. The programming assignments are too simple, with most of the code already written for you, so you only have to add in very similar one-line numpy calculations, or calls of previous helper functions. I would learn more if the programming part was harder.

By Mageswaran D on 9-Nov-17

I felt the assignments are more of a fill in the blanks, than using brain. There was not much of a challenge considering my Scala certification

By Mohammad S B H on 28-Apr-19

This is a good course with good explanation but the only problem with this course is that it covers so much information all at once during the entire week and then there is just literally one or two programming assignment at the end. There should be exercise questions after every video to apply those skills taught in theory into programming. I now know general concept of deep learning but I still barely have a clue on how to code those concepts. If I wanted to code all that myself I still wouldn't even know where to start, where to get the data etc etc because the programming assignments were just, now write this, now write that. Also there should be a help button where mentors should be available because we have tons of questions after learning a new concept. We cant just type all questions in the discussions forum and then then wait till someone replies and then that question gets lost among the pile of other questions. Especially in programming assignments when we get stuck and then dont have a clue what to do now. For $50 a month, the teaching structure is really poor. Even khan academy has a much better educational structure. and its all free too. I am a college student with a part time job and I am contributing 70% of my earnings towards this course because my future depends on it.

By Martin P on 11-Aug-18

too easy to pass (the code needed for the assignments is even presented during the lecture)the lectures itself are like "deep learning for dummies", everything is repeated multiple times

By Nicols A G on 5-Dec-18

I'm very dissapointed, all what taught here is also on the Andrew Ng's Machine Learning course. The sole difference is that here python is used and that the exercises are extremely easy, you almost have not to think. And even they give an approx of lines of code you have to write which are no more than 4 and if that threshold is surpassed is because you have to copy & paste same thing with different variables names.

By Md. N H on 30-Jun-18

Very good course to start Deep learning. But you need to have the basic idea first. I would suggest to do the Stanford Andrew Ng Machine Learning course first and then take this specialization courses

By Okundu C O on 21-Oct-17

Andrew Ng's presenting style is excellent. Makes the course easy to follow as it gradually moves from the basics to more advanced topics, building gradually. Very good starter course on deep learning.

By Nikolay B on 26-Oct-17

Course targets very slow learners. Professor repeats same stuff again and again and again, basically for 4 weeks we learn how to calculate the same things (front-back propagations and cost function). Programmings assignments are incredibly easy, all solutions are made by authors, you just write in code what they described in notes. 1-2 lines here and there.

By Xingchi L on 27-Aug-17

This is a very good course for people who want to get started with neural networks. Andrew did a great job explaining the math behind the scenes. Assignments are well-designed too. Highly recommended.

By Johan W on 10-Oct-17

Too slow, a lot of repeating facts, very little contents in total in the course, and nothing new compared to the old machine learning course which was more fun and much faster. Nice environment with python notebooks though!