深度学习基础知识汇总,以及模型调试技巧

深度学习模型中的数学组成部分:

在这里插入图片描述

  1. 卷积提取图像中的局部特征,每个卷积核的权重可以被调整,以提取给定数据集和任务的最佳特征。
  2. 传递函数(激活函数),如由ReLU,使非线性关系的学习成为可能。
  3. 池化,如最大池化(下采样),以产生空间的粗特征映射,减小图像尺寸。 深度学习模型通常使用a-c中三个操作的迭代组合来产生图像的低维表示。
  4. 空洞卷积(膨胀卷积)是标准卷积的Convolution map的基础上注入空洞,以此来增加感受野,同时保持参数的数量固定。因此,Dilated Convolution在Standard Convolution的基础上又多了一个超参数(hyper-parameter)称之为膨胀率(dilation rate),该超参数指的是kerne的间隔数量。
  5. 分组卷积分别在每个通道上执行卷积操作,降低了计算能力,同时保持了精度。
  6. 残差网络加上一个小的残差,用来学习特征映射,并能够构建非常深的网络。
  7. dense network,就是每一层的输入来自前面所有层的输出,改善了错误传播,提高了特征重用率和参数效率。
    详细可参考:https://blog.csdn.net/u014380165/article/details/75142664/
  8. 多分辨率网络允许分类层提取到精细和粗糙的特征映射。
  9. 特征金字塔,对象检测模型检测不同长度尺度的物体。
  10. 训练期间的训练误差图揭示了过拟合、欠拟合和模型容量之间的关系。这些属性之间的权衡决定了哪种网络体系结构适合于给定的任务。“欠拟合”是指表示能力不足的模型,还没有学到数据中的规律,“过拟合”是指学习了训练数据的特定特征,因此无法推广到新测试集数据上,在训练集表现很好,在测试集表现的不好。增加的模型的复杂度减少了欠拟合,但会增加过拟合的风险。许多正则化技术确保了深度学习模型从数据中学习一般特征。
  11. 批归一化(batch normalization)既使网络正规化,又减少了训练所需的时间。 它最初是为了减轻协变量转移而创建的,但最近发现它可以平滑损失函数
  12. 在训练期间,Dropout随机关闭滤波核,它使网络不过度依赖任何一个特性来进行预测来规范网络。 批规范化和Dropout通常不在同一模型中一起使用。
  13. L2正则化惩罚较大的权重并减少过拟合。

模型训练调试技巧

提高训练性能的方法

训练过程中表现非常差,在分类任务重可能会得到比随机分类更差的分类错误,通常认为是数据或训练参数的问题。 对于小型数据集,训练数据中的错误会导致性能差。 在手动检查训练数据之前,这些错误通常不会被注意到。

  1. 图像归一化不当会导致性能差,因为图像会失去信息特征。
  2. 执行图像增强并将增强后的数据输入训练时的代码中的错误也会导致性能差。
  3. 训练数据没有误差,性能仍然很差时,学习率是需要调整的最基本参数。
  4. 改变模型结构也是一个有效的解决方案。

解决过拟合的方法

深度学习模型可以学习数据和标签之间的复杂关系。 因此,人们可能担心的是,深度学习模型是否已经学到了数据中一般规律?或者模型学习到的内容是否只是训练数据集所特有的,在测试集上面泛化性能不会,在训练集上表现的很好,在测试集上误差很大,这种现象被称为过拟合。 有几种正则化技术可以减轻过拟合,但它们往往以牺牲模型容量为代价。

  1. 批规范化具有很强的正则化特性,Dropout也是。通常,在模型中只使用这些方法中的一种,因为如果两者同时使用,性能可能降低
  2. 提高L2正则化的强度也可以减轻过拟合,但以牺牲模型容量为代价。
  3. 数据增强操作创建更多样的训练数据集,因此更稳健的模型;
  4. 因为训练时间越长,过拟合就越严重,提前停止训练(earlystopping)也可能很有效。
  5. 模型结构的选择对于小数据集尤为重要。复杂的网络结构特别容易在小数据集过拟合,可以通过在大数据集上进行预训练的转移学习来减轻这种问题。
  6. 最后,训练算法也会影响过拟合:用动量随机梯度下降(stochastic gradient descent with
    momentum)训练的模型比用其他算法练的模型泛化性能更好。

解决分类时各类的数量不平衡问题

在分类任务中,训练数据集中每个类别的标签数量不同,可能会导致模型的表现不佳。举一个例子,在一个数据集,其中90%的例子是标签A,10%是标签B。深度学习模型学习完,预测一切的数据为A类,然后报告整体分类的准确性为90%。然而,这个报告的准确性是具有误导性的,而且该模型在B类上太不准确,无法使用。下面提供几种解决办法:

  1. 将训练数据重新采样,使得在每个类中有相同数量的元素。这种策略可以包括下采样以匹配最小的类大小,上采样以匹配最大的类大小,或者两者兼而有之。当表示最少的类比所有其他类小得多(大约十倍)时,必须谨慎地进行下采样,训练数据的多样性将会严重减少。
  2. 在损失函数中引入一个权重项,对于第i类,权重为:
    在这里插入图片描述

模型评估性能

对于模型的性能评估,训练数据通常分为两部分,训练集和验证集。 如果根据验证集上的性能来修改训练参数,那么模型很可能在验证集上面过拟合。

因此,一些研究人员将他们的数据分成三个部分:一部分用于训练,一部分用于训练期间的验证,另一部分用于测试。

超参数优化

超参数是在学习开始之前设置的参数。超参数包括L2正则化强度、学习率、参数的初始化设置以及深度学习模型的细节(层数量、层类型、每个层的滤波数量等)。超参数的优化是深度学习模型训练过程的一个重要组成部分,通常包括三个阶段:初始条件的选择、优化目标的选择和寻找最佳超参数,虽然选择初始条件可能很棘手,但像Keras这样的框架为超参数提供了最佳实践默认设置,如学习速率、L2正则化强度和权重初始化。

在实验中,在分类任务重,以每一类的训练和验证精度作为目标,来最大限度地提高每一类的训练精度,同时尽量减少训练和验证精度之间的差距来减少过拟合

最后,有几种搜索超参数空间的策略。 在网格搜索中,学习速率和正则化强度的调整是有效的。 可以修改模型结构,在过拟合和模型复杂度中,取一个折中,来确定模型结构要不要修改。

相邻层之间的尺寸不匹配

相邻层之间的尺寸不匹配是常见的误差。 虽然大多数框架会自动推断每个层的尺寸大小,但这个错误仍然会发生。 典型解决方案是绘制出每一层的尺寸,以识别和纠正尺寸不匹配。

深度学习常用术语

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值