近年来,人工智能领域的飞速发展极大地改变了各个行业的面貌。当前最新的技术动态,如大型语言模型和深度学习技术的发展,展示了深度学习和机器学习技术的强大潜力,成为推动创新和提升竞争力的关键。特别是PyTorch,凭借其灵活性和高效性,成为科研人员和工程师的首选工具。为了帮助科研人员系统地掌握深度学习的基础理论及其在PyTorch中的实现方法,系统学习包括迁移学习、循环神经网络(RNN)、长短时记忆网络(LSTM)、时间卷积网络(TCN)、生成对抗网络(GAN)、YOLO目标检测算法、自编码器等前沿技术的原理及其PyTorch编程实现。培训采用“理论讲解+案例实战+动手实操+讨论互动”相结合的教学模式,确保学员不仅理解理论知识,还能通过实践操作掌握实际应用中的关键技巧和方法。
课程安排 | 学习内容 |
第一章 Python基础知识串讲 | 1、Python环境搭建(Python软件下载、安装与版本选择;PyCharm下载、安装;Python之Hello World;第三方模块的安装与使用;Python 2.x与Python 3.x对比) 2、Python基本语法(Python变量命名规则;Python基本数学运算;Python常用变量类型的定义与操作;Python程序注释) 3、Python流程控制(条件判断;for循环;while循环;break和continue关键字;嵌套循环与可变循环) 4、Python函数与对象(函数的定义与调用;函数的参数传递与返回值;变量作用域与全局变量;对象的创建与使用) 5、Matplotlib的安装与图形绘制(设置散点、线条、坐标轴、图例、注解等属性;绘制多图;图的嵌套) 6、科学计算模块库(Numpy的安装;ndarray类型属性与数组的创建;数组索引与切片;Numpy常用函数简介与使用;Pandas常用函数简介与使用) |
第二章 PyTorch简介与环境搭建 | 1、深度学习框架概述(PyTorch、Tensorflow、Keras等) 2、PyTorch简介(PyTorch的版本、动态计算图与静态计算图、PyTorch的优点) 3、PyTorch的安装与环境配置(Pip vs. Conda包管理方式、验证是否安装成功、CPU版与GPU版的安装方法) |
第三章 PyTorch编程入门与进阶 | 1、张量(Tensor)的定义,以及与标量、向量、矩阵的区别与联系) 2、张量(Tensor)的常用属性与方法(dtype、device、layout、requires_grad、cuda等) 3、张量(Tensor)的创建(直接创建、从numpy创建、依据数值创建、依据概率分布创建) 4、张量(Tensor)的运算(加法、减法、矩阵乘法、哈达玛积(element wise)、除法、幂、开方、指数与对数、近似、裁剪) 5、张量(Tensor)的索引与切片 6、PyTorch的自动求导(Autograd)机制与计算图的理解 7、PyTorch常用工具包及API简介(torchvision(transforms、datasets、model)、torch.nn、torch.optim、torch.utils(Dataset、DataLoader)) |
第四章 Python统计分析与可视化 | 1、统计数据的描述与可视化(数据的描述性统计:均值、中位数、众数、方差、标准差、极差、四分位数间距等;条形图、直方图、散点图、箱线图等) 2、概率分布与统计推断(离散概率分布:二项分布、泊松分布;连续概率分布:正态分布、均匀分布、指数分布;点估计与区间估计;最大似然估计与贝叶斯估计;假设检验:t检验、卡方检验、F检验;P值与显著性水平等) 3、回归分析(多元线性回归模型;最小二乘法估计;变量选择与模型优化;多重共线性与解决方法;Ridge回归;LASSO回归;ElasticNet回归等) |
第五章 Python前向型神经网络 | 1、BP神经网络的基本原理(人工神经网络的分类有哪些?有导师学习和无导师学习的区别是什么?BP神经网络的拓扑结构和训练过程是怎样的?什么是梯度下降法?BP神经网络建模的本质是什么?) 2、BP神经网络的Python代码实现(怎样划分训练集和测试集?为什么需要归一化?归一化是必须的吗?什么是梯度爆炸与梯度消失?) 3、PyTorch代码实现神经网络的基本流程(Data、Model、Loss、Gradient)及训练过程(Forward、Backward、Update) 4、案例讲解:Linear模型、Logistic模型、Softmax函数输出、BP神经网络 5、实操练习 6、值得研究的若干问题(隐含层神经元个数、学习率、初始权值和阈值等如何设置?什么是交叉验证?过拟合(Overfitting)与欠拟合(Underfitting)、泛化性能评价指标的设计、样本不平衡问题、模型评价与模型选择等) |
第六章 Python决策树、随机森林、XGBoost与LightGBM | 1、决策树的工作原理(微软小冰读心术的启示;什么是信息熵和信息增益?ID3算法和C4.5算法的区别与联系);决策树除了建模型之外,还可以帮我们做什么事情? 2、随机森林的工作原理(为什么需要随机森林算法?广义与狭义意义下的“随机森林”分别指的是什么?“随机”体现在哪些地方?随机森林的本质是什么?怎样可视化、解读随机森林的结果?) 3、Bagging与Boosting的区别与联系 4、AdaBoost vs. Gradient Boosting的工作原理 5、常用的GBDT算法框架(XGBoost、LightGBM) 6、决策树、随机森林、XGBoost、LightGBM中的ChatGPT提示词库讲解 7、案例讲解:利用ChatGPT4实现决策树、随机森林、XGBoost、LightGBM模型的代码自动生成与运行 8. 实操练习 |
第七章 变量降维与特征选择 | 1、主成分分析(PCA)的基本原理 2、偏最小二乘(PLS)的基本原理 3、常见的特征选择方法(优化搜索、Filter和Wrapper等;前向与后向选择法;区间法;无信息变量消除法;正则稀疏优化方法等) 4、遗传算法(Genetic Algorithm, GA)的基本原理(以遗传算法为代表的群优化算法的基本思想是什么?选择、交叉、变异三个算子的作用分别是什么?) 5、SHAP法解释特征重要性与可视化(Shapley值的定义与计算方法、SHAP值的可视化与特征重要性解释) 6、案例讲解与实操练习 |
第八章 PyTorch卷积神经网络 | 1、深度学习简介(深度学习大事记:Model + Big Data + GPU + AlphaGo) 2、深度学习与传统机器学习的区别与联系(神经网络的隐含层数越多越好吗?深度学习与传统机器学习的本质区别是什么?) 2、卷积神经网络的基本原理(什么是卷积核、池化核?CNN的典型拓扑结构是怎样的?CNN的权值共享机制是什么?CNN提取的特征是怎样的?) 3、卷积神经网络的进化史:LeNet、AlexNet、Vgg-16/19、GoogLeNet、ResNet等经典深度神经网络的区别与联系 4、利用PyTorch构建卷积神经网络(Convolution层、Batch Normalization层、Pooling层、Dropout层、Flatten层等) 5、卷积神经网络调参技巧(卷积核尺寸、卷积核个数、移动步长、补零操作、池化核尺寸等参数与特征图的维度,以及模型参数量之间的关系是怎样的?) 6、案例讲解与实践: (1)CNN预训练模型实现物体识别 (2)利用卷积神经网络抽取抽象特征 (3)自定义卷积神经网络拓扑结构 7、实操练习 |
第九章 PyTorch迁移学习 | 1、迁移学习算法的基本原理(为什么需要迁移学习?为什么可以迁移学习?迁移学习的基本思想是什么?) 2、基于深度神经网络模型的迁移学习算法 3、案例讲解:猫狗大战(Dogs vs. Cats) 4、实操练习 |
第十章 PyTorch生成式对抗网络 | 1、生成式对抗网络GAN(什么是对抗生成网络?为什么需要对抗生成网络?对抗生成网络可以帮我们做什么?GAN给我们带来的启示) 2、GAN的基本原理及GAN进化史 3、案例讲解:GAN的PyTorch代码实现(手写数字生成) 4、实操练习 |
第十一章 PyTorch RNN与LSTM | 1、循环神经网络RNN的基本工作原理 2、长短时记忆网络LSTM的基本工作原理 3、案例讲解:时间序列预测(北京市污染物预测) 4、实操练习 |
第十二章 时间卷积网络(Temporal Convolutional Network, TCN) | 1、时间卷积网络(TCN)的基本原理 2、TCN与1D CNN、LSTM的区别与联系 3、案例讲解: 1)时间序列预测:新冠肺炎疫情预测 2)序列-序列分类:人体动作识别 4、实操练习 |
第十三章 PyTorch目标检测 | 1、什么是目标检测?目标检测与目标识别的区别与联系 2、YOLO模型的工作原理,YOLO模型与传统目标检测算法的区别 3、案例讲解: (1)利用预训练好的YOLO模型实现目标检测(图像检测、视频检测、摄像头实时检测) (2)数据标注演示(LabelImage使用方法介绍) (3)训练自己的目标检测数据集 4、实操练习 |
第十四章 自编码器 | 1、什么是自编码器(Auto-Encoder, AE)? 2、经典的几种自编码器模型原理介绍(AE、Denoising AE, Masked AE) 3、案例讲解: (1)基于自编码器的噪声去除 (2)基于自编码器的手写数字特征提取与重构 (3)基于掩码自编码器的缺失图像重构 4、实操练习 |
第十五章 U-Net语义分割 | 1、语义分割(Semantic Segmentation)简介 2、U-Net模型的基本原理 3、案例讲解:基于U-Net的多光谱图像语义分割 4、实操练习 |