It's really quite an amazing course where we get to learn the mathematics behind the Neural Networks. It is great to learn such core basics which will help us further in developing our own algorithms.
This course is really great.The lectures are really easy to understand and grasp.The assignment instructions are really helpful and one does not need to know python before hand to complete the course.
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.
By 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!
By 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.
By 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.
By Jeffrey 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.
By 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.
By 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.
By 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 :)
By 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 :)
By 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.
By Liaw S W•
It was a great course, very well organized but after doing the programming assignments, I feel that I might not have fully grasped the concepts in lectures. The descriptions in the assignments were great and helpful, but I feel that the pace of the course was too quick, too easy. I feel that I must be missing out on something. Maybe it's because the teacher has done a very good job in explaining hard to understand concepts to the degree that they seem too easy to understand. Since this is only an introductory course in the series, it is understandable that it is supposed to be easier. Don't get me wrong, this course has very much substantial contents to it! Nonetheless, it was a great foundation course for the specialization! Thank you teacher!
By Noelle M V•
If you took Andrew Ng's original Machine Learning Coursera course in 2012 (as I did), you expect nothing less than an excellent course. Unlike Neural Network or Machine Learning courses at other learning sites, this one is far superior. If you are to ever going to fundamentally understand what is going on inside all those convenient Machine Learning and Neural Network software libraries and frameworks (versus just blindly using them), or perhaps build your own libraries; then you need this course. And, indeed, it is important to understand because not understanding removes all intuition as well as removes knowledge of boundary and limiting cases that you may encounter, which will make things harder for you. I highly recommend this course.
By Keely W•
I'm LOVING these classes!! The instructor, Andrew, is excellent, and the material is presented in a logical progression so that it's not too overwhelming. It definitely helps to have some background in math, namely Calculus and Linear Algebra. The programming assignments can be a bit tough if you don't truly understanding which Linear Algebra methods to use, i.e. dot product multiplication vs element-wise multiplication, but usually the instructions are good. However, I found myself having to look up a lot of Python and Linear Algebra basics online (Stack Overflow is your friend in this case.)
Definitely a challenging set of courses in the Deep Learning Specialization, but very well presented, and extremely interesting (at least to me.)
By Sarvasv A•
THE best intro to deep learning course out there! I would recommend it 10/10. You get to develop neural networks from scratch, using just Numpy... no TensorFlow or sci-kit learn. It might take time to think about the code structure and dimensions of matrices of various parameters, but in the end, it only helps in developing a better understanding of how NNs work beneath the TensorFlow/PyTorch (or any other high-level ML library out there) models in practice. Although the meat of NNs, i.e. calculus, is not really required to complete the course (they provide you with all derivatives required), I'd suggest trying working it all out on paper/iPad/tablet by hand. It's as important as coding itself if you wanna delve further in the field.
By Gary N•
This course allows you to quickly catch up to the fundamentals of building multi-layer NN models, by viewing it as stacks and layers of logistic regression units. You will sail through this course if you already know logistic regression. Even though nowadays most people don't even need to understand how the calculus actually works beyond a basic intuition, the calculus required for back propagation are well explained; detailed yet presented well for people with high school calculus to understand. The exercises are very simple with an objective not to test your ability to write code, but your understanding of how the steps are put together. The answers are practically given to you, you just have to put them together in the right way.
By Akhil C V•
This course is phenomenal. Even as someone who's spent almost a year working as a deep learning engineer, there were still many lectures I found incredibly useful. I believe the matrix dimension lecture will permanently change the way I structure the code for my neural networks in the future. If I had one criticism it'd be that it could perhaps get progressively harder. I love the ultimate task (of a logistic classifier), but as we go from week to week, I think there could have been less hints. Even by the end of the course, I felt like I was being spoon fed through the programming assignments. This is a problem, because I'm less confident than I would have been if I'd figured out the Lmodel forward propagation (for example) myself.
By Ferry v A•
I'd recommend this course to people who are familiar with basic obect terminology used in computer science (ie tuples, arrays) and know how to code in atleast one programming language. Personally, I'm not well versed in maths beyond the high school level and didn't know any python before starting this course. Andrew takes his time to explain how the mathematical notations work however, and if you take notes during his lecture it's often not difficult to find an implementation in python. If any more advanced mathematics from linear algebra or calculus come up it is patiently explained.
The course strikes a good balance between teaching the mathematical details of neural networks and applying them hands on when building a model.
By Branislav N•
This is an amazing course. As someone who is a beginner in neural networks and AI in general, I really enjoyed this course. The main plus of this course is that it offers straightforward hands-on programming exercises in Python with very clear instructions and meaningful sub-exercise. The fact that the course is implemented in Python is a huge plus, even for beginners in Python programming. This course enables you to experiment with your own data, after you have learned how to build a deep neural network. Indeed, I did not expect to build confidence that quickly and have own ideas about deep learning projects, after this course. This was a pleasant surprise and I will definitely continue going through the whole specialization.