Deep learning with Python
Individual course
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.
Course contents
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 regularisation techniques, such as data augmentation and transfer learning, to avoid overfitting.
Learning outcomes
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.
Course material
Background reading:
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.
Completion methods
The grading is based on Python coding assignments.
More information in the Aalto University study guide.
You can get a digital badge after completing this course.
syväoppiminen keinotekoiset neuroverkot neuroverkko gradientti
Responsible teachers
Further information about the studies
Contact person for applications
Programming
Degree student