Back to Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization

4.9

37,928 ratings

•

4,040 reviews

This course will teach you the "magic" of getting deep learning to work well. Rather than the deep learning process being a black box, you will understand what drives performance, and be able to more systematically get good results. You will also learn TensorFlow.
After 3 weeks, you will:
- Understand industry best-practices for building deep learning applications.
- Be able to effectively use the common neural network "tricks", including initialization, L2 and dropout regularization, Batch normalization, gradient checking,
- Be able to implement and apply a variety of optimization algorithms, such as mini-batch gradient descent, Momentum, RMSprop and Adam, and check for their convergence.
- Understand new best-practices for the deep learning era of how to set up train/dev/test sets and analyze bias/variance
- Be able to implement a neural network in TensorFlow.
This is the second course of the Deep Learning Specialization....

Oct 31, 2017

Thank you Andrew!! I know start to use Tensorflow, however, this tool is not well for a research goal. Maybe, pytorch could be considered in the future!! And let us know how to use pytorch in Windows.

Dec 24, 2017

Exceptional Course, the Hyper parameters explanations are excellent every tip and advice provided help me so much to build better models, I also really liked the introduction of Tensor Flow\n\nThanks.

Filter by:

By Ralf S

•Aug 28, 2019

Good course overall. but labs could be expanded. Don't know if the Coursera platform supports it, but labs between lectures about different topics would be nice instead of having all practical exercises at the end.

By Mor k

•Aug 30, 2019

excellent

By Eamonn G

•Sep 04, 2019

Overall good class.

By Prerna D

•Sep 07, 2019

Very good course. All the concepts explained very well. I just feel programming assignments were too easy, they could be a little tougher

By José D

•Sep 07, 2019

This is Course2 of the Deep Learning Specialization. In Course1, we learned how to code the algorithm in Numpy. Most of Course2 show how to optimize and tune the algorithm and how to use and tune the hyper-parameters. Most assignments are well-designed and easy to perform as they focus more on the understanding than "finding how to code it". However, the last assignment introduces TensorFlow where we re-implement the algorithm using TensorFlow concepts. I have to say I expected TensorFlow to simplify things but it turns out I find the Math/Numpy implementation way easier to understand than TensorFlow. I'll have to dig deeper in TensorFlow concepts to understand it better. I would have liked more TensorFlow introduction. I hope the following courses will go into deeper details. Nevertheless, great course and very instructive.

By Hossein M

•Sep 09, 2019

too complicated, many lessens in couple of short videos.

poor video transcript

By Yashika S

•Sep 10, 2019

tough one

By Saurabh D

•Sep 12, 2019

Insights about how machine learning works in real life is quite ingeniuos.

By Roy W

•Sep 13, 2019

Great course on hyperparameter tuning. Some of the code projects used the same variable names repeatedly in different contexts, which, to me, at least, is a bad practice to encourage in students. Also, in the Tensorflow project, some additional numerical calculations would have made it easier to catch issue earlier. But Andrew Ng was amazing, as always - clear and informative.

By Marc D

•Sep 14, 2019

The course really takes the student by the hand through the exercises. The disadvantage is that it is not really necessary to understand what you are doing. Just follow the guidance. But on the whole really satisfactory

By Gopal M

•Sep 14, 2019

TensorFlow is a bit nebulous.I need more practice.

By Khalid A

•Sep 15, 2019

It is definitely very informative, but I wish the lectures would be more in depth in regards to the derivation and proofs.

By Vikash C

•Jan 28, 2019

Content was good.

But the system that checks our submitted our code checks wrongly even when I wrote it correctly.

In week 2 assignment, when I submitted the code, it gave many functions as wrong coded.

I resubmitted the code after few changes, for instance a+= 2 changes to a = a+2 and string text like 'W' changes to "W". It worked fine and gave 100 points.

In short, what I observed is that the code checking system is taking a+=2 and a=a+2 as differently, also 'W' and "W" are considered different, but they are not in actual output.

By Kartheek

•Feb 01, 2019

week 3 topics would have been a bit better

By Amit C

•Feb 01, 2019

I wish the course mentors were more active on this course makes it a bit difficult to clear doubts

By Tan K L

•Jan 26, 2019

I think more should be done regarding the TensorFlow framework with more explanations given to what the functions did

By Morisetty V A S K

•Jan 20, 2019

Interface for evaluating is not great and assignments are easy

By srinivasa a

•Jan 09, 2019

its great foundational course but i feel with frameworks available the math behind it was little boring.Andrew NG is pretty good with explaining it well but sometimes felt it was too trivial

By Long H N

•Feb 13, 2019

N/A

By zhesihuang

•Mar 03, 2019

good

By Till R

•Mar 02, 2019

Exercises are too easy, and lectures are kind of boring. The Jupyter / iPython system does not run smoothly. I ended up downloading everything on my local computer, completing the assignment there, and then pasting the code into the coursera notebook. That makes the assignments take 50% longer than necessary.

By Jorge G V

•Mar 07, 2019

The lessons are good, the programming assignment has mistakes that have apparently been reported over a year ago and have yet to be fixed - there is no excuse for this to be the case.

By Ilkhom

•Mar 21, 2019

awful sound

By Salim S I

•Aug 12, 2018

Would have liked programming assignment in python to understand the various initializations and optimizations. Although tensorflow introduction was good, It felt like being left stranded without a python assignment to cement the things learnt in the class.

By Ashvin L

•Aug 25, 2018

The course builds up on the first course and provides some ideas on how to tune the networks to perform better. However, at the core, I find the number of parameters overwhelming and it appears that by changing the parameters we can get any answer we want. There is no "formal" and mathematical basis for changing the parameters. This is a bit disconcerting.

The assignments were trivial. More importantly, at least one assignment appeared to indicate that the results are entirely dependent on weights chosen (at random) on the first iteration. This should not be the case.