Please note! Course description is confirmed for two academic years, which means that in general, e.g. Learning outcomes, assessment methods and key content stays unchanged. However, via course syllabus, it is possible to specify or change the course execution in each realization of the course, such as how the contact sessions are organized, assessment methods weighted or materials used.

LEARNING OUTCOMES

Intended as follow-up for CS-EJ3211 Machine Learning with Python.

Credits: 2

Schedule: 13.09.2021 - 17.12.2021

Teacher in charge (valid for whole curriculum period):

Teacher in charge (applies in this implementation): Alex Jung, Shamsiiat Abdurakhmanova

Contact information for the course (applies in this implementation):

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.

CEFR level (valid for whole curriculum period):

Language of instruction and studies (applies in this implementation):

Teaching language: English. Languages of study attainment: English

CONTENT, ASSESSMENT AND WORKLOAD

Content
  • valid for whole curriculum period:

    In this course, you will learn how to use state-of-the-art deep learning methods with the programming language Python.
    We will discuss key concepts of deep learning, such as artificial neural networks, data augmentation and transfer learning in a hands-on fashion. The grading is based on coding assignments and student projects.

  • applies in this implementation

    Round 0. Getting Started with Machine Learning and Python Notebooks. 

    Round 1. Artificial Neural Networks.

    Round 2. Gradient-Based Learning.

    Round 3. Convolutional Neural Networks.

    Round 4. Regularization.

    Round 5. Natural Language Processing.

Assessment Methods and Criteria
  • applies in this implementation

    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.

DETAILS

Study Material
  • applies in this implementation

    Self-contained Python notebooks which include explanations, coding demonstrations and coding assignments.

Substitutes for Courses
Prerequisites

FURTHER INFORMATION

Further Information
  • valid for whole curriculum period:

    Teaching Period:

    2020-2021 Autumn I-II

    2021-2022 Autumn I-II

    Course Homepage: https://mycourses.aalto.fi/course/search.php?search=CS-EJ3311

    Registration for Courses: In the academic year 2021-2022, registration for courses will take place on Sisu (sisu.aalto.fi) instead of WebOodi.