You DON'T need my permission and can do it online by yourself.

We aim to learn optimization methods and implementations for deep learning. Thus if you only would like to use deep learning for applications, this is not a course to take.

We focus on the algorithms, their implementations, and their practical use.

In a way you can think that we position ourselves as those who write optimization implementations in existing deep learning tools.

Clearly, the design of this course is related to my past experiences on applying optimization algorithms on other machine learning methods. For example, we developed the widely used SVM package LIBSVM

Please check the course web page.

The easiest way to find the course page is to search my name. On my homepage there is a section "Courses." It's listed there.

You should have basic understanding of the two areas optimization and deep learning. However, I don't expect you are an expert on these areas.

We assume that you know Python and Matlab/Octave.

It's not clear yet at this moment. Things depend on

- number of students, and
- contents of the project.

You (or your team) must do **every** project
and submit a report.

For presentation, due to time limitation, we may randomly split students so that each gives a presentation once only every several projects. Here is what happened at UCLA in 2019.

- There are five projects. Students did all of them and submitted reports.
- For each of the first three projects, one third of students did presentations
- For the last two projects, students were first splitted to two-person teams. Then for each project, half of the teams did presentations
- The presentation time may vary. It will be announced in the project description.

In the beginning, students all do the same project. But in the final stage we may have several projects for you to choose (as materials become more research oriented).

The main issue is that this course highly depends on students' projects and presentations. In the class we will ask each other about their detailed experimental settings. Thus it's not good to involve others who didn't do projects.

If the presentation is on Monday, you should submit your report before 11:59pm on the previous Thursday.

This setting ensures that I have time to read your reports.

We will use NTU COOL system for your project submission (see URL here. This place is only used for submitting reports/slides). No late submission will be accepted.

**One or two pages (including references)**. Use the latex template
here.
See the resulting pdf. The template
is based on Yinxue Xiao's first project report at UCLA in 2019

Please submit **one pdf file only**. No other files. No sub-directories.

You get zero point.

Right before the class. For example, if we have a presentation session on Monday, then those who will do presentations must submit slides before 10am on that day.

When using outside resources, proper citation is necessary. This includes papers, text books, software libraries, websites, and helps from others.

Discussion is perfectly fine.

Please state what you have done. No fake results and no exaggeration. For doing research, failure is an option

For every project you will get a score. In the end we do a weighted average.

For the project report you must pay attention to the writing and the organization. For a badly written report, no matter how great your results are, you get a low score.

For your preject presentation, clarity of your slides and your talk is very important. Don't put lots of materials in your slides for a short presentation.

Depending on your performance, we decide the distribution of your grades. That is, how many get A+ and how many get F-. Then, we calculate raw scores, obtain a ranking of students, and assign their grades.

So there is no direct relationship between your raw score and your grade. It is possible that your raw score is 99, but you get F-.

Very heavy. This course is expected to take 1/3 or more of your time spent on taking courses

We assume that you will use your own computers (or computers in your lab.)

- We won't consider super large data sets.
- We will mainly use CPU
- We will mainly use open-source packages (e.g., Python, Tensorflow, etc.). We will use MATLAB, but you can get the open-source version Octave.
- You can get an account for using the department's server, in which Tensorflow is available. TAs will send out more details about this.

No, you can use whatever you like. However, from experiences in the past we strongly suggest you to use linux.

Please email me. Any improvements on slides will be useful to students in the future.

Yes, absolutely.

Please contact Chih-Jen Lin for any question.