Deep Learning

CS230

Stanford School of Engineering

"Artificial intelligence is the new electricity."

- Andrew Ng, Stanford Adjunct Professor 

Deep Learning is one of the most highly sought after skills in AI. We will help you become good at Deep Learning. In this course, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects.

You will learn about Convolutional networks, RNNs, LSTM, Adam, Dropout, BatchNorm, Xavier/He initialization, and more.

You will work on case studies from healthcare, autonomous driving, sign language reading, music generation, and natural language processing. You will master not only the theory, but also see how it is applied in industry. You will practice all these ideas in Python and in TensorFlow, which we will teach.

After this course, you will likely find creative ways to apply it to your work. This class is taught in the flipped-classroom format. You will watch videos and complete in-depth programming assignments and online quizzes at home, then come to class for advanced discussions and work on projects. This class will culminate in an open-ended final project, which the teaching team will help you on.

Topics Include

  • Foundations of neural networks and deep learning
  • Techniques to improve neural networks: regularization and optimizations, hyperparameter tuning and deep learning frameworks (Tensorflow and Keras.)
  • Strategies to organize and successfully build a machine learning project
  • Convolutional Neural Networks, its applications (object classification, object detection, face verification, style transfer …) and related methods
  • Recurrent Neural Networks, its applications (natural language processing, speech recognition, …) and related methods
  • Advanced topics: Generative Adversarial Networks, Deep Reinforcement Learning, Adversarial Attacks
  • Insights from the AI industry, from academia, and advice to pursue a career in AI

What You Need to Succeed

  • A conferred bachelor’s degree with an undergraduate GPA of 3.0 or better
  • Familiarity with programming in Python and Linear Algebra (matrix / vector multiplications)
  • CS229 may be taken concurrently

What You Need To Get Started

Before enrolling in your first graduate course, you must complete an online application.

Don’t wait! While you can only enroll in courses during open enrollment periods, you can complete your online application at any time.

Once you have enrolled in a course, your application will be sent to the department for approval. You will receive an email notifying you of the department's decision after the enrollment period closes. You can also check your application status in your mystanfordconnection account at any time.

Learn more about the graduate application process.

How Much It Will Cost

Learn more about tuition and fees.