深度学习相关知识点简记 (有点乱)

一、优化算法及其特点:

1. BGD批量梯度下降:优点:梯度预测是稳定的

缺点:需要一次更新所有样本,计算速度非常慢

不适用于大数据集,不能在线更新模型

2. SGD随机梯度下降:优点:一次只选一部分样本,运算快,效果好

缺点:易受噪声点影响,参数更新的方差大,迭代并不是每次都向着最优解方向进行,可能无法达到全局最优解,且学习曲线震荡。容易被困在鞍点

适用于需要在线更新的模型,适用于大规模训练样本情况

3. SGD+Momentum

在随机梯度中引入了动量 Momentum,SGD方法的一个缺点是其更新方向完全依赖于当前batch计算出的梯度,因而十分不稳定。SGDM就是不仅仅考虑负梯度方向,还考虑此时动量的方向(上一步的前进方向的惯性方向),然后将两个方向进行合并,即下一步更新参数的方向。特点:用滑动平均来更新,而不是当前梯度,可有效减少震荡,更平缓加快收敛速度。

适用于有可靠的初始化参数

4. Nestorov动量:NAG 会先在前一步的累积梯度上有一个大的跳跃,然后衡量一下梯度做一下修正,这种预期的更新可以避免我们走的太快。 (选沿当前方向走一步,再计算终点梯度方向,进而得到最终方向。)

5. AdaGrad:特点:采用自适应调节,减少了学习率的手动调节。对于经常更新的参数,我们已经积累了大量关于它的知识,不希望被单个样本影响太大,希望学习速率慢一些;对于偶尔更新的参数,我们了解的信息太少,希望能从每个偶然出现的样本身上多学一些,即学习速率大一些。缺点是学习率单调递减至0,可能会使得训练过程提前结束,即便后续还有数据也无法学到必要的知识。需要快速收敛,训练复杂网络时;适合处理稀疏梯度

6. RMSProp:给历史数据和新数据都设一个权重,缓解退化问题。使用的是指数加权平均,旨在消除梯度下降中的摆动,与动量的效果一样,某一维度的导数比较大,则指数加权平均就大,某一维度的导数比较小,则其指数加权平均就小,这样就保证了各维度导数都在一个量级,进而减少了摆动。允许使用一个更大的学习率η

需要快速收敛,训练复杂网络时;适合处理非平稳目标 - 对于RNN效果很好

7. Adam:是RMSProp和Momentum的结合,对梯度和学习率都用了滑动平均,还有一个纠偏,优点主要在于经过偏差校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。需要快速收敛,训练复杂网络时;善于处理稀疏梯度和处理非平稳目标的优点,也适用于大多非凸优化 - 适用于大数据集和高维空间

二、CNN经典结构

1. AlexNet:采用ReLU作为非线性的激活函数、利用多个(2个)GPU同时训练、使用数据增强来提高模型的准确率防止过拟合、利用Dropout算法防止过拟合、LRN归一化层的使用

结构:CONV1 ->MAX POOL1 ->NORM1 ->CONV2 ->MAX POOL2 ->NORM2 ->CONV3 ->CONV4 ->CONV5->Max POOL3 ->FC6->FC7 ->FC8

2. VGG:16~19层 卷积核更小,层数更深

每组卷积都使用3x3的卷积核原因:一方面可以减少参数,另一方面相当于进行了更多的非线性映射,可以增加网络的拟合/表达能力

params计算params=(本层卷积核长*宽*上层卷积核厚)*本层卷积核厚   池化层没有params

3. GoogLeNet:22层 去除了全连接层(占据了网络的大部分参数),使用了全局均值池化,大大减小了参数量

1*1卷积层的作用:用于减少维度,还用于修正线性激活(relu)

(1)采用了模块化的结构(inception结构),方便增添和修改

(2)网络最后采用了average pooling来替代全连接,可将准确率提升百分之0.6

(3)虽然移除了全连接,但依然使用了Dropout

(4)为了避免梯度消失,网络额外增加了2个辅助的softmax用于向前传导梯度(辅助分类器)

4. ResNet:152层 plain网络随着网络加深,错误率升高

深层网络到了一定深度,准确率趋近饱和,而且继续加深的话会降低准确率,这称为退化问题,为了解决退化问题,提出了残差学习,如下图所示为残差块,假设本来是要学习H(x),加了一条恒等映射之后我们要学习的就是F(x) = H(x) - x

5. DenseNet:核心思想是建立不同层之间的连接,充分利用功能,进一步减少梯度消失的问题,加深网络不是问题,训练效果非常好。DenseNet包含两部分,dense block和transition layers

dense block中的每一层之间直接连接,不同层之间的直接连接增加了每层输入的多样性和提高了效率

每两个相邻的dense block之间的卷积+池化层被称为transition layers,其作用是通过下采样来改变特征图的大小。

当参数量相同的情况下,DenseNet比ResNet拥有更小的错误率;当验证错误率相同的时候,DenseNet比ResNet拥有更少的参数。

  对于 DenseNet 抗过拟合的原因有一个比较直观的解释:神经网络每一层提取的特征都相当于对输入数据的一个非线性变换,而随着深度的增加,变换的复杂度也逐渐增加(更多非线性函数的复合)。相比于一般神经网络的分类器直接依赖于网络最后一层(复杂度最高)的特征,DenseNet 利用特征复用(feature reuse)综合利用浅层复杂度低的特征,因而更容易得到一个光滑的具有更好泛化性能的决策函数。

6. CNN应用:

语义分割:1.滑动窗口:将每一个小窗口通过cnn分类,缺点是计算量非常大2.全卷积网络:利用全是卷积层的网络来训练,通过填充保持图片的大小不变,最后分类得到语义分割后的图像,C为类别数量,在深通道(如64,128,256)逐层做卷积操作,非常消耗内存和计算量3.先下采样再上采样:对一小部分卷积层做原清晰度处理,经过一系列下采样,卷积,不使用全连接 上采样(去池化):最邻近去池化:将值赋给附近领域。钉床(Bed of Nails)去池化:将值赋给左上角元素,其余填充零

最大去池化(Max Unpooling):与Maxpooling相对应,将原值赋给对应位置元素,其余填充零,在网络的后半部分用去池化将相应元素放在池化前的相应位置,保存空间的上的结构,(池化后在低清晰度保留的元素与填充后的小块组成高清晰度的图像,这样可以保证最大池化的元素依然是在相应的位置)优点:分割的意义就在于找到不同类别的边界,最大池化后在低清晰度会丢失空间信息,去池化后会还原空间信息,帮助预测

7. 目标检测RCNN:

R-CNN是用来识别一个图片中的若干张物体的方法,采用提取框,对每个框提取特征、图像分类、 非极大值抑制四个步骤进行目标检测

RCNN 算法原理:Selective Search 生成候选框,候选框区域缩放到统一大小,使用 CNN 对每个候选框提取特征,提取出特征后使用 SVM 进行分类,通过非极大值抑制输出结果

R-CNN 训练步骤:在数据集上训练CNN。R-CNN 论文中使用的 CNN 网络是AlexNet,数据集为ImageNet 。在目标检测的数据集上,对训练好的 CNN 做微调 。用 Selective Search 搜索候选区域,统一使用微调后的 CNN 对这些区域提取特征,并将提取到的特征存储起来。使用存储起来的特征,训练SVM 分类器。

三、生成对抗网络(GAN)及具体实例

生成器网络:尝试通过生成逼真的图像来欺骗判别器

判别器网络:尝试区分真假图像

GAN的原理:以生成图片为例进行说明,假设我们有两个网络,G和D。G是一个生成图片的网络,它接收一个随机的噪声,通过这个噪声生成图片。D是一个判别网络,判别一张图片是不是”真实的“。它的输入参数是x,x代表一张图片,输出D(x),表示真实图片的概率,如果是1,则就代表100%是真实的图片。输出是0,则不是真实的图片。

问题:最困难的部分是要同时训练生成器和判别器,如果判别器训练不足,则它会给生成器提供有误信息;如果判别器过度训练,生成器无法实现改进。正确的判别器在训练中不断改变。GAN不适合处理离散形式的数据,如文本。GAN存在训练不稳定、梯度消失、模式崩溃等问题。

GAN的应用有:图像生成(超分辨率),语义分割,文字生成,数据增强,信息检索/排序,聊天机器人等。

 

本课程适合具有一定深度学习基础,希望发展为深度学习之计算机视觉方向的算法工程师和研发人员的同学们。基于深度学习的计算机视觉是目前人工智能最活跃的领域,应用非常广泛,如人脸识别和无人驾驶中的机器视觉等。该领域的发展日新月异,网络模型和算法层出不穷。如何快速入门并达到可以从事研发的高度对新手和中级水平的学生而言面临不少的挑战。精心准备的本课程希望帮助大家尽快掌握基于深度学习的计算机视觉的基本原理、核心算法和当前的领先技术,从而有望成为深度学习之计算机视觉方向的算法工程师和研发人员。本课程系统全面地讲述基于深度学习的计算机视觉技术的原理并进行项目实践。课程涵盖计算机视觉的七大任务,包括图像分类、目标检测、图像分割(语义分割、实例分割、全景分割)、人脸识别、图像描述、图像检索、图像生成(利用生成对抗网络)。本课程注重原理和实践相结合,逐篇深入解读经典和前沿论文70余篇,图文并茂破译算法难点, 使用思维导图梳理技术要点。项目实践使用Keras框架(后端为Tensorflow),学员可快速上手。通过本课程的学习,学员可把握基于深度学习的计算机视觉的技术发展脉络,掌握相关技术原理和算法,有助于开展该领域的研究与开发实战工作。另外,深度学习之计算机视觉方向的知识结构及学习建议请参见本人CSDN博客。本课程提供课程资料的课件PPT(pdf格式)和项目实践代码,方便学员学习和复习。本课程分为上下两部分,其中上部包含课程的前五章(课程介绍、深度学习基础、图像分类、目标检测、图像分割),下部包含课程的后四章(人脸识别、图像描述、图像检索、图像生成)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白Rachel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值