《深度学习》主要知识点回顾
- 1.深度学习、人工智能的基础知识和概念,及常用数据集
- 2.掌握人工神经网络的构成及原理,卷积神经网络的构成及原理,理解分析两者的异同之处
- 3.常见的卷积操作及理解,尤其是1×1卷积,空洞卷积,上采样、反卷积,深度可分离卷积等
- 4.常见的激活函数及公式,尤其是Sigmoid激活函数,ReLU激活函数,Softmax激活函数
- 5.常见的损失函数及公式,尤其是交叉熵损失,BCE损失,Focal Loss等
- 6.常见的神经网络结构,尤其是LeNet,AlexNet,VGG,ResNet,孪生神经网络的原理、神经网络结构和特点
- 7.Faster R-CNN两阶段目标检测算法的原理和算法过程(219-204)
- 8.YOLO单阶段目标检测算法的原理和算法过程,理解分析它与Faster R-CNN算法在原理或思想方面的异同之处
- 9.FCN全卷积神经网络的原理和算法过程
- 10.U-Net图像分割网络的原理和算法过程,理解分析它与FCN在原理或思想方面的异同之处
- 11.生成对抗网络(GAN)。理解掌握普通的生成对抗网络的组成部分及两部分之间的损失函数,及两部分之间如何产生联系
- 12.编程。会用PyTorch实现上述算法或神经网络结构
1.深度学习、人工智能的基础知识和概念,及常用数据集
以下文章转载自: 深度学习的基础概念
1.1 深度学习
1.2 深度学习工作原理
1.3 深度学习常用数据集
转载: 深度学习常用数据集
1.3.1 MNIST数据集
1.3.2 Cifar10数据集
1.3.3 Caltech101数据集
1.3.4 AT&T Facedatabase数据集
1.3.5 JAFFE数据集
2.掌握人工神经网络的构成及原理,卷积神经网络的构成及原理,理解分析两者的异同之处
2.1 人工神经网络
2.1.1 构成
2.1.2 原理
2.2 卷积神经网络
包含卷积层的神经网络就可以称为卷积神经网络。
2.2.1 构成
1. 全连接层
2. 卷积层
卷积操作详解
卷积层:一个滑动窗口在特征图上滑动并进行计算。
局部感知:指卷积运用了滑动窗口
权值共享:指滑动窗口滑动过程中,卷积核各个值不变
卷积层比起全连接层的好处,卷积层的参数远远小于全连接层的参数。这是由于卷积具有权值共享的特点。
3. 池化层
4. 反向传播
(1)误差的计算
(2)误差的反向传播
(3)权值的更新
2.2.2 原理
2.3 人工神经网络与卷积神经网络的异同
3.常见的卷积操作及理解,尤其是1×1卷积,空洞卷积,上采样、反卷积,深度可分离卷积等
3.1 1×1卷积
指
1×1卷积的主要作用有以下几点:
1、降维。比如,一张500 * 500且厚度depth为100 的图片在20个filter上做11的卷积,那么结果的大小为500500*20。
2、加入非线性。卷积层之后经过激励层,1*1的卷积在前一层的学习表示上添加了非线性激励,提升网络的表达能力;
3、增加模型深度。可以减少网络模型参数,增加网络层深度,一定程度上提升模型的表征能力。
3.2 空洞卷积
3.3 上采样
简单的理解就是把图片进行放大了。在算法中,在我们做图像识别过程中,需要对图像进行像素级别的分类,因此在卷积提取特征后需要通过上采样将feature map 还原到原图中。
3.4 反卷积
反卷积是一种特殊的正向卷积,先按照一定的比例通过补 来扩大输入图像的尺寸,接着旋转卷积核,再进行正向卷积。
3.5 深度可分离卷积
4.常见的激活函数及公式,尤其是Sigmoid激活函数,ReLU激活函数,Softmax激活函数
Softmax从字面上来说,可以分成soft和max两个部分。max故名思议就是最大值的意思。Softmax的核心在于soft,而soft有软的含义,与之相对的是hard硬。很多场景中需要我们找出数组所有元素中值最大的元素,实质上都是求的hardmax。
5.常见的损失函数及公式,尤其是交叉熵损失,BCE损失,Focal Loss等
6.常见的神经网络结构,尤其是LeNet,AlexNet,VGG,ResNet,孪生神经网络的原理、神经网络结构和特点
6.1 LeNet
最简单的卷积神经网络。
6.2 AlexNet
6.3 VGG
1. VGG结构及原理
指路原作者大大
堆叠很多小的卷积核来代替大的卷积核,以此达到具有相同的感受野,但是参数数量大大减少的目的。
是激活函数而非损失函数。
使用激活函数的作用:引入非线性因素,使该网络具备处理非线性数据的能力。
2. pytorch搭建VGG
使用 Sequential 函数组合成新的网络层。
Sequential 函数的输出。
粘代码好麻烦:代码所在处来这里
6.4ResNet
在ResNet网络提出之前,传统的卷积神经网络都是通过将一系列卷积层与下采样层进行堆叠得到的。但是当堆叠到一定网络深度时,就会出现两个问题。1)梯度消失或梯度爆炸。 2)退化问题(degradation problem)。在ResNet论文中说通过数据的预处理(常会对图像进行标准化处理,这样能够加速网络的收敛.)以及在网络中使用BN(Batch Normalization,使feature map满足均值为0,方差为1的分布规律。)层能够解决梯度消失或者梯度爆炸问题。但是对于退化问题(随着网络层数的加深,效果还会变差)并没有很好的解决办法。
所以ResNet论文提出了residual结构(残差结构)来减轻退化问题。使用residual结构的卷积网络,随着网络的不断加深,效果并没有变差,反而变的更好了。
在ResNet网络中有如下几个亮点:
(1)提出residual结构(残差结构),并搭建超深的网络结构(突破1000层)
(2)使用Batch Normalization加速训练(丢弃dropout)
6.5 孪生神经网络的原理、结构和特点
1. 两两训练
f:卷积神经网络构成,用于提取特征
z: 全连接层,用于预测相似度
孪生网络的反向传播
2.
相同的类聚集在一起,不同的类远远相隔。故,d+更小,d-更大。
梯度下降更新参数。
7.Faster R-CNN两阶段目标检测算法的原理和算法过程(219-204)
7.1 R-CNN算法
深度学习在目标检测领域的开山之作。
7.1.1 R-CNN算法的主要思想(来自PPT)
- 区域建议框:由传统方法线生成(SS),这是输入数据的来源并非使用所有候选区域,而是选取一部分使用
- 目标分类:检测框(区域建议框)内的物体识别问题,使用VGG、ResNet等卷积神经网络分类将每个建议框中物体图像及类别(含背景类),resize到统一尺寸,送入CNN中训练分类模型。
7.1.2 R-CNN算法的步骤
7.1.3 R-CNN的框架
7.1.4 R-CNN的缺点
7.2 Fast R-CNN算法
7.2.1 Fast R-CNN算法的主要思想(来自PPT)
不同于R-CNN,本算法只提取一次卷积特征(整图对应的完整卷积特征)
- 输入整幅图像进行卷积,将区域建议框等比例投影到卷积后得到的完整卷积特征feature map中
- 区域建议框:仍由传统方法(SS)离线生成
- 过程:对每个标注的区域建议框,等比例投影到CNN卷积后得到的完整feature map中,得到子特征图,对子特征图进行ROI Pooling(感兴趣区域池化,使检测框对应特征变为等大,如7×7、或12×12)得到恒大的特征图RP,将RP及区域对应的坐标和物体类别送入CNN中进行回归和分类训练
7.2.2 Fast R-CNN算法的步骤
7.2.3 Fast R-CNN框架
与R-CNN框架相比,Fast R-CNN从四个部分变为两个部分。Fast R-CNN将特征提取、分类、回归整合到一起。
7.3 Faster R-CNN(重点掌握,考试需要)
7.3.1 Faster R-CNN整体框架(来自PPT)
- 先进性CNN卷积
- 在特征图上自动生成区域建议框,基于 RPN(Faster R-CNN的重点)
- 对区域建议框中物体分类、坐标回归
7.3.2 Region Proposal Network(RPN)思想
256d:由ZF决定,一维向量,深度(不太理解哈哈哈)
ZF的感受野为:171171,但是仍然能够预测256256.是因为原作者认为,只知道目标的一部分,是可以预测全部的。并且这种想法应用的很好。
7.3.3 Faster R-CNN模型四步训练方法
- 单独训练RPN(Region Proposal Network)网络
- 单独训练Fast R-CNN网络
- 联调、使用检测网络Fast R-CNN来初始化RPN网络的训练,固定共享的卷积层的参数。只训练RPN相关层的参数;
- 联调、使用检测网络RPN来初始化Fast R-CNN网络的训练,固定共享的卷积层的参数。只训练Fast R-CNN相关层的参数;
7.3.4 Faster R-CNN模型的数据处理
7.3.5 Faster R-CNN模型的损失函数
7.3.5.1 RPN损失函数
7.3.5.2 Fast R-CNN损失函数
同上。
7.3.6 Faster R-CNN模型的反向训练
7.3.7 FasterR-CNN模型框架
8.YOLO单阶段目标检测算法的原理和算法过程,理解分析它与Faster R-CNN算法在原理或思想方面的异同之处
9.FCN全卷积神经网络的原理和算法过程
转置卷积
转置卷积:将feature maps还原成卷积之前的大小。
10.U-Net图像分割网络的原理和算法过程,理解分析它与FCN在原理或思想方面的异同之处
11.生成对抗网络(GAN)。理解掌握普通的生成对抗网络的组成部分及两部分之间的损失函数,及两部分之间如何产生联系
11.1 GAN组成部分
GAN: 学习数据中的规律,生成以假乱真的东西。
组成:生成、判别和对抗。
生成器:依据随机向量产生内容。
判别器:判断接收到的内容是否为真实的。输出概率,表示真实的程度。
对抗:GAN的交替训练过程。以图片生成为例,先让生成器产生一些假图,和收集到的真图片一起交给判别器,让判别器学习区分二者。给真的高分,给假的低分。当判别器能够熟练判断现有数据后,再让生成器以从判别器处得到高分为目标,不断生成更好的假图片,直到能骗过判别器。重复进行上述过程,直至判别器对任何一张图片的预测概率均接近0.5。即无法分辨图片的真假,就停止训练。
训练GAN的目标是获得一个足够好用的生成器,也就是生成以假乱真的内容