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 have learnt a lot of tricks with numpy and I believe I have a better understanding of what a NN does. Now it does not look like a black box anymore. I look forward to see what's in the next courses!
I am seeing that people are complaining in the top review saying that the course is bad because there isn't stoppages for you to think and all that. Or like the code is relatively simple to write.
What I want to say is that this is how, in general, what you learn in school. And this is the exact style that is being taught in school. The professor isn't going to pause here and there for you, unless you raise your hand to ask questions. In my machine learning class there isn't even quiz to check your understanding. The only thing missing in this course is PROJECT. Which is something that a online course can't provide, and there is no way the tutors can mark all your project.
When you complain about the lab assignments, this is exactly the type of lab assignment that you get in school, just that perhaps in school the variables isn't even given (but that is because tutors are within range and you can ask them any time you want, but this isn't the case for online learning, they have to make this do-able for everyone)
For something that is free, I can't believe that people are complaining about the quality, this is on par with my school's standard, and my school isn't bad at all.
par Randall S•
Dr. Andrew Ng is brilliant and it is so amazing to have access to this type of knowledge for less than I spend on Starbucks in two to three weeks. I am taking some online courses at a big name university (to the tune of $4,000 per course), and for the money, this is a real bargain and just as good if not better!
The thing I liked most about this particular course is that it showed us what's happening under the hood, and not just a course on how to use tools, nor is it all theory. Dr. Ng also introduced us to Geoffrey Hinton, the pioneer of backward propagation which was worth the price of admission alone.
That said, it was not so tough that I couldn't keep up. I would say that having some exposure to calculus would help, but it is not required. Also, you need to be more than just familiar with Python, but if you can spend a few extra hours per week on the course, you can work your way through it with just a familiarity with Python.
It has challenged me to keep going to the next level and complete the specialization -- AI is not rocket science -- at least not at the level of applying this knowledge. Being at Dr. Ng's level might be a different story.
par Anand R•
To set the context, I have a PhD in Computer Engineering from the University of Texas at Austin. I am a working professional (13+ years), but just getting into the field of ML and AI.
I completed Dr. Ng's course on Machine Learning on Coursera first. I recommend that students of this course should first complete that course (or an equivalent one). This course was an excellent review of the basic concepts of Neural Networks. The lectures were well presented and the maths/equations were explained intuitively. The problem solving assignments were in Python (as opposed to Matlab). As before, Dr. Ng walked us through the assignments: hand-holding us through the solution. The quizzes were fairly challenging and helped me reinforce the concepts quite well.
I wish there were a few open problems (Kaggle style) at the end of the course so that the class students could compete with each other. It would be a good addition to the course. I would appreciate more real world examples throughout the course as well.
I look forward to completing the remaining courses! Thank you, Dr. Ng. Thanks you, teaching assistants. Thank you, Coursera. This is truly a wonderful course.
par MD A•
Thorough and simple explanations that help internalize the deep learning concepts. Video lectures are very helpful. Listen more than once to clarify concepts. Very useful jupyter notebook exercises with solutions that provide knowledge reinforcement. Vectorized form of deep learning neural network equations enable development of clutter-free and faster scalable solutions. Before taking the course refresh your knowledge of linear algebra esp. basic matrix operation such as matrix size, transpose, and implementation in Python via numpy such as numpy.dot for matrix multiplication, numpy.multiply for element-wise multiplication. Familiarity of Python key:value dictionary data structure and retrieval of values via keys. This knowledge will build confidence to code the functions and methods for forward propagation, back propagation, and gradient descent to update weights and biases. Also pay some attention to how indices in square brackets are used to identify matrices for inputs, outputs, parameters (weights and biases), activation values/models, various layers of a neural network, and nodes in a particular layer (all explained well in lectures.
par Alexander M•
I've been impossibly busy and first thought this was something i could play in the background while I did other work. Quickly it became apparent that data I had been used to with M.shape = (user/observation/etc, feature) was now the transpose. This took a simple few examples on paper to convince me why this was a superior notation for D/RNN architectures given numpy notation. I also at first thought that the bias should be added to W, X, for greater expressibility of the relationship y = g(WX) and for the backprop updates that require 'estimating' the W.T*g^-1(y) and g^-1(y)*X.T (where y is understood as the general activation after layer l and X is the general output of the previous layer), but now I see why separating the bias is useful -- it estimates the 'scale' of all the data at the output layer at once (estimating the unbalance in the marginal distribution, for example), whereas the other gradients come from estimating the perturbative deformation in the input layer, thus they are slightly different from the perspective of forward backwards distributional learning. Bravo, and thank you!
par Mahesh G•
Thanks for the course. Very neatly explained on the background maths that happens in neural networks. This course will help you understand the step by step what happens within the network. The step by step procedure which is explained by Professor is great and he has repeatedly stressed the important steps to make it clear. Along with the explaining the formulas the assignment helps in implementing the formulas step by step and converting the whole thing to a neural network model, this is a great learning. One of the important thing covered in the beginning of the course is about vectorization, python broadcasting which is the key for neural network.
The pace at which Professor explained the concepts is good and easy to follow and the structure of the course is well laid-out which helps for the beginners.
One thing that could have been better is the assignments, current assignments are definitely helpful for beginners like me, but could have some more assignments which increases the complexity level (may be it is there in subsequent courses).
Overall very good course and helped me
par Krishna k N•
I admire Professor Andrew Ng's patience in helping the students take baby steps by painting a big picture from each small pixel, just as how a neural network is built.
This course has given me great exposure to how neural network, although I realize I need to take a Python course to type code more freely and easily.
I'm going to do that next and then come back to the remaining courses in this specialization.
feedback - it's really hard to visualize some of these matrices and their dimensions used in a large neural network with so many parameters such as nx features, m training examples, n iterations, L layers with (nL, NL-1) weights, (nL,1) biases etc. I understand it's hard to show these matrices by writing as they are very large. I wish someone would develop a more "animative" way of illustrating these matrices that will make the intuition more stronger. for example, calculating forward_activation for all layers and all neurons across these layers by just passing X and parameters is a massive operation and the intuition stumbles purely by the scale of such a matrix operation.
par ANUJ K J•
Things that I learned: 1) Introduction to deep learning 2) Logistic Regression, gradient descent on logistic regression 3) Forward and Backward Propagation 4) Computational graph and how to use the computational graph to calculate the forward and backward prop 5) Shallow Neural Network, and how to work on it end to end 6) Deep Neural Network and it's end-to-end implementation on an application (Classification of cat vs non-cat). Pros: 1) The course is in Python 2) The way Andrew Ng sir teaches is simplistic and memorable as he starts from small concepts and relates the same concept in complex problems too. For example:- He started teaching forward and backward prop using logistic regression then he carried the same in shallow neural net and finally on a deep neural net. Cons: 1) The number of questions in the video is less as compared to the Machine Learning course by Andrew Ng. 2) There could have been more clarification on a few small topics. 3) The video didn't provide any sort of notes or lecture slides. ( Note that I found useful: https://lnkd.in/f3fZGCy )
par Peter D•
As usual, Prof. Andrew Ng knocks it out of the park!!! He would argue otherwise, but he's a natural born teacher whether he admits it or not. This was a challenging course, but I found the objectives to be achievable with a bit of hard work and cool-headed thought. Having taken Prof. Ng's Machine Learning course already, most of the material from the first two weeks of NN4DL was review. Unlike the broader ML course, DL was much more narrowly focused on concepts leading to mastery of deep neural nets. It also ditches the MATLAB/Octave used in ML for a more portable Python environment. I had basically no knowledge of Python when I started, so I guess I learned it in 4 weeks! :D My advice: take ML first, or you may be lost. I had the math and ML background for this stuff to make sense, so Python was the only thing entirely new to me. If you're fuzzy on calculus, or ML, or programming, I don't recommend starting with this course. But if you have a strong background on those things, you'll find this course is well worth your time! Good luck.
par Rob M•
I've taken and finished Udacity's Nanodegree, and while it certainly has a lot of its own strengths, I came here to get another perspective on the math involved, especially in backpropogation and numpy operations. Lo and behold, this class (Andrew in particular, of course) delivered exactly what I was looking for. And because the course was supremely self-paced, instead of feeling rushed to hit an official deadline like Udacity's course, I was able to take the time I needed to watch the videos a couple times each, when necessary, and really drill home the concepts.
Lastly, the projects here at Coursera are extremely well thought out, organized, and testable. I *loved* the use of the numpy seed operation, so when I completed a function and tested it, I felt extremely confident that the inputs, operations, and outputs were exactly what I needed. At this point, I definitely like the approach to projects much better than Udacity's (always felt like more of a guessing game there).
I'm excited to start and finish the next course in the Specialization!
par Michael S E•
Excellent course. Quick introduction to the basics of neural networks. This course has very high overlap with Prof. Ng's course on neural networks at Stanford. This appears to be the updated version on his new DeepLearning.ai platform.
The programming assignments are very user friendly, in that the code is already highly structured with student code just to fill in a few blanks. They also provide built-in test cases. The difficulty level is not high compared to a more open ended problem formulation (let alone a real world task). The assignments do make efficient use of student time in that they focus on the essential aspects of the course material and minimize time spent on extraneous computer programming challenges.
I appreciated the consistent and strategically chosen notation, which makes it easier to translate formulas into code snippets. Ng's notation conventions allow you to make an educated guess at how to vectorize algorithms in numpy simply by capitalizing variable names.
Thank you for sharing your knowledge and expertise with us!
par Manuel G•
This is a great class to get introduced to deep learning concepts and get some hands on experience with the underlying machine learning aspects. The Jupyter notebooks are great in that you are left with something you can use later as a starting point if you want to do your own implementations. The flip side of that is that, in my view, the coding assignments are made too easy and I feel that after all the hints and given the code you are given, the student's contribution is a tad too trivial at that point. Still, this doesn't change my rating because from the perspective of learning about DL concepts, this is not a crucial point. Since the course is still very new, there remain a few bits of consistency in notation and other little details that haven't yet been 100% fixed, but there's a lot of activity in the forums to help you clarify things and give feedback on what is not working.
As usual, Andrew Ng does a great job of motivating and explaining all the concepts. If you enjoyed his ML class, definitely go with this specialization.
par Tony H•
Extremely well-taught and well-structured introduction to neural networks and deep learning. I found the explanations of forward and back propagation to be at a level suitable for getting the algorithms to work without swamping one in detailed calculus, but with enough detail to enable productive further study. There is an introduction to computation graphs that will hopefully lead into Tensorflow in the next courses in this specialisation. Professor Ng is a methodical, very knowledgable and interesting teacher and I really enjoyed all his video lectures. The weekly quizzes are reasonably challenging and the programming exercises very well written and enjoyable. If I have one minor criticism it is that there is perhaps a little too much 'hand-holding' in the programming exercises; I felt that some code was supplied that could have been left for the student to fill in, some very basic Python instructions could also have been left for the student. I am greatly looking forward to the next courses in this specialisation.
par Nicolas G•
The best course in deep learning out there! Python assignments might be a little easy for someone with extensive knowledge of python. I don't think this is necessarily a bad thing, because it makes the student focus more on understanding deep learning rather than spending time writing python-based code (e.g. creating the functions, importing libraries, etc). If you don't have extensive python knowledge, you will be able to do the assignments, but I would recommend to try to understand how the whole code is structured and what each line of code is doing. Also, although Andrew continuously suggests to not worry about the calculus, I think it is helpful (and maybe necessary) to have some basic knowledge of calculus (derivatives) and linear algebra (vectors, matrix multiplication, etc) before doing the course. This will help you have a deeper understanding of the math behind the code and how neural networks work. Overall, Andrew is a great professor and covers all topics in a comprehensive and understandable way!
par Shibhikkiran D•
First of all, I thank Professor Andrew Ng for offering this high quality "Deep Learning" specialization. This specialization helped me overall to gain a solid fundamentals and strong intuition about building blocks of Neural Networks. I'm looking forward to have a next level course on top of this track. Thanks again, Sir!
I strongly recommend this specialization for anyone who wish get their hands dirty and wants to understand what really happens under the hood of Neural networks with some curiosity.
Some of the key factors that differentiate this specialization from other specialization course:
1. Concepts are laid from ground up (i.e you to got to build models using basic numpy/pandas/python and then all the way up using tensorflow and keras etc)
2. Programming Assignments at end of each week on every course.
3. Reference to influential research papers on each topics and guidance provided to study those articles.
4. Motivation talks from few great leaders and scientist from Deep Learning field/community.
par Rajneesh S•
I really enjoyed this course. Andrew really knows this topic very well and his passion shows in his teaching. The course was structured very well and was very easy to follow.
I underestimated the knowledge of math required for deep learning. I was never very good at math and it really has been a while I learned vectors, matrices, calculus etc., but this course gave a nice introduction to the math that is needed. However, for me personally, I still had to go back and learn the basic math concepts. Khan Academy and YouTube videos were very helpful.
I am very good in coding. However this course made me realize that there is not much coding as such for deep learning. Python libraries really makes it easy. You need to understand the mathematics and formulas, and after that, its all about the test data and your hyper parameters.
Unfortunately I have to take a break as I have to travel for business, but I am highly motivated and I will definitely return and complete the other courses for specialization.
par Prof. C H V•
Excellent course with hands-on sessions. It is really difficult to learn neural network and deep learning with only theory part. Practice along with theory makes course very much interesting. In this course, Python is used which is open source and freely available. But it is difficult to execute downloaded iPython notebook as dataset "lr_utils" is not available. However I could execute the code with other dataset but it was difficult initially. There should be separate video lecture about explaining how to solve assignment because initially it was difficult for me to solve the assignment. Grader was giving grade 0 even though code was right then later I found that I was removing some of the lines in comment region and hence I was getting 0 grade even though source code was correct. So special session about submission of assignment should be there. This was my first course on neural network and deep learning and it was great learning experience for me.
par Sebastian J•
Wonderful introduction to deep neural networks and the theory behind them. Programming exerices make for a fun way to try out concepts introduced in this course. Andrew has mastered the delivery of complex concepts and math behind neural networks in a systematic and discrete chunks, which allows for easier absorbsion of the material. One thing in particular that this course really shines at is looking at the computation graph of forward propagation and using it to explain derivatives used in backward propagation. This is one thing I missed in Andrew's Machine Learning course. Another subtle change which I found to have a big impact on the ability to reason about various computations in the choice on how to organize input and parameter matrices used in neural network modeling. I found the choices presented in this course a lot more intuitive than the ones in ML class. Many thanks to Andrew and his assistants for putting together this material.
par 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.
par 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.
par 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
par 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.
par 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.