**Advanced Machine Learning**

## Course Program

Each year, one of the following programs is taught.

- Tutorial class ( Slides)

- Lab exercise: Introduction to proximal splitting algorithms ( Jupyter notebook)

- Introduction to non-smooth optimization
- First-order algorithms (gradient descent, subgradient descent, proximal algorithm)
- Fenchel duality
- Proximal splitting algorithms (forward-backward, Douglas-Rachford, primal-dual, proximal ADMM)

- Lab exercise: Introduction to proximal splitting algorithms ( Jupyter notebook)

- Feature selection with Lasso
- Piecewise constant denoising

- Tutorial class ( Slides)

- Lab exercise: Introduction to adversarial ML ( Jupyter notebook)

- Principle; Specific and universal attacks; Transferability; Defense mechanisms
- Optimization problem
- Applications

- Lab exercise: Introduction to adversarial ML ( Jupyter notebook)

- FGSM attack
- Adversarial retraining