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.
I think the course explains the underlying concepts well and even if you are already familiar with deep neural networks it's a great complementary course for any pieces you may have missed previously.
par 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.
par 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!
par 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.
par 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 ;)
par Adrien 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.
par 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.
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.
par 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.
par 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.
par 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.
par 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.
par 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!
par 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.
par 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.
par 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.
par 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.
par Christopher C•
Nicely eases someone with modest numerical Python experience into neural nets. Test-driven Jupyter notebooks (with the test data and tests themselves provided) made the programming exercises pretty easy, almost trivial. But that's how it should be--this course was really to introduce the concepts behind deep learning, and enough implementation so that students have an idea of how the tools they'll use work behind the scenes. Most of us will grab Keras-on-TF or something analogous and never mind the details, but this course nicely forces one to internalize at least some of how the sausage gets made. Andrew Ng is also a great lecturer, and his use of the presentation tools were masterful. The interviews with Names to Know were icing on the cake. No regrets!
par Mark M•
This was a great introduction of computing neuronal networks. As I came from the programmers site and my active math experience lies years behind it was a challenge to recap all the math behind the ML algorithms for me. But this is perhaps the major strength of this course to really make ist understandable. Honor for Prof. Ng his didactical concept. Also keeping track about the vectorized representation of the formulas together with careful elaboration of dimensionality following the forward and backward propagation chain helps to make the coding of the NN algorithm easy to handle. Think otherwise I would have wasted my energy in managing all the matrice and vector operations. Never thought that it is so easy to implement your own neuronal network class.
par Aaron H•
Good coverage of the basics of neural networks with hands-on exercises using numpy.
The notation is a little surprising -- most of the time we math people talk about dy/dx as being the derivative of y with respect to x. That is, when I wiggle x a little, what happens to y? The notation in this course assumes that everything is a derivative of the cost function with respect so something else, so the notation only includes the "something else". For example dW is the derivative of the cost function with respect the weights in the matrix W.
If you are not careful, it is easy to lose track of what dZ means.
If you are pretty comfortable with vector calculus, it moves pretty slowly at times. If your calculus is rusty, I think the speed is probably perfect.
par Jeff W•
While I'm good at perl, I wanted to learn python, and as I'm a learn-by-doing kind of person, I thought an ML course in Python would be a good place to start. I was surprised that "Deep Learning" was a bunch of the neural network techniques I'd played with in the past, and was a bit apprehensive about the amount of calculus that would be required.
This class breaks down the ML concepts quite simply, and helps you understand how to actually build and apply logistic regression, and then use that as a building block to deeper neural networks. They also give you an intuitive understanding of the mechanism and underlying math, without requiring endless pages of derivations.
I recommend this course to anyone looking to get a solid overview of ML techniques.
par Shehryar M K K•
This was my first foray into the field of deep learning. Dr. Andrew is an amazing instructor his humble demeanor made learning really enjoyable. I really like where he went into derivatives and did it step-by-step making me understand the math behind the scenes. The programming assignments were super easy only difficulty was my lack of practice with python. If I would have to improve on this course. I would say add articles for further readings with a short quiz after it related to the article. I would also like to take this opportunity to thank the coursera team who accepted my application for financial aid without which I would have never earned this certificate. Thank you for allowing me to learn something new and for making it easy and enjoyable.
par Anantharaman K•
The course enables us to develop a deep neural network without getting too much into mathematics and technicalities. The programming assignment provides us with hands-on experience on development of neural network. There is still a lot to learn. But as advertised the course provides us with a thorough but succinct overview about neural networks. A special thumbs up to the instructor Andrew Ng and his team for creating a understandable course on DL. I can say confidently that I'll be able to develop a neural network for binary classification problem. Disclaimer: the above is my opinion alone and it can vary from learner to learner. This course also requires a basic knowledge of python and its numpy library and high school matrix algebra and calculus.
par Tyler K•
Fantastic as always. I do wish it had a lot more math but I understand the challenge delivering that to a larger audience. My favourite aspect of Andrew Ng's classes is actually the absolute response by the grader system.
I learn very effectively in environments where I receive complete feedback on my problem submissions. Allowing me to correct my understanding of the material and retry. Contrast this with the PGM course where total scores are not returned and there are a limited number of submissions. I felt that my learning was stunted in that environment as there was no opportunity for me to correct my understanding of the material myself and have it re-scored.
Hopefully we'll see more math heavy classes in the future that retain this style :)
par Arpit S•
Finally, I had to sit down at a stretch and finish the course at a go! I think it was completely worth it and I thank coursera team for providing me financial aid to take this course. I am very grateful to have got this opportunity to learn from this excellent course. Will definitely complete all courses within the deep learning specialisation by a little at-a-stretch effort and i am sure it'll give a sweet boost to my understanding. The course material, Professor Andrew's way of explaining and the assignments are all incredible and i really enjoyed the modules for implementing back-prop the from-the-scratch way! Personally, I also feel the best way to take these courses is at a stretch which completely connects the dots for me. Thank you team :)
par Bryan H•
The programming assignments give you the hands-on experience you need to feel comfortable coding your own ANNs from scratch. Andrew's lectures are well-paced, easy to follow, and enjoyable.
Room for improvement:
The Jupyter notebooks, although convenient for the Python programming assignments, are unreliable. I spent 25 % of my time re-writing code because the notebooks wouldn't save, and I had to reload certain assignments multiple times, often at different times throughout the day. If you have made progress and the page doesn't save, then leave the tab open and copy-past your code into a new instance. Nonetheless, I can't fault the Instructors for the lack of fidelity in the intercommunication between Coursera's platform and Jupyter's notebooks.