深度学习(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. 实践:使用前馈神经网络(MLP)实现手写字体识别(静态)(4) [Notebook]
  •     实践:使用前馈神经网络(MLP)实现手写字体识别(动态图)(4)[Notebook]
  • Lecture03
  • (自学)
  • 自动编码机 (0课时)
  • 1. 自动编码机的基本原理
  • 2. 自动编码机的可视化
  • 3. 稀疏编码器
  • 4. 降噪编码器
  • 5. 收缩编码器
  • 6. 栈式自动编码器
  • Lecture04
  • Week4
  • Week5
  • 卷积神经网络 (18课时)
  • 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]
  •     实践:使用CNN实现车牌识别(4) [Notebook]
  • Lecture05
  • Week6
  • Week7
  • 经典卷积神经网络——AlexNet (8课时)
  • 1. AlexNet简介
  • 2. Imagenet数据集和ILSVRC竞赛
  • 3. ReLU非线性激活单元
  • 4. 基于多GPU的训练
  • 5. 局部响应正则化
  • 6. 有重叠池化
  • 7. AlexNet的整体框架
  • 8. 降低过拟合的方法:数据增广、Dropout
  • Lecture06
  • Week8
  • Week9-1
  • 经典卷积神经网络——VGGNet (6课时)
  • 1. VGGNet框架介绍
  • 2. 小卷积核和小池化核的作用
  • 3. 卷积组
  • 4. 基于多尺度的测试
  • Lecture07
  • Week9-2
  • Week10
  • 经典卷积神经网络——GoogLeNet (8课时)
  • 1. GoogLeNet简介
  • 2. Inception模块和1×1卷积
  • 3. 卷积分解
  • 4. Incepiton与残差网络的结合
  • Lecture08
  • Week11
  • Week12
  • 经典卷积神经网络——ResNet (8课时)
  • 1. 残差网络的基本结构及原理
  • 2. 常见的残差块
  • 3. ResNet网络模型
  • Lecture09
  • Week13
  • Week14-1
  • 其他经典卷积神经网络——DenseNet、MobileNet和ShuffleNet (8课时)
  • 1. DenseNet
  • 2. MobileNet
  • 3. ShuffleNet
  • 4. 实践:猫狗识别
  • Lecture10
  • (自学)
  • 循环神经网络RNN (0课时)
  • 1. 循环神经网络简介
  • 2. 长期依赖LSTM和门控RNN
  • 3. 双向RNN
  • 4. 序列到序列结构Seq2Seq
  • 5. 实践:电影评论情感分析
  • Lecture11
  • Week14-2
  • Week15
  • Week16-1
  • 生成对抗网络GAN (10课时)
  • 1. 深度生成模型
  • 2. 生成对抗模型
  • 3. 风格迁移
  • 4. 实践:生成对抗网络
  • Lecture12
  • (自学)
  • 强化学习 (0课时)
  • 1. 强化学习模型简介
  • 2. 强化学习分类
  • 3. 深度强化学习
  • 4. 深度Q网络
  • 5. 强化学习的应用
  • 6. AlphaGo和AlphaZero
  • Exams
  • Week16-2

实训进度计划表

Event Type Date Description Course Materials
  • 项目一:鸢尾花识别
  • Day01
  • 【实训目的】
  • 1. 学会在Baidu AI Studio(http://aistudio.baidu.com/)上创建项目,并加入课程
  • 2. 学会Jupyter Notebook的基本使用方法,包括基本的Markdown Cell和Code Cell的创建和编辑
  • 3. 学会使用函数编程法完成所有代码的编写
  • 4. 学会使用机器学习算法完成鸢尾花识别任务
  • 【实训任务】
  • 1. 构建一个模型,根据鸢尾花的花萼长度、花萼宽度、花瓣长度和花瓣宽度,使用训练集对鸢尾花进行建模
  • 2. 对模型进行评分,输出测试集的精度
  • 3. 使用模型将一朵鸢尾花分为三种不同的品种
  • 4. 完善给出的代码
  • 5. 将完整的代码和运行结果在AIStudio平台进行提交
  • 项目二:手写数字识别
  • Day02 ~ Day05
  • 【实训目的】
  • 1. 进一步Baidu AI Studio平台
  • 2. 熟练使用Jupyter Notebook的基本使用方法,包括基本的Markdown Cell和Code Cell的创建和编辑
  • 3. 熟练使用函数化编程方法,并学会如何对函数进行基本的调试
  • 4. 学会使用机器学习算法完成手写字体的识别
  • 5. 学会从指定文件夹中读取图片,并将处理好的图片保存到指定文件夹中
  • 6. 学会将训练好的模型保存到指定文件夹
  • 7. 学会载入保存在指定文件夹中的模型,并能够利用载入的模型对样本进行预测
  • 【实训任务】
  • 1. 构建一个模型(使用20%的样本),根据0~9的数字的像素特征进行建模
  • 2. 对模型进行评分,输出测试集(10000副测试图片)的精度(任务一)
  • 3. 使用模型对保存到文件夹中图片进行预测(任务二)
  • 4. 完善所有代码,同时进一步完善Notebook,将其输出为《实训报告正文》
  • 5. 将完整的代码和运行结果在AIStudio平台进行提交