Federated learning

Schedule:
Teaching time:
Location:
Topic:
Form of learning:
Provider:
Level:
Credits:
Fee:
Application period:
Target group and prerequisites
Course description
This course teaches theoretical foundations and efficient algorithms for federated learning (FL) applications.
FL is an umbrella term for training machine learning models in a collaborative fashion from distributed collections of data. These collections can be modelled as a graph whose nodes represent computational units (such as a smartphone). FL techniques are privacy-friendly as they do not require to share raw data between nodes but only model parameter updates. You will learn how to formulate FL applications as a regularised empirical risk minimisation and solve it using distributed implementations of gradient descent.
Course contents
- Multi-task learning
- Complex networks
- Clustering
- Privacy-preserving machine learning
- Large-scale machine learning
- Python (Flask, scikit-learn)
Learning outcomes
After successfully completing this course, the student
- can model networked data and models using concepts from graph theory.
- can formulate FL problems as optimisation problems.
- is familiar with distributed optimisation methods (gradient-descent, primal-dual).
- can implement FL methods in Python.
Course material
We provide a web server for Python programming (JupyterHub). Students only need a computer with a web browser running that is connected to the internet.
Course book: A. Jung, “Machine Learning: The Basics”, Springer, Singapore, 2022.
Completion methods
Independent study, assignments, project-work and peer-grading.
Students can collect points from different activities:
- programming assignments
- theory questions (quizzes)
- student project
- oral exam (via Zoom)