1
课程详述
COURSE SPECIFICATION
以下课程信息可能根据实际授课需要或在课程检讨之后产生变动。如对课程有任何疑问,请联
系授课教师。
The course information as follows may be subject to change, either during the session because of unforeseen
circumstances, or following review of the course at the end of the session. Queries about the course should be
directed to the course instructor.
1.
课程名称 Course Title
深度学习 Deep Learning
2.
授课院系
Originating Department
计算机科学与工程系 Department of Computer Science and Technology
3.
课程编号
Course Code
CS324
4.
课程学分 Credit Value
3
5.
课程类别
Course Type
专业选修课 Major Elective Courses
6.
授课学期
Semester
春季 Spring
7.
授课语言
Teaching Language
英文 English
8.
他授课教师)
Instructor(s), Affiliation&
Contact
For team teaching, please list
all instructors
ROSSI, Luca,助理教授,计算机科学与工程系,rossil@sustech.edu.cn
ROSSI, Luca, Assistant Professor, Department of Computer Science and Engineering,
rossil@sustech.edu.cn
9.
/
方式
Tutor/TA(s), Contact
10.
选课人数限额(不填)
Maximum Enrolment
Optional
授课方式
Delivery Method
习题/辅导/讨论
Tutorials
实验/实习
Lab/Practical
其它(请具体注明)
OtherPlease specify
总学时
Total
11.
学时数
Credit Hours
32
64
2
12.
先修课程、其它学习要求
Pre-requisites or Other
Academic Requirements
CS303 人工智能 Artificial Intelligence
13.
后续课程、其它学习规划
Courses for which this course
is a pre-requisite
14.
其它要求修读本课程的学系
Cross-listing Dept.
教学大纲及教学日历 SYLLABUS
15.
教学目标 Course Objectives
This course provides an introduction to the field of deep learning, covering the main deep learning techniques from both a
theoretical and practical point of view. Architectures that will be covered include Convolutional Neural Networks (CNNs),
Recurrent Neural Networks (RNNs), Auto-encoders, and Generative Adversarial Networks (GANs). The course will also
focus on the best practices to regularize and train neural networks, with an emphasis on the design of sound
experimental evaluations. Finally, the course will consider how deep learning architectures can be modified to extend
their application beyond the vectorial domain, to that of higher-order structures such as graphs. The main objective of the
course is that of equipping students with the necessary skills to access the rapidly evolving field of deep learning.
Lectures and labs will draw multiple links to both the Industry and state-of-the-art academic research, allowing the
students to pursue a successful career in both directions. The programming language of choice for this course will be
Python and the practical elements will be mainly based on the PyTorch framework, a widely used open source deep
learning framework for Python.
16.
预达学习成果 Learning Outcomes
By the end of the course the students will be able to:
1. Understand the theory behind state-of-the-art deep learning models
2. Choose and design deep neural networks
3. Train and evaluate deep learning networks
4. Apply deep learning architecture to real-world problems using the PyTorch framework
17.
课程内容及教学日历 (如授课语言以英文为主,则课程内容介绍可以用英文;如团队教学或模块教学,教学日历须注明
主讲人)
Course Contents (in Parts/Chapters/Sections/Weeks. Please notify name of instructor for course section(s), if
this is a team teaching or module course.)
3
Week 1: Introduction: course overview; information on lecture & labs schedule; assessments structure and rules; what is
deep learning and why are you here?
[Lab 1] Introduction to PyTorch and assignments overview
===
Week 2: Where it all started: brief recap of linear algebra; tensors; brief history of machine learning and recap of
fundamental concepts; biological neurons; the perceptron.
[Lab 2] Assignment #1 is made available (MLP and back-propagation)
===
Week 3: Going deep: shallow networks and the hidden layer; multi-layer perceptron; gradient descent; back-propagation.
[Lab 3] Working on assignment #1
===
Week 4: Optimization: batch gradient descent; stochastic gradient descent; challenges in optimization; advanced
techniques.
[Lab 4] Working on assignment #1
===
Week 5: Regularization and good practices: input normalization; l1 and l2 regularization; dropout; learning rate; weight
initialization.
[Lab 5] Working on assignment #1
===
Week 6: Convolutional neural networks, part one: what are CNNs and what makes them special; their importance in
computer vision; CNNs modules; how to train a CNN.
[Lab 6]: Assignment #2 is made available (CNNs and RNNs)
===
Week 7: Convolutional neural networks, part two: popular modern CNNs architectures; vanishing gradients; inception
model.
[Lab 7]: Working on assignment #2
===
Week 8: Recurrent neural networks: Hopfield network; sequential data; RNNs; back-propagation through time; exploding
and vanishing gradients; LSTM architectures.
[Lab 8]: Working on assignment #2
===
Week 9: Auto-encoders (Chapter 14): supervised versus unsupervised learning; manifold hypothesis; PCA; kernel PCA;
auto-encoders.
[Lab 9]: Working on assignment #2
===
Week 10: Generative adversarial networks: generative vs discriminative models; generative adversarial networks;
variants of GANs.
[Lab 10]: Assignment #3 is made available (GANs and VAEs)
===
Week 11: Explicit generative models: restricted Boltzmann machines; deep Boltzmann machines; variational inference;
variational auto-encoders
[Lab 11]: Working on assignment #3
===
Week 12: Deep reinforcement learning: what is reinforcement learning; Bellman equation; deep RL; Q-learning; stability
problems; policy-based deep RL; model-based deep RL
4
[Lab 12]: Working on assignment #3
===
Week 13: Beyond vectors: graph-based learning and neural networks, part one: graph-based vs vector-based learning,
advantages and problems; deep learning on graph data; graph CNNs
[Lab 13]: Working on assignment #3
===
Week 14: Flipped classroom activity: critical appraisal of deep learning, reflections and class discussion
[Lab 14]: Revision, Q&A
===
Week 15: Students presentations on selected papers about state-of-the-art architecture. The format of the presentations
will vary depending on the size of the cohort.
[Lab 15]: Students presentations (continue)
===
Week 16: Students presentations (continue)
[Lab 16]: Students presentations (continue)
18.
教材及其它参考资料 Textbook and Supplementary Readings
Textbook:
Goodfellow, Ian, Yoshua Bengio, Aaron Courville, and Yoshua Bengio. Deep learning. Vol. 1. Cambridge: MIT press,
2016.
Other recommended books:
Chollet, Francois. Deep learning with python. Manning Publications Co., 2017.
Nielsen, Michael A. Neural networks and deep learning. Vol. 25. USA: Determination press, 2015.
课程评估 ASSESSMENT
19.
评估形式
Type of
Assessment
评估时间
Time
占考试总成绩百分比
% of final
score
违纪处罚
Penalty
备注
Notes
出勤 Attendance
课堂表现
Class
Performance
小测验
Quiz
课程项目 Projects
平时作业
Assignments
45%
Practical assignments (15% each)
期中考试
Mid-Term Test
期末考试
Final Exam
50%
Unseen exam
期末报告
5%
Presentations on selected advanced
5
Final
Presentation
topics
其它(可根据需
改写以上评估方
式)
Others (The
above may be
modified as
necessary)
20.
记分方式 GRADING SYSTEM
A. 十三级等级制 Letter Grading
B. 二级记分制(通/不通过) Pass/Fail Grading
课程审批 REVIEW AND APPROVAL
21.
本课程设置已经过以下责任人/员会审议通过
This Course has been approved by the following person or committee of authority