近年来,Python语言由于其开源、简单等特点,受到了广大程序开发者的偏爱,丰富的函数库使得其在各行各业中得到了广泛的应用。伴随着新一轮人工智能(尤其是深度学习)的快速发展,许多深度学习框架应运而生,譬如:Tensorflow、Keras、Caffe、PyTorch等。其中,PyTorch作为后起之秀,发展非常迅猛,在学术界逐渐占据垄断地位,许多计算机顶级期刊、会议的最新文章的源代码都采用PyTorch深度学习框架。
第一天:
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常用函数简介与使用)
7、深度学习框架概述(PyTorch、Tensorflow、Keras等)
8、PyTorch简介(PyTorch的版本、动态计算图与静态计算图机制、PyTorch的优点)
9、PyTorch的安装与环境配置(Pip vs. Conda包管理方式、验证是否安装成功)
张量(Tensor)的定义,以及与标量、向量、矩阵的区别与联系)
10、张量(Tensor)的常用属性与方法(dtype、device、layout、requires_grad、cuda()等)
11、张量(Tensor)的创建(直接创建、从numpy创建、依据数值创建、依据概率分布创建)
12、张量(Tensor)的运算(加法、减法、矩阵乘法、哈达玛积(element wise)、除法、幂、开方、指数与对数、近似、裁剪)
13、张量(Tensor)的索引与切片
14、PyTorch的自动求导(Autograd)机制与计算图的理解
15、PyTorch常用工具包及API简介(torchvision(transforms、datasets、model)、torch.nn、torch.optim、torch.utils(Dataset、DataLoader))
第二天:
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)、泛化性能评价指标的设计、样本不平衡问题、模型评价与模型选择(奥卡姆剃刀定律)等)
7、深度学习简介(深度学习大事记:Model + Big Data + GPU + AlphaGo)
8、深度学习与传统机器学习的区别与联系(神经网络的隐含层数越多越好吗?深度学习与传统机器学习的本质区别是什么?)
9、卷积神经网络的基本原理(什么是卷积核?CNN的典型拓扑结构是怎样的?CNN的权值共享机制是什么?CNN提取的特征是怎样的?)
10、卷积神经网络的进化史:LeNet、AlexNet、Vgg-16/19、GoogLeNet、ResNet等经典深度神经网络的区别与联系
11、利用PyTorch构建卷积神经网络(Convolution层、Batch Normalization层、Pooling层、Dropout层、Flatten层等)
12、案例讲解:(1)CNN预训练模型实现物体识别
(2)利用卷积神经网络抽取抽象特征
(3)自定义卷积神经网络拓扑结构
13、实操练习
14、PyTorch Lightning简介与快速入门(PyTorch Lightning与PyTorch的联系、PyTorch Lightning安装、案例演示)
第三天:
1、迁移学习算法的基本原理(为什么需要迁移学习?为什么可以迁移学习?迁移学习的基本思想是什么?)
2、基于深度神经网络模型的迁移学习算法
3、案例讲解:猫狗大战(Dogs vs. Cats)
4、实操练习
5、生成式对抗网络GAN(什么是对抗生成网络?为什么需要对抗生成网络?对抗生成网络可以帮我们做什么?GAN给我们带来的启示)
6、GAN的基本原理及GAN进化史
7、案例讲解:GAN的PyTorch代码实现(手写数字生成)
8、实操练习
9、循环神经网络RNN的基本工作原理
10、长短时记忆网络LSTM的基本工作原理
11、案例讲解:时间序列预测(北京市污染物预测)
12、实操练习
13、什么是目标检测?目标检测与目标识别的区别与联系
14、YOLO模型的工作原理,YOLO模型与传统目标检测算法的区别
15、案例讲解:(1)利用预训练好的YOLO模型实现目标检测
(2)数据标注演示
(3)训练自己的目标检测数据集
16、实操练习
17、相关资料拷贝与分享
18、答疑与讨论(大家提前把问题整理好)
联系人:
李莎:158-3333-2534