Fantastic introduction to deep NNs starting from the shallow case of logistic regression and generalizing across multiple layers. The material is very well structured and Dr. Ng is an amazing teacher.
I have learnt a lot of tricks with numpy and I believe I have a better understanding of what a NN does. Now it does not look like a black box anymore. I look forward to see what's in the next courses!
by Aaron L•
This class made a good use of learning but also some tradeoffs of not diving too deep (yet) into some machine learning concepts. I am also taking, and have almost completed the class "Machine Learning", which uses Octave. For me, that class could be a recommended pre-requisite to this one because there was some overlap but the "Machine Learning" class dives deeper into some of the concepts and helped me understand more in this class.
Lastly, Andrew Ng, if you are reading this, you are doing a great job of being the Coursera co-founder and teaching all of these classes. I don't know how you do it. Thank you for all of your and your staff's hard work. Please keep it up. I'm a web developer, and for the coming AI revolution, courses like this should be required learning for people in the software field in my opinion. Thank you.
by Victor D•
Really great crash course into the low-level mechanics of deep learning. While not too math-heavy, presents the visual/mathematical intuitions for what gradient descent is doing and why it is so powerful. Simultaneously demystifies what at first blush can seem like an intractably difficult field to break into. Professor was A+ clear, articulate, and easy to follow. Interviews were hit-or-miss but the "hits" certainly helped get you thinking about the state of the field and the future possibilities. I definitely feel as if I now have the lexicon to intelligently read articles about "deep learning" and "neural networks" and at least know what's going on under the hood. Looking forward to the next course in the series where we advance from more "low level" functionality to more high level implementations like tensorflow & keras.
by Paolo P•
Mr. Ng is great as usual, so it's still 5 stars. However, I was tempted to bump off a star when comparing it to mr. Ng's Machine Learning course. This course is less systematic, and sometimes it feels like it's skipping forward too fast, especially when it goes through all of those backpropagation formulae. Also, it feels like the material is not completely finished: the useful written recaps in between videos are gone, and in-video tests are there up to a certain point, and then disappear. Finally, the English transcript contains so many errors, it's nearly useless.
On a positive note, the Python exercises with Jupyter are even better than the Octave exercises in the Machine Learning course, which were already excellent.
That being said, this is another great course. My advice: take Machine Learning before you take this one.
by KrishnaGopal S•
Dr Andrew Ng has ensured that the learner is on the same page with him on every frame of the video - that's quite a huge commitment from him throughout the course! His sequencing of the learning content in video and programming exercises has been so meticulously planned that the learner always feels at home, as if attending the class in person. He has picked up and explained some of the latest approaches from the very recently published papers. His practical advice on optimization of algorithms, shows that he is not only an academic par excellence but also one of the most insightful deep learning practitioner. Thank you prof, you have given a new direction for me to dedicate myself to and the entire credit goes to you! My best wishes to you and your team in all your pursuits at deeplearning.ai, landing.ai, drive.ai and.
by Felix E•
Great introduction to Neural Networks.
Starts off with explaining the fundamentals and model of Logistic Regression and goes on to expand the model to shallow NN's and deep NN's. Since every step in between was explained in detail, it was easy to follow and left no questions open. If you've done the Machine Learning course before, some of the content will feel a bit repetitive. But that's the good thing about online courses: you can just skip forward if you already know something.
Using Jupyter Notebook for the programming assignments is, in my opinion, a major step up from the Octave/Matlab format, and I've really enjoyed it. The only slight criticism: The exercises felt, at time, almost too easy. Not sure if that's actually a criticism or rather a compliment to how well the content was explained throughout the course...
This course is about the neural network, including a basic understanding of deep learning, logistic regression (no hidden layer), neural network (one hidden layer), deep neural network (several hidden layers).Compared with Machine Learning courses delivered by Andrew NG, this course focus on neural network. So we can get more knowledge and understanding about the neural network.We can understand almost all of the information taught here. For every hard part, Andrew presented a great way to help understand. The coding part is fascinating. It is separated, so everytime we could focus on one part. And we don't need to master python too much. Because I think we were given all of the instructions we need. It is not easy, because we need to understand the algorithms when we deal with the assignments.It is a great course.
by Osama A•
I am in Week 4 at the moment. This course demonstrates the complex concepts underlying deep neural networks in a fabulous way. It starts simple with concepts you should be familiar with if you took the Machine Learning course by Prof. Andrew Ng, then expands on these concepts to explain the more complex concepts of forward and backward propagation in neural networks.
The assignments are exciting. You get to learn how to use Python and Numpy to build neural networks and optimization algorithms from scratch. However, in my personal opinion, the starter code makes it extremely easy to complete the assignment without doing any kind of research or effort, which in turn, minimizes the amount of learning you gain.
All in all, it is a great course, which through simple concepts, explains the complex world of deep learning.
by Andrew J•
I've read advanced books on machine learning (eg.Bishop), but I don't feel comfortable applying for a job with only this knowledge. This class provides what books lack.
I've audited the machine-learning course at Caltech, but Andrew Ng's lectures in this class are much better. The lectures and assignments are carefully crafted and are completely self contained. (Minor exception: Lecture#10, week3 is a little confusing (dZ1 derivation). But this lecture is optional, and it's hard to teach that material to a wide audience without getting derailed.)
I have one suggestion:
There is a bug in the jupyter notebook for the 1st assignment of week 4 which makes it impossible to get 100% on the assignment. To fix this, replace this line "parameters = params.copy()" with "import copy; parameters = copy.deepcopy(params)".
by Aditya C•
This course is second to none. Nevertheless, I feel that too many implementation details are given in the course videos which could have been replaced by strong mathematical analysis of the algorithms. Furthermore, the tests were very easy for an experienced programmer regardless of his/her expertise. This is partially because way too many hints were embedded in the Jupyter notebooks than what is necessary. A more stricter programming exercise, not in terms of the neural-network complexity, but in terms of hiding-hints would have made this course stellar. To recapitulate, while the course is exceptionally crafted, I felt that stating my opinion would leave room for improvement. More concretely, in machine learning jargon, we must not be content with a local maxima thinking that it is a global maxima. Cheers!
by Paul F•
A very well structured introduction to the basic algorithms of multi-layered (deep) neural networks. I have not studied calculus, but the careful way Andrew Ng's videos help develop intuitions about the algorithms and the way he introduces notation made it possible for me to get a lot from the course. I've never programmed in python before and it was illuminating to see why its so popular in data science given the power of its math libraries. I wish I'd had as sympathetic a maths teacher as Andrew Ng when I struggled with it as a callow schoolboy. My background is that of an experimental psychologist and I was relieved to find that in the section "what has this all to do with the brain", that Andrew Ng gave a superb explanation that counters the hype so often found around this kind of AI. Great course.
by Alexandros S•
Excellent course to get started with Neural Nets. Also the first week is kind of an intro - so its basically 3 weeks.
Tip: If you are kind of clueless with Python ( as I am) you may struggle a little bit when it comes to deciding when to use vectorized solutions or not, loops and indices in arrays and all of that stuff. But don't be intimidated, my advice is the following: Go back to the lecture videos and rewatch them until you make sure you understand 200% what the exercises are asking for. Then implementation becomes easier as you at least have only the coding part left to figure out..... and that actually is on the easier side in this course.
Also do some basic wikipedia level reading on matrix multiplication - you'll need that for sure if you dont know linear algebra
have fun you....data scientist ;)
by Ad W•
I bounced back between whether I should give this class 4 or 5 stars. On the one hand, you don't do a lot of coding. Initially, I thought this was odd given that the subject matter is so programming dependent. Most of the assignments are on rails, so to speak, with test cases after each function. I began the course wondering just how applicable the content of the course would be. But what you realize halfway through the course is that this is a highly complex subject and that the point of the course isn't mastery but instead familiarity. Now, having just completed the final assignment, the world of neural networks is completely blown open and it's very exciting. I highly recommend the course. It is like the karate of AI. Just do the kata and by the end you will unlock mystical neural networking powers.
by Jon S•
Andrew Ng is a fantastic educator – he does an excellent job at laying the foundations and setting you up to really understand the big ideas in the course. The programming assignments are also excellent.
My only gripes are that a) there is a little bit too much hand-holding throughout the programming assignments (it would probably be easier to internalize some of this information better if I had to grapple with the programming assignments a bit more), and b) there were a few quiz questions where either the correct answers contained a typo (making them appear like yet another wrong answer) or where the vague wording of a question led me to believe that more than one answer (or both True and False) could reasonably be argued for. Besides those gripes, the course is an amazing introduction to neural nets.
by Mehran Z•
Having the passed the same course back in school, I found this one much easier to understand. I think Andrew NG is a brilliant teacher and thoroughly prepared. I wish my professor would have thought this course like this. Having said all that, I work as a software engineer and OOP is a must for me and I find it hard to follow how the programs were structured in the assignments. At the same time, I understand that this is a ML course and not a software design course. But I wish, at least, the assignment would have tried to develop the code from top to bottom (grand to detail) and not the other way around. In the current implementation, it is impossible to for to see the picture as a whole and I would just settle to implement what is asked of me instead of actually trying to understand what's going on.
by Hassan A•
Amazing course for aspiring practitioner in the sense that it forms a good foundation to build on. However, this is definitely not the course for people who lose their motivation quickly and/or have a small attention span. The way the assignments are designed, one has to practice the predefined functions themselves as well and not just rely on answering the "start code here" part. The chunks of code required to pass the assignments are only the mathematical formulas that Andrew Ng discusses extensively in lectures which are definitely not enough for a good overall intuition for building an effective deep learning model.
Personally, this course has set me on the right track and shown me the correct path to take up deep learning. I will definitely aim to complete all the courses in the series.
I audited a similar course by Andrew Ng a couple of years prior to taking this course for credit. Both times, the course was very enlightening and was apparent that the course master and the mentors spend a lot of time discussing the content, making sure that the content can be (re)implemented, and refining the lectures.
The "heroes" interviews where also interesting. I hope that they can somehow assemble a course on reinforcement learning.
My current experience is that I have read several books and also read published papers on machine learning and worked with tensorflow for a while. Thus, I feel as though this was a wonderfully presented practical guide to building a DNN model that can eventually be tuned with greater flexibility than can some of the machine learning modules available.
by Joseph S•
Andrew does a great job of utilizing the online format to present complex material in a very logical, understandable sequence. Many MOOC classes I've taken will discuss concepts without introducing them properly. This course is very methodical and the concepts build on one another in an easy to follow pattern. I also appreciate building an understanding of the underlying concepts of Neural Networks before jumping into the frameworks like TensorFlow. I think it gives me a better understanding of what is going on behind the magic curtain. Finally, the coding exercises are the perfect blend of enhancing my understanding of the important concepts without getting bogged down in the intricacies of Python coding. It also gives me a good starter set of code for working on my own problems.
by Michael L•
Great course! Although it sometimes seemed that the same material could be passed in more intensive manner. However, I have actually enjoyed the detailed descriptions and the exercises. Overall, I am very satisfied with the theoretical material, with exercises and with teacher who is very inspiring. I think it might be great if in the end of each week you would provide a summing up doc of this particular week. This may help a lot when you split studies: it can help refresh the memories of what you have learned the other day, and also help towards the quiz and the exercise. Additional thanks for the exercises, with all the descriptions, schemes and test cases! I've taken few programming courses earlier, and they are not even close to the studying platform you provide. Thanks a lot.
by Neeraj B•
This course is extremely helpful for beginners as well as people with experience. The course goes through a proper structure where first Andrew explains each concepts in detail in his lecture videos and each video covers 1 specific topic allowing you to process the material. This is extremely important if you're new to deep learning. Then there are practice questions to test your knowledge of the material covered in the lectures. Then you get programming assignments to actually implement what you have learned and not to mention for people with little python and calculus knowledge he even has some videos explaining basic python and derivative concepts related to neural networks and enough for completing the programming assignments. This course has been a wonderful refresher for me.
by Benoit H•
Very good course for beginners in neural network. Every step is well explained and you build your own neural network python’s solver in the exercises. “Vectorization” and “backward propagation” will be demystified and clearly explained.
For people with a good level in math, the pace is certainly too slow and you’ll feel that the math is too easy, so may be another course is more suited. But at least, you’ll see all the details, vocabulary and construction steps of a multi-layer neural network in this course.
You are very guided through the exercises but I think there is no interest in less guidance since the goal is to understand the steps and architecture of a neural network code.
I will certainly follow the next course in the series to get more advanced knowledge in this field.
by Alex T•
A great introduction to deep learning. This course explores topics like binary classification, logistic regression, gradient descent, linear algebra in the context of neural networks, forward and backward propagation, computing cost/loss functions, the function/definition of parameters and hyperparameters in deep learning, coding classifiers in python using shallow and deep neural networks, general industry trends, and what misconceptions about deep learning exist in the media today.
+Python, Jupyter Notebooks, NumPy (and other packages)
I highly recommend this course, and it is do-able even for those without much coding or math experience. Thanks to the the team at deeplearning.ai for developing this course! I am looking forward to the following courses in this specialization!
by Swarnadeepa C•
I am really grateful to the instructor for explaining a difficult topic in a lucid way. Every small detail was clearly explained. The steps of forward propagation and backward propagation is crystal clear to me. Moreover, there is absolutely no confusion about the dimensions of the parameters. The process of vectorization in python has made the whole thought of writing the code very much easier. The quizzes were very attractive to me because the questions were related to every single video. Being a novice in python, I still could solve the programming assignments as they were sequentially instructed. Altogether, the course was extremely beneficial for me. I am looking forward to apply this in my research work. Thank you very much Andrew sir for clearing many of my doubts.
by Pramod H•
A very well compiled course indeed. It has the signature style of teaching of Prof Andrew Ng where he dives into the concepts thoroughly without any compromise and bolster them through the coding exercise following it. The course focuses on the basic building blocks of neural network by taking away some of the burden of basic python syntax which is already pre-built and provided to you. That said such pre-built code is limited so i never felt that something major is left out. The programs are also built using smaller functions as building blocks. Some of the sections especially the week 4 exercise was a little longer and tougher but after spending some time to look at it for the second time helped understand it. Overall i have 5 stars with 2 thumbs up for this course.
by Hasan R•
Neural Networks and Deep Learning was a first ever course which I studied online, and after studying this course, It made my enough interest that want to take other courses as well. The thing which I liked most about this course was that it was beautifully structured. Andrew Ng explained the things in a way that I thought these concepts cannot be better explained. During lectures, Andrew Ng shared his experiences about writing python codes efficiently which helped me to complete the programming assignments in time. Most enjoyable part of this part was doing the programming assignments because every step was explained (what are we going to do and what we will achieve) and expected results were also shown to confirm our results before submitting the assignments.
by Daniel C K•
Great introduction to Deep Learning for those with no experience in the field. Guides you step by step through the exercises. If you've taken Andrew Ng's Machine Learning class, this course is mostly review with a few updates on Deep Learning notation and slightly more advanced vectorization for neural networks. The use of Python is nice, although Python doesn't come with vector manipulation built in like Matlab does. This leads to slightly more cryptic errors, but if you've used Python before, this shouldn't be problematic. In particular, the use of Jupyter notebooks makes for a clean interface, but debugging in the notebooks is more difficult compared to Matlab or Spyder. Overall an easy course to get you working in the Python Deep Learning environment.