Class Information
- Instructor: Edgar SIMO-SERRA
- Dates: Apr, 2021〜Jul, 2021
- Lectures: Tuesday, 4th Period (15:05〜16:45)
- Room: online
- E-mail: ess@waseda.jp
Overview
The class slides, materials, and explanations are primarily in English, however, additional explanations will be given in Japanese as needed.
Depending on the evolution of the corona virus, details are subject to change.
This courses focuses on different optimization approaches and their relationship with computer graphics optimization, such as colorization, texture synthesis, or shape manipulation. The course covers both convex and non-linear optimization, including discussion on recent developments such as deep learning. Each lecture will attempt to explain the theoretical foundations of a particular algorithm, and then explain real research examples based on the explained techniques.
The course will be evaluated mainly based on a large project and a final exam. The project will be done in small groups and consist of putting into practice the techniques learned in the class.
The programming assignments and project will be done in python using Jupyter notebooks. While the basics of python will be taught in this class, it is highly recommended that students complement this with self-study using the additional resources.
Objectives
- Learn the theoretical foundations of a large variety of optimization algorithms
- Be able to express real applications as optimization problems
- Ability to solve either exactly or approximately optimization problems
- Knowledge of a diversity of computer graphics optimization applications
Preparation
The following are slides that are meant to refresh basic concepts that are used throughout the lessons. Students are advised to review the following concepts before starting the class.
Class Schedule
- Overview, Introduction, Least-Squares slides CO Chapter 1 NO Chapter 1
- Line Search slides NO Chapter 2+3
- Convex Optimization I: Definitions slides CO Chapter 2+3+4
- Convex Optimization II: Duality slides CO Chapter 5
- Unconstrained Minimization slides CO Chapter 9 NO Chapter 2
- Newton and Quasi-Newton Methods slides NO Chapter 6
- Derivatives slides NO Chapter 8
- Linear Programming: The Simplex Method slides NO Chapter 13
- Linear Programming: Interior-point Methods slides CO Chapter 11 NO Chapter 14
- Review slides
- Metaheuristics slides EM
- Deep Learning I: Data, Models slides
- Deep Learning II: Advanced Techniques slides
- Paper Review slides
- Group Work Presentation slides
Jupyter Notebooks
- CGO 01-1: Introduction to Jupyter
- CGO 02-1: Least Squares Homework
- CGO 02-2: Timing Numpy
- CGO 03-1: Colorization using Optimization Homework
- CGO 05-1: Quadratic Problem in R^2 Homework
- CGO 06-1: Non-Quadratic Problem in R^2
- CGO 07-1: Automatic Differentiation
- CGO 11-1: Meta-heuristics
- CGO 12-1: Pytorch Introduction
- CGO 12-2: Computing Spatial Support Homework
- CGO 12-3: Colorization Homework
- CGO 13-1: Style Transfer
- CGO 13-2: Generative Adversarial Network (GAN) Homework
Textbook
- CO Stephen Boyd, Convex Optimization, Cambridge University Press, 2004. ISBN: 978-0521833783 website PDF
- NO Jorge Nocedal and Stephen Wright, Numerical Optimization (2nd Edition), Springer, 2006. ISBN: 978-0387303031
- EM Sean Luke. Essentials of Metaheuristics. lulu.com, 2013. ISBN: 978-1300549628 website
- Additional Resources
- Aharon Ben-Tal and Arkadi Nemirovski, Lectures on Modern Convex Optimization PDF
- Sébastian Bubeck, Convex Optimization: Algorithms and Complexity PDF
- Jake VanderPlas, A Whirlwind Tour of Python, O’Reilly Media, 2016. ISBN: 978-1492037859 website
- Jake VanderPlas, Python Data Science Handbook, O’Reilly Media, 2016. ISBN: 978-1491912058 website
- Charles R. Severance, Python for Everybody: Exploring Data Using Python 3, Createspace Independent Pub, 2016. ISBN: 978-1530051120 website
- Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola, Dive into Deep Learning, 2019. website