I have learned a lot from this detailed and well-structured course. Programing assignments were very sophisticatedly designed. It was challenging, fun, and most importantly it delivered what is aimed.
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.
par 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!
par 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.
par 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.
par 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.
par 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.
par 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!
par 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.
par 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.
par 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!
par Fernando L H•
I really liked the course, it was difficult at first, I felt like I was just "translating" the functions to code in the programming exams (I don't have a strong background in math), so I felt like I didn't understand anything, but at the end (around week 3-4) I started to feel like I was really internalizing the concepts. I can't wait to start the next course, I enjoyed it a lot :). Oh and about the grading system, in the multiple choice exams, it was really easy to just put the correct answers when wrong, I felt like I was cheating when I got a 80% and then just re-did the exam and got a 100%. I get that you have to understand the concepts to pass the exams but anyway I think that just changing the order of the options is not enough (maybe I'm being too strict?). Anyway, as I said before, I liked it and learned a lot, thank you! :)
par 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.
par 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.
par 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.
par 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.
par 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.
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 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.
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.
par 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.
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.