深度学习(Deep Learning)

2020秋 主讲教师:欧新宇教授

课程简介及教学内容


本课程课堂讲授(含实验)约96学时(6学分),同时包含28个学时(0.5学分)的实训学时(1周)。主要包括:深度学习的基本概念和基本原理,然后简要介绍了两种基础的深度学习模型前馈神经网络和自动编码机,并重点介绍了卷积神经网络及若干经典卷积神经网络模型,包括AlexNet、VGGNet、GoogLeNet、ResNet等,此外还介绍了循环神经网络RNN,生成对抗模型GAN及强化学习的相关知识。

本课程网站提供《深度学习》(71094326)的所有资源,包括在线教案、课堂PPT、相关论文、习题及其他相关资源。教学过程相关的考勤、作业提交、课堂练习、期末测验将使用课堂派平台,请各位同学使用实名(学号)加入课程。在使用方面有疑问的同学可以参考使用手册—学生版。加入课程请扫描二维码,或注册后使用加课码加入: 课程二维码及课程码。本课程从2020年9月开始执行。


授课时间:星期二(下午5-6节)、星期三(上午1-4节)
教室:秋实苑A306
教学文件: 教学大纲(课程说明) 考核说明 教学进度计划(2020秋)
数据集:本课程用到的所有第三方数据集
腾讯课堂直播(含回放):点击访问

注意:

1. 本课程所有 [Notebook] 均可保存为PDF格式离线浏览,并欢迎进行转发(请保留版权)。

2. 本课程有少量图片来源于互联网,若存在版权问题,请及时与我联系。

Event Type Date Description Course Materials
  • Lecture00
  • Week1-1
  • 《深度学习》课程导学 (2课时)
  • 1. 课程基本信息
  • 2. 课程组织形式
  • 3. 课程考核
  • 4. 学习建议
  • Discussion
  • Lecture01
  • Week1-2
  • Week2
  • 深度学习概述 (10课时)
  • 1. 人工智能的基本概念(1)
  • 2. 人工智能、机器学习与深度学习之间的关系(2)
  • 3. 机器学习(深度学习)发展的时间线(2)
  • 4. 深度学习日益流行的关键因素及其未来潜力(1)
  • 5. 深度学习的基本原理:基于梯度的优化深度(3)
  • 6. 学习常用工具软件(1)
  • Lecture02
  • Week3
  • Week4
  • 前馈神经网络 (18课时)
  • 1. 神经网络的发展历程(1)
  • 2. 感知机(1)
  • 3. 前馈神经网络(1)
  • 4. 神经元、激活函数及网络结构(1)
  • 5. 训练与预测(损失函数、参数学习)(1)
  • 6. 反向传播算法(1)
  • 7. 提升神经网络的训练技巧
    (参数更新方法、数据预处理、参数初始化、正则化)(2)
  • 8. 使用前馈神经网络实现手写字体识别(静态)(4) [Notebook]
  •     使用前馈神经网络实现手写字体识别(动态图)(4)[Notebook]
  • Lecture03
  • (自学)
  • 自动编码机 (0课时)
  • 1. 自动编码机的基本原理
  • 2. 自动编码机的可视化
  • 3. 稀疏编码器
  • 4. 降噪编码器
  • 5. 收缩编码器
  • 6. 栈式自动编码器
  • Lecture04
  • Week4
  • Week5
  • 卷积神经网络 (18课时) [Notebook]
  • 1. 卷积神经网络概述(1)
  • 2. 整体结构(1)
  • 3. 卷积层(conv, padding, stride, dilated, 局部感知, 权重共享)(3)
  • 4. 池化层(max-pooling, average-pooling, global-pooling)(1)
  • 5. 参数学习(1)
  • 6. 迁移学习(Transfer Learning)(1)
  • 7. 我的第一个卷积神经网络 (2)
  •     实践:使用CNN实现MNIST手写字体识别 (2)[Notebook]
  •     实践:车牌识别 (2)[Notebook]
  • Lecture05
  • Week6
  • Week7
  • 经典卷积神经网络——AlexNet (16课时) [Notebook]
  • 1. AlexNet简介
  • 2. Imagenet数据集和ILSVRC竞赛
  • 3. ReLU非线性激活单元
  • 4. 基于多GPU的训练
  • 5. 局部响应正则化
  • 6. 有重叠池化
  • 7. AlexNet的整体框架
  • 8. 降低过拟合的方法:数据增广、Dropout
  • 9. CNN模型的模块化设计方法
  • Lecture06
  • Week8
  • Week9-1
  • 其他经典卷积神经网络 【实训课(28课时)】
  • 一、VGGNet
  • 1. VGGNet框架介绍
  • 2. 小卷积核和小池化核的作用
  • 3. 卷积组
  • 4. 基于多尺度的测试
  • 二、GoogLeNet
  • 1. GoogLeNet简介
  • 2. Inception模块和1×1卷积
  • 3. 卷积分解
  • 4. Incepiton与残差网络的结合
  • 三、ResNet
  • 1. 残差网络的基本结构及原理
  • 2. 常见的残差块
  • 3. ResNet网络模型
  • 四、其他经典卷积神经网络
  • 1. DenseNet
  • 2. MobileNet
  • 3. ShuffleNet
  • Lecture07
  • (自学)
  • 循环神经网络RNN (0课时)
  • 1. 循环神经网络简介
  • 2. 长期依赖LSTM和门控RNN
  • 3. 双向RNN
  • 4. 序列到序列结构Seq2Seq
  • 5. 实践:电影评论情感分析
  • Lecture08
  • Week14-2
  • Week15
  • Week16-1
  • 生成对抗网络GAN (10课时)
  • 1. 深度生成模型
  • 2. 生成对抗模型
  • 3. 风格迁移
  • 4. 实践:生成对抗网络
  • Lecture09
  • (自学)
  • 强化学习 (0课时)
  • 1. 强化学习模型简介
  • 2. 强化学习分类
  • 3. 深度强化学习
  • 4. 深度Q网络
  • 5. 强化学习的应用
  • 6. AlphaGo和AlphaZero
  • Exams
  • Week16-2

实训进度计划表

Event Type Date Description Course Materials
  • 项目一:VGGNet的设计与实现
  • Day01
  • 【实训目的】
  • 1. 进一步理解模块化编程的内涵
  • 2. 学会按照论文和其他资料对VGG模型的描述设计VGGNet
  • 3. 学会将VGGNet写出卷积组(Conv Block)的形式
  • 【实训任务】
  • 1. 完成VGGNet的设计与实现
  • 项目二:ResNet模型的设计与实现
  • Day02
  • 【实训目的】
  • 1. 进一步理解模块化编程的内涵
  • 2. 学会按照论文和其他资料对ResNet模型的描述设计ResNet
  • 3. 学会将ResNet写成残差网络的堆叠形式
  • 【实训任务】
  • 1. 完成ResNet的设计与实现
  • 总项目:使用卷积神经网络完成目标的识别
  • Day03-Day06
  • 【实训目的】
  • 1. 学会完整的基于卷积神经网络模型设计和代码编写
  • 2. 学会选择合适的有用项目进行开始工作
  • 3. 学会团队合作
  • 【实训任务】题目自拟
  • 【任务要求】
  • 1. 完成形式:小组
  • 2. 以小组形式完成实训任务,但以个人为单位完成实训报告,要求注明自己的主要工作。
  • 3. 要求每个小组3-5人,且每个小组至少一名男生,至少一名女生。组队要求强弱搭配,注意合理分配工作。
  • 4. 请工作量最少的同学完成最后的实训答辩。
  • 5. 尽量选择一个具有现实意义的任务,并且能将该任务持续和延申下去,为毕业设计和大学生竞赛做好准备。
  • 6. 数据来源:百度AIStudio、百度搜索引擎、Kaggle、阿里天池等