Chenliang Xu

pic

Fall 2023 - CSC 245/445: Deep Learning

Basic Information

Meet Time/Location: T/R 09:40-10:55 in Morey 321

Instructor: Prof. Chenliang Xu
Instructor's Office Hours: Tue 2:00-4:00 pm in Wegmans 3005

TAs and Office Hours:

Information Flow: We will use Blackboard to make announcements, host lecture notes/assignments, and submit/grade student work. The course ID is CSC245.1.FALL2023ASE. We will use Blackboard's Discussion Board for class-related discussion and communication, so that you can get help fast from the teaching team and your fellow classmates. Don't hensitate to email me and the TAs if it is a personal matter. Finally, this course website containing the course schedule serves as a syllabus.

Credit Hours: This is a four-credit-hour course. The credit hours are met by weekly lectures (150 minutes), office hours, homework assignments, and a final course project.


Course Description

Much of the recent advances in machine learning and artificial intelligence have been dominated by neural network approaches broadly described as deep learning. This course provides an overview of the most important deep learning techniques covering both theoretical foundations and practical applications. The applications focus on problems in image understanding and language modeling utilizing state-of-the-art deep learning libraries and tools, which will be introduced in the course.

Course Objective: The course aims to provide students with both an introduction to deep learning and an in-depth look at current research topics in this field. The course is designed as an upper-level elective course for junior and senior students in CS and DCS and an AI breath course for CS graduate students.

Prerequisites: MTH 164 (multidimensional calculus), MTH 165 (linear algebra), and CSC 172 (data structures and algorithms). Programming in Python. Recommended but not required: CSC 242, CSC 246.

CS Instructional Network: The course programming assignments require you to have an account in the CS instructional network. You should test your code in the CS instructional network before submission as this is the environment we use to grade assignments. Follow this link to request an account if you don't have one.


Schedule

Below is a tentative schedule of the course and is subject to changes over the term.
Part I: Neural Network Basics, Part II: Intermediate Topics, Part III: Advanced Topics.

Dates Tuesday (T) Thursday (R) PI PII PIII
8/29,31 No Class: Before Term Introduction
9/5,7 Machine Learning Basics I Machine Learning Basics II
9/12,14 Feedforward Neural Networks Backpropagation Out
9/19,21 Programming Tutorial Regularization
9/26,28 Optimization Convolutional Neural Networks Teaming
10/3,5 CNN Architectures Explain and Visualization
10/10,12 Recurrent Neural Networks Graph Neural Networks Due Out
10/17,19 Fall Break Attention Mechanisms Proposal
10/24,26 Transformers Applications in CV I
10/31,11/2 PI, PII Review Applications in CV II
11/7,9 Guest Lecture (Prof. Jian Kang) Network Architecture Search Progress
11/14,16 Generative Adversarial Networks Diffusion Models Due
11/21,23 Bias and Fairness Thanksgiving
11/28,30 PIII CSC 245 Presentation 1 PIII CSC 445 Presentation 1
12/5,7 PIII CSC 245 Presentation 2 PIII CSC 445 Presentation 2
12/12,14 Guest Lecture (Prof. Yukang Yan) No Class: Term Finished Report

Course Work and Evaluation

Late Work Policy: Deduct 1% total score of the late assignment per hour passing the deadline. E.g., you submit Project I 12 hours passing the deadline, then the max score you will get is 88% of Project I. We will not accept your submission after 72 hours over the deadline. All assignments should be submitted on Blackboard.

Regrading: Any questions about the grading of a piece of work must be raised within one week of the date that the work was returned. In other words, if you do not pick up your work in a timely fashion, you may forfeit your right to question the grading of your work.

Policy on Incomplete: Incomplete if the student missed Project III or any two of the projects.


Textbook and Other Resources

We will use:

There are tons of online materials and courses for learning deep learning. This Github repository awesome-deep-learning is an excellent place to get started. You may also learn from deep learning library tutorials and manuals. However, technologies come and technologies go, but insights stay. Therefore, it is more important to understand the principles behind, and you can quickly master any libraries later if needed.


Other Policies

Academic Honesty: All assignments and activities associated with this course must be performed in accordance with the University of Rochester's Academic Honesty Policy. More information is available here. You are expected to read, understand, and follow the policy. Additionally:

Posting homework and project solutions to public repositories on sites like GitHub is a violation of the College’s Academic Honesty Policy, Section V.B.2 “Giving Unauthorized Aid.”

Disabilities: Please see me about your required accommodations as early as possible in the term. The University of Rochester respects and welcomes students of all backgrounds and abilities. In the event you encounter any barrier(s) to full participation in this course due to the impact of a disability, please contact the Office of Disability Resources. The access coordinators in the Office of Disability Resources can meet with you to discuss the barriers you are experiencing and explain the eligibility process for establishing academic accommodations. You can reach the Office of Disability Resources at: disability@rochester.edu; (585) 276-5075; Taylor Hall; www.rochester.edu/college/disability.