Deep learning with Python
Max amount of FITech students: 1000
This course is intended as a follow-up for CS-EJ3211 Machine Learning with Python.
This course is an introduction to deep learning.
This is an introductory course where you will learn how to train high-dimensional non-linear models, represented by deep artificial neural networks (ANN), using few lines of Python code. Deep learning is an umbrella term for methods using deep nets, i.e., ANNs that consist of several consecutive layers of artificial neurons. The course gives you a brief overview of gradient descent which is the most widely used algorithm for tuning the weights of deep nets. You will learn some powerful tricks that allow tuning billions of ANN weights using only hundreds of training examples. Some of the most successful deep learning methods are enabled by few clever regularization techniques, such as data augmentation and transfer learning, to avoid overfitting.
After successfully completing the course, the student
- understands how ANNs can be used for learning and evaluating high-dimensional non-linear models.
- understands the basic principle of gradient descent.
- is able to build, and train ANNs using the Python package Keras.
- is able to diagnose the learning process by comparing training with validation loss.
- is able to use data augmentation to synthetically enlarge the training set.
- is able to implement transfer learning by fine-tuning a pre-trained deep net.
The grading is based on Python coding assignments.
1. F. Chollet, 2017. “Deep Learning with Python.” New York, NY: Manning
2. A. Géron, 2019. “Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow : Concepts, Tools, and Techniques to Build Intelligent Systems.“ Second edition, O’Reilly Media.
Books 2-4 can be accessed via Aalto University library service.
You can get a digital badge after completing this course.
Further information about the studies
Contact person for applications