一、深度学习介绍
1.1全平台连接问题
全连接网络:链接权过多,算的慢,难收敛,同时可能进入局部极小值,也容易产生过拟合问题。
解决算的慢问题:减少权值连接,每一个节点只连到上一层的少数神经元,即局部连接网络。
解决难收敛、算的慢问题:权值过多极易产生过拟合。参考人类解决思路:信息分层处理,每一层在上层提取特征的基础上获取进行再处理,得到更高级别的特征。
1.2深度学习平台简介
1.3PyTorch介绍
PyTorch是一个Python的深度学习库。它最初由Facebook人工智能研究小组开发,而优步的Pyro软件则用于概率编程。
1.4PyTorch基本使用
张量(Tensor):是一个物理量,对高维 (维数 ≥ 2) 的物理量进行 “量纲分析” 的一种工具。简单的可以理解为:一 维数组称为矢量,二维数组为二阶张量,三维数组为三阶张量
计算图:用“结点”(nodes)和“线”(edges)的有向图来描述数学计算的图像。“节点” 一般用来表示施加的数学操作,但也可以表示数据输入的起点/输出的 终点,或者是读取/写入持久变量的终点。“线”表 示“节点”之间的输入/输出关系。这些数据“线” 可以输运“size可动态调整”的多维数据数组,即 “张量”(tensor)
- 使用 tensor 表示数据
- 使用 Dataset、DataLoader 读取样本数据和标签
- 使用变量 (Variable) 存储神经网络权值等参数
- 使用计算图 (computational graph) 来表示计算任务
- 在代码运行过程中同时执行计算图
二、卷积神经网络基础
2.1进化史
2.2基本概念
填充(Padding):也就是在矩阵的边界上填充一些值,以增加矩阵的大小,通常用0或者复制边界像素来进行填充。
步长(Stride):如图步长为2
多通道卷积:如RGB
池化的思想:使用局部统计特征,如均值或最大值。解决特征过多问题。
2.3卷积神经网络结构
构成:由多个卷积层和下采样层构成,后面可连接全连接网络
卷积层:𝑘个滤波器
下采样层:采用mean或max
后面:连着全连接网络
2.4误差反向传播
经典BP算法
卷积NN的BP算法:下采样层
局部误差如何从卷积层传到下采样层
卷积NN的BP算法:卷积层+卷积层
卷积NN的BP算法:卷积层+全连接层
三、LeNet-5网络
LeNet-5是一个经典的深度卷积神经网络,由Yann LeCun在1998年提出,旨在解决手写数字识别问题,被认为是卷积神经网络的开创性工作之一。该网络是第一个被广泛应用于数字图像识别的神经网络之一,也是深度学习领域的里程碑之一。
四、基本卷积神经网络
4.1AlexNet
改进:
- 池化层均采用最大池化
- 选用ReLU作为非线性环节激活函数
- 网络规模扩大,参数数量接近6000万
- 出现“多个卷积层+一个池化层”的结构
普遍规律:随网络深入,宽、高衰减,通道数增加
4.2 VGG-16
VGG16相比,AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,7x7,5x5)。对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核是优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。
改进:
- 网络规模进一步增大,参数数量约为1.38亿
- 由于各卷积层、池化层的超参数基本相同,整体结构呈现出规整的特点。
普遍规律:随网络深入,高和宽衰减,通道数增多。
4.3 残差网络
为什么需要:梯度消失问题
- 普通网络的基准模型受VGG网络的启发。
- 卷积层主要有3×3的过滤器,并遵循两个简单的设计规则:①对输出特征图的尺寸相同的各层,都有相同数量的过滤器; ②如果特征图的大小减半,那么过滤器的数量就增加一倍,以保证每一层的时间复杂度相同。
- ResNet模型比VGG网络更少的过滤器和更低的复杂性。 ResNet具有34层的权重层,有36亿 FLOPs,只是VGG-19(19.6亿FLOPs)的18%。
五、常用数据集
-
MNIST数据集
-
Fashion-MNIST数据集
-
CIFAR-10数据集
-
PASCAL VOC数据集
-
MS COCO数据集
-
ImageNet数据集