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 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 Narayan S•
Andrew Ng is the simplest, most genuine teacher available online. 3 years ago when I first did his course on ML, I was enthralled just by the way he 'spoke' and 'drew' Maths. However, it was still one of my first MOOCs. I really didn't have much to compare. Moving ahead in time, I did plenty of online courses, saw plenty of instructors and came across a hundred fancy techniques to make us learn. Yet, I could barely find the will to complete things in time. Lately, I thought of trying my hand at core DL and I returned to NG, except this time I was deeply apprehensive and mostly half-hearted.What followed was pure magic. With just a digital pen, a writing pad and plain-old slides, NG explained some of the most intricate nuances of Adv. Maths in minutes. His ways were older than the whole damn digital age but still more effective than all the jabber around. I couldn't get up for hours at a stretch.Nothing, nobody, comes close to him.
by Tim G•
An excellent introduction of the basic building blocks.
In terms of constructive feedback / areas for improvement. I found Python/numpy matrix & vectors still caused a little frustration in the first coursework and whilst I appreciated the extra section on gotchas with vectors / rank 1 arrays and keeping things as columar/row matricies - it might be worth bringing forward the notes on cardinality and matrix multiplication earlier in the series, as I personally missed the transpose being required for the cost function in the logitsical regression coursework of week 1; ending up writing as: # ensure vector dot products - otherwise it seems we need to do a transpose (?!) positive_diff = np.dot(Y, np.log(A)) negative_diff = np.dot(1 - Y, np.log(1 - A)) cumulative_diff = positive_diff + negative_diff cost = -cumulative_diff / m rather than: cost = -(np.dot(Y, np.log(A.T)) + np.dot(1-Y, np.log(1-A.T))) / m
by Nkululeko N•
The first course is very good for beginners, however if one has no background skills on how to program in python like myself, then this course is a bit challenging. Implementing all of what I've learned to the Juypiter Notebook using python 3.0 was a bit tricky but understandable as you learn. I feel happy and motivated to continue and finish the whole specialization course. I have a strong background in integration calculus, but because the last time I had to do calculus was years ago, it was also a bit tricky to understand some of the calculus concepts presented in the course. I think for the first time user, it will be highly advisable coming from my own thoughts that the student learn Calculus mathematics first and as well as the python specialization course before delving into this Deep learning course. I know the lecturer mentioned that it is not necessary to know Calculus maths, but personally I feel like people need it a lot.
by Novin S•
I liked the course very much. The videos and steps to get me to the point that I can really implement the concepts was very much helpful. Although I feel that I need more practice by programming. I think it would have been better if more programming practices provided.
Many of the programming parts that was related to the preparation of the data was provided. Maybe it could be beneficiary to do those parts on our own as well.
The forum is so crowded and hard to find my way around. Maybe something can be done about that as well.
In general I really liked the course, and I think it was the best way to learn the Neural Networks. Now I feel more confident to dive into text books and more mathematics of the NN. I would also like to add that I really loved the "heros" part. Get to know the community, history, and learning about the way that the pioneers and creators of a topic think was very helpful for me.
Thank you and good job
by Maxim S•
Dr Ng is an outstanding teacher. I like that the material was presented gradually and incrementally, without large gaps. I never felt like I was thrown into the deep end and forced to fend for myself, like I did in courses from at least one Coursera competitive. On the few occasions that I ran into problems with the assignments, browsing the forums was really helpful. With so many people in the class, there was always someone else who has run into the same issue I had experienced. Mentors are pretty diligent about responding to questions. I still struggle a bit with the math since it's been 20 years since I've had it in college. Wish I were still able to derive the equations Dr Ng used. It is great that Dr Ng provided derivations as optional lectures. One issue I have is that the choice of layer sizes hasn't been covered. Perhaps, it'll be covered in future courses in the specialization. Thanks.
I have taken a couple of Neural Network classes at university level for my master's. I did learn a lot but this course on Deep Learning introduced me to concepts I had never had the chance to encounter in those classes. I enjoyed taking this class as well working on the assignments. The assignments are excellent even if most of the coding has been done for you. It is up to the student to understand the underlying code and to pick up Python if she/he has not encountered Python before. In this course, it is important to understand the core concepts before progressing to more complex concepts. I found myself frequently getting lost and having to revert to earlier topics to understand later topics.
It was a pleasant experience working with Jupyter notebooks, something I did not have the familiarity with.
Kudos to Andrew and team for making this course an enjoyable and rewarding learning experience.
by Shunjie L•
Have you taken a course and has no idea what the lecturer is talking about ? If yes, I am happy to report that it is not the case with this course.
The materials are easy to follow and the video lectures's pacing is perfect for anyone with no experience with neural networks. They are well designed to help students to understand the basics of Neural networks by keeping materials focused but yet detailed enough.
Also, I have to applaud to Dr A. Ng's lecture delivery. Never once would he make students feel lost or discouraged, and he drop little encouragements along the way. It is like preventive-medicine, in the sense that he anticipated and took measures, to allow students to stay engaged and interested. Kudos !
TLDR: For anyone who has little to no background in Machine Learning and is interested in understanding rather than just knowing the basics with Neural Network, this course is for you.
by Yogesh G•
The prospects of deep learning is exciting in every field from science, engineering, medicine, economics and many more. If you have any interest in Neural networks and Deep learning irrespective of your academic background, then this specialization will be a great opportunity to you for learning and harnessing the power of deep learning in your field.
The best part of the specialization are the programming assignments which are based on building and implementing popular real life applications of deep learning. Even though this may seem tough, you will have to fill only the important snippets of the code(the rest is already there for you), which makes it intuitive and easy. I used python for first time in this course so the course also became way to learn python. Very well designed course structure through out the specialization! It's a great way to introduce yourself to Deep Learning.
by Ben T•
This was really good. Well paced and thought out. Paid attention to explaining the underlying fundamentals of math as well as the required Python programming elements. Important intuitions on how things work were useful for understanding the greater scheme of things. Also enjoyed the weekly "Heroes of Deep Learning" videos.
I completed the inaugural cohort of another online deep learning course and whilst it covered a lot of great material and current research in a short time the pacing was often too fast and as a complete beginner I was a little overwhelmed; feeling like I was always missing key concepts. I also found that Andrew Ng's videos contained less about personality and hype and felt like they were on a more personal level than some kind of mass market video.
I definitely feel like I've learned something useful and I look forward to the other courses in this specialisation.
by Mohammad A Q•
This course was phenomenal!
First I want to thank Professor Ng and the teaching staff as well as the Coursera team for providing such a great quality course.
I had taken the Machine Learning course by professor Ng before which was a great course itself but I had still some issues with backpropagation. (it was a little bit complicated) In this course, on the other hand, the professor explains backpropagation and the math behind it in a lucid, simple way.
Using python as the course's programming language was excellent. It is in my opinion what makes this specialization an absolute winner. The course's assignments and quizzes would make the concepts of the course even more clear.
The interview with heroes of the deep learning section was a great idea, professional people talking about how they got where they are and advising beginners on how to thrive in this path is really helpful.
by Dmitry R•
In the deep learning specialization provided on Coursera, you are taught the theory by professor Andrew Ng, who is the Co-Founder of Coursera and has headed the Google Brain Project and Baidu AI group in the past. Professor Ng teaches in a very relaxed and patient tone and the explanations are clear and well formulated. One of the major upsides I liked is that the notation used is carefully chosen and very clear. Professor Ng makes sure to reference the most important scientific papers that contributed to each idea, which is great if you want to dive a little more into details. To progress in the course, at the end of each major chapter you will have to submit a multiple-choice quiz and one or two programming assignments in python. The programming assignments require you to complete a 3/4 finished code, and the focus is on understanding the concept and not on programming.
by Anders N•
Easy to follow. My previous knowledge of calculus enabled me to verify some of the statements on my own which gave me a deeper understanding of the limitations and opportunities in the neural networks. However the training was designed so that I believe a person with zero calculus experience would learn how to write and run the code and feel they understood a lot more about deep learning.
Its incredibly rewarding to learn a skill that take you over the buzz-word level. This training gave me enough to have an intelligent discussion with industry experts, and even propose changes in algorithms that they had not considered them selves. This is more value than I expected. Granted, I spend quite a lot of time revisiting the material presented and making my own analysis during the course, but it would never have gotten to this level without Andrew Ng. I am totally impressed!
by Фёдор О•
Отличный курс, который позволяет довольно легко начать заниматься машинным обучением. По моему мнению он довольно простой (код в заданиях по программированию во многом написан за вас), но я бы сказал, что это скорее преимущество, так как из-за этого вы можете не распылять свои силы на технические детали и разбираться в алгоритмах. Курс отлично подойдёт для тех, кому нужно быстро в общих чертах понять основы машинного обучения. Спасибо, Andrew Ng
Perfect course, which help quite eazy start learn machine learning. In my opinion this course is pretty eazi (code in programming task largely written for you), but i think, that this is more of an advantage, because you don't waste your energy on technical details and better understand algorithms. This course is extremely well suited for those who need to quickly understand the basics of machine learning. Thank you, Andrew Ng
by Linda R•
This course is excellent! Andrew Ng is a man on a mission. He believes that Deep Learning will change the world, and this sequence of courses is his way of bringing Deep Learning everyone with a little background in programming and machine learning. This first course in the sequence meets the goal of explaining both the theory and implementation of forward and backward propagation with a clarity I had not seen before. As expected by anyone who has seen Ng’s previous course on Machine Learning, Ng’s lectures are well prepared and presented. He has paid special attention to using the appropriate notation, a real challenge in a subject plagued with so many indices. The practice questions give a good review of the lectures, and the programming exercises are very well done. The $49 charge for grading is well worthwhile, even if one is not aiming for a certificate.
by Vladimir G•
Finally Neural Networks & Deep Learning course explained extremely well! I can say this after completing Hinton's one and looking for a lot of articles, books and videos online - nothing is in comparison! I stand up and applaud to Andrew Ng (and people involved) with this course.
Every single detail I wanted to know is explained here in a very clear and simple way with a lot of carefully made examples and practical tasks provided for you to understand all required concepts even better!
After completing this part of Deep Learning specialization i feel confident about fundamentals and core NN/DL concepts and will move further with specialization completion & into AI world!
BONUS suggestion: I used space ambient music all the time on the journey throughout this course. It gave me some Star Wars feeling and made the experience so much more fun and interesting! Try it! :)
by David M•
Good summary of the basics of machine learning with neural networks. This course takes you by the hand and does not rush things. If you are new to the field and/or you are not comfortable with math and programming, it will be an enlightening experience. If you find the algebra and programming parts trivial, you can always fast-forward them and still get a useful (and entertaining) bird's-eye view of how artificial neural networks work.
All the algebra involved is laid out with extreme detail and the programming assignments manage to be very guided while being interesting and engaging.
Andrew's previous course used Matlab/Octave but this time everything is in python, and the assignments are done online in Jupyter notebooks. This is a great improvement both in terms of the course experience and in the skills learned (as today python is much more useful than matlab).
by Atul A•
Excellent course! 👍 I finished the course in under 24 hours. 💪
This course dives right into practical implementations after the initial theory of machine learning and neural networks. Andrew Ng's explanations of core theoretical concepts are both superb and solid. He gives a brief overview of important concepts (such as gradient descent, forward prop, back prop, learning, etc) and then jumps into implementation.
I loved the Jupyter Notebook assignments! They are great in understanding how to implement NN from scratch, going from basic to more advanced.
I did feel that some people might find the math notation a bit heavy or tedious (I did); however, it is important. I would have liked to see perhaps a simpler notation first, then a more complicated one.
Overall, highly recommend this course to anyone looking to get into this exciting journey of Deep Learning!
by rohan g•
I *almost* didn't take this course as the specialization mentioned Tensorflow as designated deep learning framework for all assignments. I was more inclined towards PyTorch. My big mistake. The course has 3 programming assignments and none of them require the use of any framework. You implement everything (gradient descent, cost function, back prop etc) from scratch, using just Python & NumPy. And that's a great thing. Trust me. I would watch weekly videos and when the time came for implementation, I was forced to re-watch them multiple times to fully grok key concepts. All frameworks (Keras, PyTorch, Tensorflow) abstract and hide lots of complexities, and I believe when you are just starting to learn Deep Learning, wrestling with complexities and stitching things by hand is the correct way forward. This *has* to be everybody's first deep learning course.
by Björn K•
It's very clearly laid out and since it's not too long (4 weeks) it feels like you accomplish a lot as you finish each week. The programming assignments are well laid out with a lot of boilerplate already programmed for you. The course also gives you some basics in how a utility library "NumPy" works which is valuable in itself. Personally I don't care about Python, but the knowledge I've gained I can apply in more modern languages like Haskell and F# without any problems.
If I have any criticism it is that it's almost a little too easy to pass the course without completely understanding it. So there's some responsibility on your part to study extra on the side if you want a deeper understanding. But to be honest, I think difficulty level of this course is very reasonable, I don't have any university degree in mathematics or anything and I had no problems.
by Kryštof C•
This learning course helped me to sort my previous knowledge about neural networks (NN). It is very good for beginners and intermediate students of computer science. Students (anyone taking the course) with mid-advanced knowledge of calculus can see the math behind, which can help them understand the topics more deeply. For students without this knowledge - the teacher has explained the NN topics from enough-high perspective, so the architecture is clear, but some calculations might not be 100% clear then. On the other hand for basic fun with NN, it is sufficient. I would recommend this course to everyone who is starting with NN. One more recommendation for the creators of the course: Adding one lecture on feature extraction (just high-level one) might significantly help the students to understand the complexity of the deep/machine learning problematic.
by Jerry H•
I liked the deeper dive (accidental pun) into neural networks, nice follow-up course to the Machine Learning. I particularly like the use of Jupyter Notebook, to build up the code in logical segments. The way the notebook is structured, it helps one get a better understanding of the key concepts, and then write the code to implement. As this is the first time I have coded in Python, the provision of the coding framework allowed one to concentrate on the specific code to execute the function. This saved a lot of time and provided a good way to learn Python (at least for my learning style). Look forward to the next course. Note: I wouldn't mind seeing a small exercise that illustrated the application of neural networks to a non-classification problem. Based on a comment in the lecture, I assume this is possible using the reLU activation function.
by Filipe M•
This is my first time doing an online course, and to be honest, I was skeptical about it. Turns out to have been great, I loved the fact that Professor Andrew Ng explains all the math (calculus and linear algebra) and theory behind neural networks and deep learning. There are plenty of "practitioners" out there that don't know the math, they just use some existing framework, give it some data and parameters and get the result. I'm so glad to have learned all the theory, it felt like getting back to a University course after finishing my masters degree 14 years ago! The programming assignments are also excellent, I love the guiding instructions and the interactivity, where I can try out things and see the results immediately.Thank you so much for this course Professor Andrew! I will now go to the second course of the Deep Learning specialization!
by Ganesh S•
One of the best fundamental courses i've been to. Outstanding material quality from Professor Andrew Ng.
A small suggestion would be - they could consider a pictorial representation of the matrices involved with the dimensions of W, b, etc. when they marry it across respective Layers and Units per layer. It is cool that the professor derives the formula at each step but a small X x Y matrix alongside generally makes it easier to understand.
Lastly - the programming exercises get a little predictable once you understand the flow. All the hard work is done by the folks that have prepared the exercise itself; we are just about keying IN the function names and right parameters sometimes. While I understand that this is best for the wider population, maybe there can be a variant where people are asked to write some of the functions themselves.
by Daniel D•
I feel really torn between giving this course a full five star rating or a 4 star, and the only reason is that the second to last project seemed to report back that L_backward or something like that worked perfectly, and yet when I submitted the notebook, that one came out missing credit.
If that was unintentional, then it would seem to be a flaw, and that's what bothers me. If it was intended that we would be fooled into thinking everything was OK by the results or by what the function returned and if it was intended that we would do more to track down any possible errors, then I would rather give the course all five stars. Not knowing this, I would rather give 4 1/2, but we're not apparently allowed to do that. So my four point score was more to help inform of the problem than to dock the course a point as the course really is superb.
by Jerome M•
I dropped out of college because I thought math was too hard. Eventually landed in analytics due to a weird series of events. Now, I'm taking up deep learning and I have not only learned neural networks, I actually started _loving_ the math behind it all. My favorite part is how Andrew Ng always emphasizes that this is an empirical (read: trial and error) process, and that it's not as sexy nor as scary as most people make it out to be. The course itself is well-paced and the resources are perfect. As a Python dev on the side, there can be better ways to do some things BUT I totally feel that the current style is perfect even for non-programmers (who I think are at the most disadvantage here, since the math as I said before is covered very well). Highly recommended and totally looking forward to the next courses in this specialization!