This is very intensive and wonderful course on CNN. No other course in the MOOC world can be compared to this course's capability of simplifying complex concepts and visualizing them to get intuition.
Great course for kickoff into the world of CNN's. Gives a nice overview of existing architectures and certain applications of CNN's as well as giving some solid background in how they work internally.
It was okay. Andrew is obviously very knowledgeable, and there is a wealth of knowledge here. I could go through it a couple more times and still pick up new stuff.
That being said, I've heard him mention he did these videos at like 1 or 2 in the morning after work, and it's very obvious from the videos. He makes so many mistakes that every other lecture (it seems like) has a **CORRECTION** notification next to it. I mean it's great they give this additional correction information, but it would be even better if you just redid the video.
Furthermore, he like stops in the middle of the videos and then repeats the last sentence he said, because he made another mistake. I get it, Andrew is very successful, he's very busy, and I am definitely grateful for the knowledge he's provided in this course. But this makes for a very poor learning experience, because I'm taking notes, and I have to go back and redo them, plus the general angst you get when you're learning something and someone's like "oh wait nope that's not right, forget that." Well for God's sake I already learned it.
Finally, the submission assignments are the most annoying things I have ever come across. They are riddled with errors and misguided information where they literally tell you to use the wrong parameters, and then they never fix it. You have to go into the discussions to find out why your code is wrong, even though you're doing it right.
Then, you'll get everything right on your code for the test cases, and when you go to submit it fails you. And when I say it fails you, it gives you a literally 0 out of like 30 points. And the grader output just says "your submission was incorrect" like no way, I had no idea. Thank you for that very **cough** helpful piece of info.
If you go to the discussions, you find out this is actually a problem with how the grader is built, because if you don't format your code exactly the right way, it fails you, even if your solution is correct. I don't understand why it can be right when you run test cases, but submitting it fails.
Overall, I give it 3 stars before the poor grading, but because of the poor grading performance I have to bring it down to 2. I can't tell you how much time I wasted trying to figure out why my code was wrong just to realize it was right, but they screwed up their implementation.
In conclusion, this reminded me of a college course, where the professor has a ton of knowledge and is in high demand, and doesn't really care whether you get anything out of the course or not. It's sloppy, doesn't seem to be maintained very well, and most of the mentor's responses are literally "did you look at your colleagues similar questions?" Like no I didn't, that's why I'm asking. Why am I paying you so I can spend more time debugging your screw ups? Or maybe I did and I still don't get it because your explanations are ridiculously unclear.
I have one more course in this specialization and I absolutely can't wait for it to get over with so i can move on to more productive (and immersive, since these exercises are just one off "do this then do that" instructions, I still don't know how to set up a Deep Learning project from scratch) ways to learn Deep Learning. If Andrew wasn't so knowledgeable about this topic, I wouldn't even take it because it's that bad. But really you can't get this type of knowledge in such a condensed form anywhere else.
by Juan F R L•
I found it very easy to go through the assignments and the quizzes were great, but I do have 2 complaints: -- I didn't get quiz feedbacks (they seem to be disabled), so, this is a huge let down and I wasn't able to completely grasp the concepts. -- For example the Gram matrix I had to accept it was true when they said "if the filters are quite similar then the dot product will be high". Show this please? #mastery #selfcontained. -- Another example, on the programming assignment, on Neural Style transfer, it is POORLY explained how the framework works when it comes to setting a_G and a_C. Then it is said "this will be covered (explained) in the "model" function, which wasn't. -- I have printed most of the mentioned papers and I am starting to read them, I loved the fact you recommended papers on this lesson, and the rest of the programming assignments were great, especially when you would provide "Hint" to go to the docs and lookup the method, etc.
by Jeff N•
I feel this is by far the weakest of the first 4 courses in the series. The information is really valuable and the homework offers almost no opportunities to actually explore CNN architectures. The homework is more about implementing a few parts of a dictated network where all of the critical information is provided. The only exercises are in more vector manipulation and knowledge of frameworks that are never talked about in the actual course material. I'd love real framework material and real opportunities to practice using them, but the limited exposure here does not cut it.
Basically, I listened to the videos talk about CNNs, answered quiz questions about minor foot notes in the lectures, and then messed with vectors again. Oh, and the video editing was pretty choppy in this course compared to the others. Disappointed.
by Thomas D•
The material covered in the course is very good but the instructors really need to go back over the course materials (particularly the homeworks) and clean them up. Many of the links to the TensorFlow documents are out of date and link to missing information. These aren't necessarily updated in the forums either, which do not seem to have much of a TA presence anymore. It would be nice if the lectures & slides could be updated to incorporate the errata in the syllabus but I understand that could be a lot of work. However, it seems like it would be better to present the errata before the lectures in the syllabus. Admittedly its a small complaint but it seems like an easy fix and the fact that it hasn't been done says something about the amount of care put into maintaining the course.
by Alexandre E•
Course is great, but there were several bug in the homework, including misleading tests.
In one, getting the right value (triplet loss) results in a failing grade, getting the wrong values (using help from the forum) get you to pass the test. In another test, there were corrupted files; one has to add a print statement in a helper function, learn what file is corrupted, rename it, reload the exercise, and voila, it works.
Clearly, graders should survey the forum more closely to address these issues. Hopefully it will be addressed soon, and these comments will become moot.
That aside, the quality of the videos and the insight provided by Andrew Ng are second to none, thanks for the outstanding instruction
by Jacob T•
Felt compelled to review this particular course to voice my dissatisfaction. The course, as it stands right now, is rather poor in quality. The lectures contain several errors that are lazily corrected. Sections of video are incorrectly spliced together that chops up the flow. The programming assignments drop sharply drop in quality from the previous courses; they're pretty close to "type the stuff we tell you to type" at this point. Even at that, there's several errors in those assignments that require digging into the forums because the course instructors seem to lack quality control.
I quite enjoyed this specialization in courses 1-3, but this course has left quite a bad taste in my mouth.
by Robert D•
While the content of the course is thought provoking and up to date, the overall quality is quite low. Videos are of moderate quality with very poor audio editing, and the programming exercises suffer from poor auto-graders. Regarding programming assignments, I spend most of my time trying to get just right combination of function calls despite getting exaclty the right answer in my tests. Typically this comes down to using just right numpy or tensorflow function, despite either one giving the same results. Overall, I wouldn't recommend taking this course for credit but rather simply extracting the relevant lessons and recommended readings.
by Slobodan C•
The lectures are quite interesting, but the course should be at least twice as long to cover the CNNs with enough depth for a practical application. For the assignments, the Grader and the Notebook worked terrible compared to all the courses I took on Coursera so far. There were many discrepancies between the Notebook and the Grader- code matching the expected output in the Notebook would fail in the Grader etc. Starting about two days before the assignment deadlines, loading models into the Notebook would take 30-40 minutes, and crash most of the time, with unreadable error messages. Files got corrupted, sessions ran for hours...
by Juan M•
As with other courses from Andrew, the lectures were great - easy to follow, clear explanations, great insights, lots of practical advice. The main reason for the lower than average rating is related to all the issues with doing the programming assignments. There seemed to be a larger than usual number of errors in the notebooks and one in particular (Week 4) had a problem with the grader that persisted for several weeks (if not still ongoing). In addition, several of the assignments didn't seem to really help in understanding the algorithms for CNN but instead concentrated on the minutae of the frameworks like tensorflow.
by Felix H•
This course presents some important state-of-the-art in convnets and teaches you everything you need to get your feet wet in that area. As always, Andrew is a great teacher. However, the programming assignments are a mess. Sometimes they are trivial, sometimes you feel completely lost. That wouldn't be a problem, if it were not for multiple bugs in the grader. So, after solving the task correctly, you find out that the grader expects an incorrect value and you have to figure out what mistake the developer might have made. Without the forum and very helpful other students, there is almost no chance of completion.
by Stefano A•
Frustrating and annoying pitfalls in the assignements: most of the time you lose time on trivial syntactical issues on python / tensor flow, rather than concentrating on the model itself.
Beside that the Kernel stabiliyt is gettin worse and worse in these courses as the weight of the models increase: the kernel breaks too frequently and you don't have any other way to restart it from the beginning, losing all the modification.
It takes ages to reach the end for trivial issues, not related to the subject of the course
It is impossible to accomplish the grades without digging in the forums
by Andrew W•
Material explained very well, but course material was very poor. To really understand the material one has to basically rewrite all the class notes themselves. Maybe this is a great way to learn, but it can take a lot more time than advertised. The jupyter notebooks are well done, and a great source for future reference. But the main problem is that only the notebooks can be downloaded. All datasets and pictures do not download using the provided coursera instructions. I called coursera, but the problem could not be solved. This was very disappointing and extremely frustrating.
by Peter G•
Assignment for Week 3 is just a load of BS. Complete mess with no structured attempt to explain relations between suggested data-structures and built-in functions that use them. Whole fairly nice course is completely ruined by this one mindless pile of 'fill in random line of code to get the result' approach.
On the top of that - a final cherry on the pie was complete mess with Week 4 assignment on face recognition. Multiple bugs in the assignment code and grading, broken db's for the notebook and complete lack of support from Coursera. A shame. Weak and shame.
by Oliverio J S J•
This course is an interesting review about techniques of image recognition based on neural networks. Unfortunately, it is not possible to achieve a deep understanding of these techniques during the time the course lasts. The practical activities are just filling lines in programs following the provided instructions and, sometimes, it is even possible to do it without understanding the rest of the code. The frequent disconnections between the notebook and the server slowed me down a lot and even made me lose all my work and start from scratch several times.
by Joshua O•
The first couple weeks laid a good foundation for understanding CNNs, but I did not understand the point of diving so deep in to Computer Vision, especially having a lengthy programming assignment devoted to an algorithm as complex and relatively niche as YOLO. There are several different architectures/applications of Deep Neural Nets conspicuously absent from this entire sequence, most notably GANs and AutoEncoders. I felt a good deal of frustration when implementing the programming assignments in the latter half of this course
by Elias F•
Overall it's a very comprehensive course with a broad set of topics which I found insightfull. However, the programming assignments, in particular the Happy House, was done in a rush due to errors in the models and code provided. Part of the assignment couldn't be tested just for the lack of access to the model and evaluated its results after its grading. The forums were also crowded with many threads talking about similar issues. Hope you can improve this section in order to create a more solid course.
by Roberto C•
Very buggy, videos having problems (like repeating phrase), many errors in notebooks so that you spend more time trying to understand why grader doesn't work than on actual exercises...
The explications are either too simple or too sketched, so that you never really understand where difficulties are. The programming exercises are hard on the programming part and too easy on the math part, essentially what it is difficult is using tensorflow and keras with little or no explications.
by Brendan H•
Good course overall, but the week 3 assignment has a bug. There are discussion posts with 19K people saying they can't solve it, and the TA even says he can't fix the bug in the discussion.
I did the whole course, but couldn't finish because this bug in one problem made me fail the whole assignment. Coursera's help center did not care at all. This course is a robbery because you literally cannot pass it with this bug, yet I can't get a refund.
by Darren T•
The "mentors" that are supposed to help answer questions in the forums are essentially useless. They rarely answer questions, and when they do, they often don't provide any useful information and answer a question that is not what the person asked. For one of the assignments, many of the necessary files were missing, making it impossible to complete. That said, Andrew Ng is a great explainer and the course content is generally excellent.
by Clinton R I•
Content was solid, however too much to fit into 4-weeks. Had issues with technical errors on every single assignment. The last two weeks assignments exhibited both grader errors and work-loss errors - for both weeks (last 3 assignments) jupityr notebooks dumped significant amounts of work despite session saves, and submissions ran into 0 values for some assignments, that were later given full credit in later submission attempts.
by Matt W•
i had to fudge most of my submissions to make them fit the broken graders - and that was for those that actually had sufficient explanations in the material, and assuming the material was accurate. some areas are well explained, and its clear what's required, but others take huge leaps of expectation with little guidance, leaving the student to use trial and error to figure out what the expected solution is. that's very poor.
by Xinxing Y•
This lecture is very helpful and informative. One weak point is that there is little information on Tensorflow which makes the assignment unclear. What makes this worse is the assignment can waste you a lot of time (To be honest, my same code get different grades). And I cannot believe the team hasn't fixed any of them for over two years. There are a lot of discussions already. Coursera should really look into this.
by Mehran M•
Started this course with high expectations, coming from the previous 3 courses.Boring assignments, uninteresting topics (such as YOLO and neural style transfer), horrible video edits and Jupyter notebook issues ruined this course for me.The previous 3 courses were excellent, but this course needs more work. I wish there was more depth to the content, similar how the content were presented in the previous 3 courses.
by Stephen D•
The videos need editing. Ng repeats himself in several places as he tries to explain an idea. The programming assignments use too many global variables. The programming assignments real challenge seems to be in reshaping tensors when the reshaping is unnecessary. The wording of the problems in the quizzes needs improvement and clarification.
I liked the content. This course didn't feel polished like the others.
by Daniel L•
Too much focus on YOLO and other very computer-vision specific applications. The general introduction on ConvNets is good, but there are other applications than stuff for self-driving cars. I wish the examples were more diverse. In addition, the Jupyter notebooks used in this course are extremely unstable. You're unable to save your progress, and there will be problems submitting your coursework.