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 understand all those thing which you have discussed in this course and I also like the way first tell story of concet and assign assignment. Now I fall in love with neural network and deep learning.
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 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.
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.
par 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!
par 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.
par 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.)
par 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.
par 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.
par 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.
par 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.
par Irfan A M•
Learning from Prof. Andrew Ng (Stanford University, founder of Coursera, an eminent researcher in the field of Machine, Deep Learning & AI & founder of so many lead companies in AI) indeed Blessing.
Such a composed course you get a chance to learn the underlying concepts of AI, Machine & Deep Learning, and implement real-world problems to get intuition and exposure. The design of course content and relevant assignments develop your concepts deeper and intuitive.
One of the prominent features of this course was listening to Heroes of Machine, Deep Learning & AI; Prof. Geoffrey Hinton, Prof. Pieter Abbeel & Prof. Ian Goodfellow really give you motivation and intuition about latest happenings and future directions these fields.
par 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.
par Gokula K R•
Well, the concepts were crystal clear. To be honest, I got them theoretically but when i began coding, I could see that I could not connect few pieces here and there as there was the template given and I just had to fill in the blanks with whatever is given at the beginning of the module. I would suggest to let the learners code few functions from scratch, so that we could know what parameters to input, and what to return in the end. Also I think suggesting learners to visit documentations of few important modules like numpy, pandas, matplotlib etc. and instruct the learners to import them by themselves than importing them straight away at the beginning. Hope this would inculcate the developer culture and practice to beginners
par Anton V•
This is a great introductory course to deep learning and neural networks in general. The lectures are brilliant and so are the assignments. Best experience I've had with an online course. This one actually makes you want to complete it. I had some Python experience and a very foggy idea of how neural networks work after watching some youtube videos, however this course gives some really nice foundation for future development in the area. The assignments are easy to follow and give you code to use with things to fill in based on your understanding. This is a good way to get you started, I can now use those ideas to play around with a personal project and learn more. Looking forward to the rest of the courses in the series.