We may earn an affiliate commission when you visit our partners.
Course image
Geena Kim

Deep Learning is the go-to technique for many applications, from natural language processing to biomedical. Deep learning can handle many different types of data such as images, texts, voice/sound, graphs and so on. This course will cover the basics of DL including how to build and train multilayer perceptron, convolutional neural networks (CNNs), recurrent neural networks (RNNs), autoencoders (AE) and generative adversarial networks (GANs). The course includes several hands-on projects, including cancer detection with CNNs, RNNs on disaster tweets, and generating dog images with GANs.

Read more

Deep Learning is the go-to technique for many applications, from natural language processing to biomedical. Deep learning can handle many different types of data such as images, texts, voice/sound, graphs and so on. This course will cover the basics of DL including how to build and train multilayer perceptron, convolutional neural networks (CNNs), recurrent neural networks (RNNs), autoencoders (AE) and generative adversarial networks (GANs). The course includes several hands-on projects, including cancer detection with CNNs, RNNs on disaster tweets, and generating dog images with GANs.

Prior coding or scripting knowledge is required. We will be utilizing Python extensively throughout the course. We recommend taking the two previous courses in the specialization, Introduction to Machine Learning: Supervised Learning and Unsupervised Algorithms in Machine Learning, but they are not required. College-level math skills, including Calculus and Linear Algebra, are needed. Some parts of the class will be relatively math intensive.

This course can be taken for academic credit as part of CU Boulder’s MS in Data Science or MS in Computer Science degrees offered on the Coursera platform. These fully accredited graduate degrees offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals. Learn more:

MS in Data Science: https://www.coursera.org/degrees/master-of-science-data-science-boulder

MS in Computer Science: https://coursera.org/degrees/ms-computer-science-boulder

Course logo image by Ryan Wallace on Unsplash.

Enroll now

What's inside

Syllabus

Deep Learning Introduction, Multilayer Perceptron
We are starting off the course with a busy week. This week's module has two parts. In the first part, after a quick introduction to Deep Learning's exciting applications in self-driving cars, medical imaging, and robotics, we will learn about artificial neurons called perceptrons. Interestingly, neural networks are loosely modeled on the human brain with perceptrons mimicking neurons. After we learn to train a simple perceptron (and become aware of its limitations), we will move on to more complex multilayer perceptrons. The second part of the module introduces the backpropagation algorithm, which trains a neural network through the chain rule. We will finish by learning how deep learning libraries like Tensorflow create computation graphs for gradient computation. This week, you will have two short quizzes, a Jupyter lab programming assignment, and an accompanying Peer Review assignment. This material, notably the backpropagation algorithm, is so foundational to Deep Learning that it is essential to take the time necessary to work through and understand it.
Read more
Training Neural Networks
Last week, we built our Deep Learning foundation, learning about perceptrons and the backprop algorithm. This week, we are learning about optimization methods. We will start with Stochastic Gradient Descent (SGD). SGD has several design parameters that we can tweak, including learning rate, momentum, and decay. Then we will turn our attention to advanced gradient descent methods like learning rate scheduling and Nesterov momentum. Besides vanilla gradient descent, other optimization algorithms include AdaGrad, AdaDelta, RMSprop, and Adam. We will cover general tips to reduce overfitting while training neural networks, including regularization methods like dropout and batch normalization. This week, you will build your DL toolkit, gaining experience with the Python library Keras. Assessments for the week include a quiz and a Jupyter lab notebook with an accompanying Peer Review. This assignment is your last Jupyter lab notebook for the course. For the next three weeks, you will build hands-on experience and complete weekly mini-projects that incorporate Kaggle challenges.
Deep Learning on Images
This module will teach a type of neural network called convolutional neural networks, suitable for image analysis tasks. We will learn about definitions, design parameters, operations, hyperparameter tuning, and applications. There is no Jupyter lab notebook this week. You will have a brief quiz and participate in a clinically relevant Kaggle challenge mini-project. It is critical to evaluate whether cancer has spread to the sentinel lymph node for staging breast cancer. You will build a CNN model to classify whether digital pathology images show that cancer has spread to the lymph nodes. This project utilizes the PCam dataset, which has an approachable size, with the authors noting that "Models can easily be trained on a single GPU in a couple of hours, and achieve competitive scores." As you prepare for the week, look over the rubric and develop a plan for how you will complete it. It will be necessary for a project like this to work on a timeframe that allows you to run experiments. The expectation is not that you will cram the equivalent of a final project into a single week or that you need to have a top leaderboard score to receive a good grade for this project. Hopefully, you will have time to achieve some exciting results to show off in your portfolio.
Deep Learning on Sequential Data
This module will teach you another neural network called recurrent neural networks (RNNs) to handle sequential data. So far, we have covered feed-forward neural networks, including Multi-layer Perceptrons and CNNs. However, in biological systems, information can flow backward and forwards. RNNs do a backward pass closer to biological systems. Using RNNs has excellent benefits, especially for text data, since RNN architectures reduce the number of parameters. We will learn about the vanishing and exploding gradient problems that can arise when working with vanilla RNNs and remedies for those problems, including GRU and LSTM cells. We don't have a quiz this week, but we have a Kaggle challenge mini-project on NLP with Disaster Tweets. The project is a Getting Started competition designed for learners building their machine learning background. The challenge is very doable in a week, but make sure to start early to run experiments and iterate a bit.
Unsupervised Approaches in Deep Learning
This module will focus on neural network models trained via unsupervised Learning. We will cover autoencoders and GAN as examples. We will consider the famous AI researcher Yann LeCun's cake analogy for Reinforcement Learning, Supervised Learning, and Unsupervised Learning. Supervised Deep Learning has had tremendous success, mainly due to the availability of massive datasets like ImageNet. However, it is expensive and challenging to obtain labeled data for areas like biomedical images. There is great motivation to continue developing unsupervised Deep Learning approaches to harness abundant unlabeled data sources. This week is the last week of new course material. There is no quiz or Jupyter notebook lab. Generative adversarial networks (GANs) learn to generate new data with the same statistics as the training set. This week, you will wrap up one final Kaggle mini-project. This time, you will experiment with creating a network to generate images of puppies.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches fundamental deep learning concepts, including network architectures, optimization methods, and evaluation techniques
Provides hands-on experience through Jupyter Lab programming assignments and Kaggle challenge mini-projects
Covers a wide range of applications from natural language processing to biomedical imaging
Prerequisites include prior coding or scripting knowledge and college-level math skills with calculus and linear algebra
Optional academic credit available through CU Boulder's MS in Data Science or MS in Computer Science degree programs
Intermediate to advanced level, suitable for learners with some prior knowledge of machine learning

Save this course

Save Introduction to Deep Learning to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Deep Learning with these activities:
Review Calculus and Linear Algebra Concepts
Strengthen your mathematical foundation by refreshing key concepts in Calculus and Linear Algebra. This activity will ensure you have the necessary background to fully comprehend and apply Deep Learning algorithms.
Browse courses on Calculus
Show steps
  • Review your textbooks
  • Watch online tutorials
  • Solve practice problems
Review Ian Goodfellow's 'Deep Learning'
Strengthen your foundational knowledge by reviewing Ian Goodfellow's comprehensive text on Deep Learning. This book provides in-depth coverage of the field and will help you master key concepts and algorithms.
View Deep Learning on Amazon
Show steps
  • Read selected chapters
  • Take notes and summarize key concepts
  • Discuss the book with peers or experts
Organize Your Course Materials
Improve your study efficiency by organizing your course materials effectively. This activity will help you access information quickly, review key concepts, and prepare for assessments efficiently.
Show steps
  • Gather and categorize your notes
  • Create a system for organizing your files
  • Use digital tools or apps to streamline your organization
Six other activities
Expand to see all activities and additional details
Show all nine activities
Engage in Peer Discussion and Study Groups
Enhance your learning through peer collaboration. This activity will foster a supportive and engaging atmosphere for exchanging ideas, clarifying concepts, and reinforcing your understanding.
Show steps
  • Join or create a study group
  • Set regular meeting times
  • Engage in meaningful discussions and study sessions
Implement Deep Learning Algorithms from Scratch
Solidify your understanding by implementing Deep Learning algorithms from scratch. This activity will help you grasp the inner workings of these algorithms and develop a deeper appreciation for their design.
Show steps
  • Choose an algorithm to implement
  • Design and write the code
  • Test and debug your implementation
Explore Tensorflow or Keras Tutorials
Enhance your understanding of Deep Learning tools and techniques by exploring hands-on tutorials. This activity will provide practical experience and reinforce your learning.
Browse courses on TensorFlow
Show steps
  • Identify a specific aspect of Deep Learning you want to explore
  • Select a relevant tutorial
  • Follow the tutorial step-by-step
  • Experiment with the code and apply it to your own projects
Create a Visual Explainer
Deepen your understanding of Deep Learning concepts by creating a visual explainer. This activity will help you visually represent and communicate complex ideas in an engaging and memorable way.
Browse courses on Deep Learning
Show steps
  • Choose a specific Deep Learning concept to explain
  • Research and gather relevant information
  • Design a visual representation
  • Compose a concise and clear explanation
Initiate a Side Project in Deep Learning
Solidify your skills by starting a side project in Deep Learning. This activity will encourage you to explore your interests, work on practical applications, and expand your knowledge beyond the scope of the course.
Show steps
  • Brainstorm and choose a project idea
  • Gather resources and plan your approach
  • Implement your project
  • Document your work and present your findings
Develop a Deep Learning Solution for a Real-World Problem
Apply your Deep Learning skills to a practical scenario. This activity will challenge you to solve a real-world problem and demonstrate your ability to design, implement, and evaluate Deep Learning solutions.
Show steps
  • Identify a specific problem
  • Gather and preprocess data
  • Design and train a Deep Learning model
  • Evaluate the performance of your model

Career center

Learners who complete Introduction to Deep Learning will develop knowledge and skills that may be useful to these careers:
Data Scientist
Deep Learning is an increasingly important tool for Data Scientists, who use it for a variety of tasks, including image recognition, natural language processing, and speech recognition. This course will provide you with a strong foundation in the fundamentals of Deep Learning and prepare you to use this powerful technique in your own work as a Data Scientist. The course includes a particular focus on biomedical applications of deep learning, making it especially relevant for Data Scientists working in the healthcare industry.
Computer Vision Engineer
Computer Vision Engineers are responsible for developing and implementing computer vision systems. Deep Learning is a powerful computer vision technique that is used in a wide variety of applications, such as image recognition, object detection, and video analysis. This course will provide you with the skills you need to develop and implement Deep Learning models for computer vision tasks. The course includes a particular focus on biomedical applications of deep learning, making it especially relevant for Computer Vision Engineers working in the healthcare industry.
Machine Learning Engineer
Machine Learning Engineers are responsible for designing, developing, and deploying machine learning models. Deep Learning is a powerful machine learning technique that is used in a wide variety of applications. This course will provide you with the skills you need to develop and implement Deep Learning models for a variety of tasks. The course includes a particular focus on biomedical applications of deep learning, making it especially relevant for Machine Learning Engineers working in the healthcare industry.
Software Engineer
Deep Learning is a rapidly growing field, and Software Engineers with expertise in Deep Learning are in high demand. This course will provide you with the skills you need to develop and implement Deep Learning solutions for a variety of applications. The course includes hands-on projects that will give you practical experience with Deep Learning libraries such as Tensorflow and Keras.
Research Scientist
Research Scientists conduct research in a variety of fields, including computer science, physics, biology, and medicine. Deep Learning is a powerful machine learning technique that is increasingly being used by Research Scientists to develop new and innovative solutions to complex problems. This course will provide you with the skills you need to develop and implement Deep Learning models for research purposes. The course includes a particular focus on biomedical applications of deep learning, making it especially relevant for Research Scientists working in the healthcare industry.
Natural Language Processing Engineer
Natural Language Processing Engineers are responsible for developing and implementing natural language processing systems. Deep Learning is a powerful natural language processing technique that is used in a wide variety of applications, such as text classification, text summarization, and machine translation. This course will provide you with the skills you need to develop and implement Deep Learning models for natural language processing tasks. The course includes a particular focus on biomedical applications of deep learning, making it especially relevant for Natural Language Processing Engineers working in the healthcare industry.
Healthcare Analyst
Healthcare Analysts use data to help healthcare providers improve the quality and efficiency of care. Deep Learning is a powerful machine learning technique that is increasingly being used by Healthcare Analysts to develop more accurate and sophisticated models. This course will provide you with the skills you need to develop and implement Deep Learning models for healthcare analysis.
Epidemiologist
Epidemiologists study the distribution and determinants of health-related states or events in specified populations. Deep Learning is a powerful machine learning technique that is increasingly being used by Epidemiologists to develop more accurate and sophisticated models. This course will provide you with the skills you need to develop and implement Deep Learning models for epidemiological analysis.
Biostatistician
Biostatisticians use data to analyze and interpret health data. Deep Learning is a powerful machine learning technique that is increasingly being used by Biostatisticians to develop more accurate and sophisticated models. This course will provide you with the skills you need to develop and implement Deep Learning models for biostatistical analysis.
Data Analyst
Data Analysts collect, clean, and analyze data to extract meaningful insights. Deep Learning is a powerful machine learning technique that is increasingly being used by Data Analysts to develop more accurate and sophisticated models. This course will provide you with the skills you need to develop and implement Deep Learning models for data analysis. The course includes a particular focus on biomedical applications of deep learning, making it especially relevant for Data Analysts working in the healthcare industry.
Financial Analyst
Financial Analysts use data to help businesses make better financial decisions. Deep Learning is a powerful machine learning technique that is increasingly being used by Financial Analysts to develop more accurate and sophisticated models. This course will provide you with the skills you need to develop and implement Deep Learning models for financial analysis.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze financial data. Deep Learning is a powerful machine learning technique that is increasingly being used by Quantitative Analysts to develop more accurate and sophisticated models. This course will provide you with the skills you need to develop and implement Deep Learning models for financial data analysis.
Product Manager
Product Managers are responsible for developing and launching new products. Deep Learning is a powerful machine learning technique that is increasingly being used by Product Managers to develop more innovative and successful products. This course will provide you with the skills you need to develop and implement Deep Learning models for product development.
Business Analyst
Business Analysts use data to help businesses make better decisions. Deep Learning is a powerful machine learning technique that is increasingly being used by Business Analysts to develop more accurate and sophisticated models. This course will provide you with the skills you need to develop and implement Deep Learning models for business analysis. The course includes a particular focus on biomedical applications of deep learning, making it especially relevant for Business Analysts working in the healthcare industry.
Marketing Manager
Marketing Managers are responsible for developing and implementing marketing campaigns. Deep Learning is a powerful machine learning technique that is increasingly being used by Marketing Managers to develop more effective and targeted campaigns. This course will provide you with the skills you need to develop and implement Deep Learning models for marketing.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Deep Learning.
Comprehensive guide to deep learning, covering the basics of neural networks, convolutional neural networks, recurrent neural networks, and generative adversarial networks. It valuable resource for anyone who wants to learn more about deep learning.
Provides a theoretical foundation for machine learning, covering topics such as supervised learning, unsupervised learning, and reinforcement learning. It valuable resource for anyone interested in understanding the mathematical foundations of machine learning.
Practical guide to deep learning with Python, covering the basics of neural networks, convolutional neural networks, recurrent neural networks, and generative adversarial networks. It good choice for beginners who want to learn more about deep learning.
Comprehensive guide to machine learning, covering the basics of supervised learning, unsupervised learning, and reinforcement learning. It good choice for beginners who want to learn more about machine learning.
Comprehensive guide to deep learning for natural language processing, covering the basics of neural networks, convolutional neural networks, recurrent neural networks, and generative adversarial networks. It good choice for beginners who want to learn more about deep learning for natural language processing.
Practical guide to machine learning, covering the basics of data preparation, model selection, and evaluation. It good choice for beginners who want to learn more about machine learning.
Provides a probabilistic perspective on machine learning, covering topics such as Bayesian inference, graphical models, and reinforcement learning. It valuable resource for anyone interested in understanding the probabilistic foundations of machine learning.
Provides a comprehensive overview of pattern recognition and machine learning, covering topics such as supervised learning, unsupervised learning, and reinforcement learning. It valuable resource for anyone interested in learning more about pattern recognition and machine learning.
Provides a comprehensive overview of deep learning for computer vision, covering topics such as image classification, object detection, and facial recognition. It valuable resource for anyone interested in learning more about deep learning for computer vision.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Introduction to Deep Learning.
Deep Learning Applications for Computer Vision
Most relevant
Unsupervised Algorithms in Machine Learning
Most relevant
Data Mining Pipeline
Most relevant
Data Mining Methods
Most relevant
Fundamentals of CNNs and RNNs
Most relevant
Dynamic Programming, Greedy Algorithms
Most relevant
When to Regulate? The Digital Divide and Net Neutrality
Most relevant
Applications of Software Architecture for Big Data
Most relevant
Fundamentals of Data Visualization
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser