The course studies fundamentals of distributed machine learning algorithms and the fundamentals of deep learning. We will cover the basics of machine learning and introduce techniques and systems that enable machine learning algorithms to be efficiently parallelized. The course complements courses in machine learning and distributed systems, with a focus on both the topic of deep learning as well as the intersection between distributed systems and machine learning. The course prepares the students for master projects, and Ph.D. studies in the area of data science and distributed computing.
The main objective of this course is to provide the students with a solid foundation for understanding large-scale machine learning algorithms, in particular, deep learning, and their application areas.
- be able to re-implement a classical machine learning algorithm as a scalable machine learning algorithm
- be able to design and train a layered neural network system
- apply a trained layered neural network system to make useful predictions or classifications in an application area
- be able to elaborate the performance tradeoffs when parallelizing machine learning algorithms as well as the limitations in different network environments
- be able to identify appropriate distributed machine learning algorithms to efficiently solve classification and pattern recognition problems.
- Machine learning algorithms
- Scalable frameworks to parallelize machine learning algorithms
- Distributed machine learning algorithms, e.g., distributed linear regression and distributed logistic regression
- Linear algebra, probability theory and numerical computation
- Deep neural networks
- Regularization and optimization for training deep neural networks
- Sequence modelling
- Applications of deep learning