最新资讯
- 除机械工程专业研究生外,也欢迎控制工程、人工智能、电子信息等专业学生跨学科选课!
- 本课程获得2024年上海大学一流研究生教育培养质量提升项目:核心课程资助(上海大学19项)
- 以本课程核心内容申报获批2023年上海市研究生教育改革项目(上海大学12项)!
- 本课程获得2022年上海大学课程思政项目资助!
- 作为研究生专业选修课,每学期选课人数达到50+!
参考书籍
- 动手学深度学习 PyTorch版,阿斯顿·张等,人民邮电出版社,2023.
课程简介
本课程面向机械相关工科专业的研究生,主要从基础理论与实践应用两个角度同时出发,涵盖深度学习领域的大部分内容,包括理解深度学习的应用背景,探寻其背后的数学原理:矩阵求导、了解优化问题的基石:线性回归并从几何角度对其进行解释、学习多层感知机与神经网络的基础知识;同时会讲解如何通过卷积神经网络和循环神经网络来构建计算机视觉与自然语言处理领域的项目研究,以及通过深度学习进行艺术生成的基本思路与开发。
课程目标
-
深入理解深度学习领域的历史变革,认识到其与人类生活的息息相关,能够塑造正确的技术运用价值观,引导学生形成正向的学术研究理念,利用深度学习技术解决实际需求的科学问题;
-
理解并掌握深度学习的基本概念和基础理论,具备扎实的深度学习领域的数学基础,能够从理论层面深入认识深度学习方法的本质与内涵;
-
熟练运用Python/PyTorch等编程语言与算法库,能够通过程序语言的方式实现深度学习领域的经典算法,对一些常用的深度学习技术做到底层开发、效果复现;
-
提高学生的计算与逻辑思维能力,锻炼解决实际工程问题的能力,培养创造性思维,激发学生对探索深度学习前沿领域的学习兴趣。
教学大纲
第一讲:绪论及课程介绍(4学时)
- 介绍本课程的基本情况,强调数学知识在课程中的重要性;
- 分别通过微积分中的泰勒(Taylor)展开和换元重积分,推导出在深度学习课程中最重要的基础知识:雅可比(Jacobi)矩阵。
- 教学重点:通过微积分中的基础知识推导出雅可比矩阵的数学内涵;
- 教学难点:理解泰勒展开和换元重积分中的雅可比矩阵应用。
第二讲:深度学习简介(4学时)
- 介绍深度学习技术诞生的由来,发展历程,以及当前的发展现状;
- 介绍深度学习技术的应用,包括图像处理、自然语言处理等;
- 介绍课程所使用的编程语言Python、算法框架PyTorch,以及编辑器Jupyter等,对基础的Python语言中常用的类和对象进行简要讲解。
- 教学重点:对编程语言、算法框架,以及编辑器的环境搭建介绍;
- 教学难点:程序语言中类和对象的深度理解以及实践应用。
第三讲:矩阵求导1(4学时)
- 通过实际深度学习案例引出反向传播算法,再通过反向传播算法引出矩阵求导;
- 对基本的矩阵求导形式做简要介绍,通过展开矩阵元素的方式推导出计算结果;
- 引出可不展开矩阵直接进行微分运算的“矩阵求导术”,介绍标量函数对矩阵的导数求法,并通过实际例子进行强化记忆。
- 教学重点:反向传播算法与矩阵求导的基础知识;
- 教学难点:通过“矩阵求导术”进行标量函数对矩阵的导数运算。
第四讲:矩阵求导2(4学时)
- 复习标量函数对矩阵的导数求法,并再次举例说明;
- 进一步介绍向量函数对向量的导数求法,并通过实际运算说明;
- 最后简要介绍矩阵函数对矩阵的导数求法,引出矩阵向量化的概念,并通过实际运算说明。
- 教学重点:向量函数对向量的导数,以及矩阵函数对矩阵的导数求法;
- 教学难点:理解矩阵求导术的深层数学理论,能够自行构造矩阵求导的统一表达式。
第五讲:矩阵求导3(4学时)
- 回顾前述矩阵导数术的理论知识,包括三类矩阵求导的情形;
- 通过举例说明,介绍矩阵求导的链式求导法则,再通过一般化理论证明矩阵求导的链式求导法则;
- 完整介绍深度学习理论中的反向传播算法流程,并通过程序语言和算法框架在代码中实现对矩阵求导的运算,验证结果的相同性。
- 教学重点:两类不同情形下的矩阵求导的链式求导法则;
- 教学难点:理解矩阵求导的链式求导法则原理和方法。
第六讲:线性回归问题(4学时)
- 通过实际的优化问题引出线性回归问题,以及其与深度学习的关联;
- 介绍线性回归的几种常规解法,包括矩阵展开法、矩阵求导法、通过链式求导进行矩阵求导法等;
- 介绍最第四种抽象解法:投影法;
- 通过程序语言完整实现一个线性回归问题的解法,并对实验结果进行分析。
- 教学重点:线性回归的四种理论解法,以及通过程序语言实现;
- 教学难点:理解线性回归的几种解法,特别是投影法的几何认知。
第七讲:矩阵求导课堂测验(4学时)
- 布置几道随机的矩阵求导题,并于课堂上进行现场测验。学生进行手写完成。
- 教学重点:学生对矩阵求导题的完成;
- 教学难点:理解并能自行推导出所出矩阵求导题的解法。
第八讲:多层感知机与神经网络(4学时)
- 介绍多层感知机和神经网络的基础知识,包括回归和分类问题等;
- 介绍深度学习中的欠拟合和过拟合问题,以及几种解决上述问题的理论方法;
- 介绍深度学习中的梯度消失和梯度爆炸问题,以及几种解决上述问题的理论方法。
- 教学重点:深度学习的模型选择和数值稳定性问题;
- 教学难点:欠拟合与过拟合、梯度消失与梯度爆炸的深入理解。
第九讲:卷积神经网络(4学时)
- 介绍计算机视觉的应用,引出数字图像处理的基础知识;
- 介绍卷积神经网络的基本结构,以及相关的基础理论;
- 以艺术图像生成为例,讲解如何同时学习图像的内容特征与风格特征。
- 教学重点:卷积神经网络的基本结构与基础理论;
- 教学难点:理解艺术图像生成中风格特征学习的数学基础。
第十讲:循环神经网络(4学时)
- 介绍自然语言处理的应用,引出隐马尔科夫模型的基础知识;
- 介绍循环神经网络的基本结构,以及相关的基础理论;
- 分别以歌词生成和编曲生成为例,讲解如何学习具有序列性质的文本及声音特征。
- 教学重点:循环神经网络的基本结构与基础理论;
- 教学难点:理解歌词生成和编曲生成中序列数据学习的基础理论。
课外作业/问题/项目
说明:选课学生将根据实际的Kaggle竞赛进行专题研究,最终形成课外自学实践的研究报告,并撰写编程实现文档,附加自己的全球打榜成绩,作为期末报告计入期末成绩。
- 课堂测验要求:针对随机的矩阵求导题完成求解和计算任务,可开卷进行资料查阅,但必须独立完成,下课前提交作为平时成绩的佐证材料;
- 课外学习要求:选择Kaggle竞赛相应的专题开展调研,完成一次针对特定竞赛任务的调研报告,期末完成相应专题的编程实现研究报告,计入课程考核成绩;
- 组织形式:学生独立开展研究,每若干学生设置一名导师或联络人。
时间安排:课堂测验第七周课上完成,研究报告期末完成。