Based on 70 Users
Be prepared to spend 20+ hours a week on the homework assignments. I learned a ton from this course. It makes it to where AI/ML is not a black box anymore. You can understand how things are working and how it all comes back to the math.
The lectures are very good. The professor and TAs are very helpful. It is a great course which I would recommend if you are single and have the time.
I don't have anything to say that others haven't already said, Professor Kao is truly one of the best lecturers at UCLA and I would highly recommend this class if you are interested in Neural Networks and Deep Learning. Also, the TAs for this class were amazing, especially Tonmoy Monsoor. Tonmoy is insanely knowledgeable about the topic and his discussions were super useful for the homeworks!
Homework: 40% (5 homeworks)
Final Project: 30%
Extra Credit: 0.5% for filling out class eval, up to 1.5% for participating on piazza (in a useful way), and some extra credit given on the midterm (final question on the exam is optional extra credit)
I would highly recommend this class to any interested in deep learning and machine learning. Professor Kao is a very good lecturer and he does an amazing job explaining concepts. I never truly understood how backpropagation worked until he explained it in class. Anyone interested in research/ML should definitely take this class. You will learn so much.
However, the class is not a cake walk. It's actually fairly easy to get a good grade in this class as long as you put in the effort. There is only one exam around week 8, which won't be bad if you pay attention to lecture (our average for the exam was a 95%). The homeworks are the real killer and can take a very long time. You essentially have to build neural networks from scratch using Python and Numpy.
Overall, this is an amazing class where you can truly learn so much, but at the price of many hours of homework. Professor Kao is probably one of my favorite professors I have ever had at UCLA.
As all the other reviews state, this class is goated. I petitioned for it to count as a BioE major field elective. For all the non EE people thinking about taking this class: you gotta at least be familiar with the pre-reqs for this class or ur gonna get rekt by all the probability and linear algebra.
Kao is great! Learned a lot. HW's can be tough/time consuming, but mosty because numpy doesn't always behave the way you expect. Dealt with influencers trying to disrupt class very professionally. Generally just a happy guy that seems super down to share what he knows.
I first want to mention that I took this class as a UCLA Extension student. I took it because I was bored to death in UCLA Extension's Data Science program and this class didn't disappoint. I would argue this is the best Machine Learning / Deep Learning class I ever took! The class is hard (be prepared to study a lot) but also incredibly rewarding.
This course has a strong focus on understanding the foundations of Deep Learning so that it isn't a black box anymore. It very often touches the mathematical background of Deep Learning so make sure you are familiar enough with calculus and linear algebra before you hop in. You will be working with tensor sized derivatives a lot and assignments are not coding only!
Assignments are hard but manageable. Overall you will be tasked with either mathematically solving for machine learning problems (e.g find optimal parameters for a noisy linear regression) or manually implementing neural networks in an efficient way. It takes time so make sure not to work last minute.
Besides UCLA Extension I'm a french master's student in Data Science (my course credits this year transfer back to France) and the presence of TAs, discussion sessions and a discussion forum was very new to me. I personally went through the course trying to figure out the homeworks on my own with no help. It makes it harder but you can still manage with enough time.
I also want to highlight that Professor Kao does an amazing job at teaching this class. He explains incredibly well, at a good pace, and also answers questions very quickly.
Overall a great course. If you're looking for a rewarding challenge go for it!
Professor Kao really, really cares about learning and is also a great lecturer, one of the best I've had at UCLA by far. I have a little bit of past experience with ML but Kao's slides and lectures made my understanding so much better, and the way the class is structured forces you to engage with the material. The final project is not bad at all and pretty easy to get 100% on if you can put in some time/thought -- even if you do it solo, IMO. The midterm was definitely very scary to me early on, but it's very similar to past midterms and the TAs do their best to help prepare you (I made some silly mistakes and still got an A on it). Finally, you do not need the prereqs to do well in this class as long as you're willing to put in some extra work early on.
Kao is, hands down, the best professor in the ECE department. His lectures are clear and engaging, and manage to break difficult concepts down into understandable chunks. He provides excellent slides, both annotated from class and unannotated originals, which are wonderful for studying. Kao is absolutely a subject matter expert, since the course focuses on research advances that he was a part of. He can answer literally any question on his lecture material. Seriously, this is what a proper college class should feel like.
A probability prerequisite (not necessarily ECE 131A, but any equivalent class) is absolutely required, and you may struggle without it. Much of the second section of the class focuses on poisson processes, and a course in probability is essential. It would also be helpful to have some knowledge of Python beforehand, since the homeworks generally assume it. However, you don't need any knowledge of electrical engineering at all. There's a tiny section on equivalent circuits in the first part of the course, but you don't need any background knowledge to understand it.
This class is a lot of work. Kao isn't kidding when he tells you that in the first lecture. The homeworks took a long time each, even though there are only 6 of them. They're a mixture of written math solutions and Python coding in Jupyter notebooks. The homeworks are pretty well spaced out, so there's plenty of time to complete them, and the TAs provide exceptional help during discussions (seriously, don't skip discussions. The TAs practically solve homework problems sometimes). Kao gives four "late days" across all the homework, which is an exceptionally generous grading policy.
The tests are difficult, but generally the class average is very good (attribute that to Kao's exceptional teaching abilities). He posts plenty of practice tests beforehand, and the TAs host a long review session for each test, so there is plenty of practice material. Both the midterm and the final had a bonus question for extra credit, but the bonus questions are generally harder than the rest of the test.
Despite the workload of the course, I would absolutely recommend it (and for CS majors, you can petition it to count as a CS elective). This course was one of the best courses I've taken at UCLA, primarily because of Professor Kao. It's a genuine pleasure to take his courses. Even if you have little interest in neuroscience or brain-machine interfaces, you will probably still find this course more engaging than most of the other courses offered at UCLA solely because of Professor Kao.
Lectures are clear and slides are provided.
Deep learning results and certain concepts are interesting but theory is lacking.
Homework is pretty boring. It's all just working with matrix dimensions or finding gradients.
Get a good group for the project.
Midterm is difficult.
Professor Kao is the best professor that I have encountered. He has an unrivaled ability to interact with his students, fielding questions and reiterating content while making everybody feel included and listened to. Particularly, he is very good at noticing when he has lost the class and is willing to take his time to backtrack and ensure that the majority of students understand the material, and it is game changing. This class covers some of the most interesting and challenging material in the computer science world and professor Kao makes it all digestible while simultaneously moving at breakneck speed.
I cannot stress enough how uniquely good these lectures are. I have taken four machine learning classes and this one class taught me more than the other three classes combined.
The homework assignments are extremely challenging and very time consuming, especially if you are terrible at linear algebra like I am. However, they are very rewarding and forced me to actually learn the algorithms inside and out. The exam did a great job of testing your mastery of the material, and you are provided with a lot of practice exams and review material. I did not do well, and it was my own fault, and I still got an A in the class.
If you actually want to learn about machine learning, this is by far the best way to do it. I cannot recommend professor Kao or this class strongly enough.