深度学习模型训练时损失在下降但是波动较大_深度学习知识点总结四(防止过拟合的方法)...

深度学习中如何防止过拟合

1、更多数据

其实更多数据,是一种很好的防止过拟合的方法。之所以过拟合,其实就是因为模型本身见到的数据太少了,比如对于猫这类动物,如果训练数据集中只有一个正拍且坐立的猫,那么当过拟合时,模型往往有可能只能识别出这类姿态的猫,像跳跃的猫、局部捕捉的猫、反转的猫等等可能都识别不出来了,因为让模型见更多的数据是有好处的,而且真的可以防止过拟合。

2、Dropout为什么能够防止过拟合?算法原理是怎样的?

主要思想是分布式特征表达,在训练的时候,随机丢弃一些节点,使这些节点不参与到参数的更新训练中(一般设置为0.5),然后进行放回,当有数据再次进行更新时,再随机进行选举,主要由这三个优点:

https://blog.csdn.net/yhily2008/article/details/80414218

https://blog.csdn.net/qq_19672707/article/details/88740832(讲的比较详细的一篇)

3、BN的作用?公式是怎么样子的?公式中的含义?

BN的最大作用其实是加速训练,也会在一定程度上防止过拟合,另外,当BN和ReLU这类函数一起使用的时候,还可以在一定程度上解决Dead ReLU现象。

4、为什么需要BN算法?

深度神经网络模型的训练为什么会很困难?其中一个重要的原因是,深度神经网络涉及到很多层的叠加,而每一层的参数更新会导致上层的输入数据分布发生变化,通过层层叠加,高层的输入分布变化会非常剧烈,这就使得高层需要不断去重新适应底层的参数更新。为了训好模型,我们需要非常谨慎地去设定学习率、初始化权重、以及尽可能细致的参数更新策略。

Google 将这一现象总结为 Internal Covariate Shift!!! 简称 ICS

那么ICS会导致什么问题?

简而言之,每个神经元的输入数据不再是“独立同分布”。

其一,上层参数需要不断适应新的输入数据分布,降低学习速度。

其二,下层输入的变化可能趋向于变大或者变小,导致上层落入饱和区,使得学习过早停止。

其三,每层的更新都会影响到其它层,因此每层的参数更新策略需要尽可能的谨慎。

5、BN算法如何防止过拟合的?BN算法如何进行网络训练加速的?

在训练中,BN的使用使得一个mini-batch中的所有样本都被关联在了一起,因此网络不会从某一个训练样本中生成确定的结果。其实这句话的意思是,BN的使用,使得网络在训练时不依靠于某一个样本进行更新或者输出,而是依赖于整个ba

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在深度学习模型训练中,损失值和准确率是两个非常重要的指标,它们反映了模型的表现和学习进程。以下是它们各种变化情况及对应的参数调节方式: 1. 损失值上升,准确率下降: 这种情况通常说明模型了,也就是在训练集上表现很好,但在测试集上表现较差。解决方法可以是增加训练数据、减少模型复杂度、加入正则化等。 2. 损失下降,准确率不变或下降: 这种情况可能是因为模型没有充分学习到数据的特征,或者说模型过于简单。可以尝试增加模型复杂度、调整学习率等。 3. 损失值不变或波动,准确率上升: 这种情况可能是因为模型已经学习到数据的特征,但仍有一些噪声干扰,可以尝试增加训练数据、调整学习率等。 4. 损失值和准确率均不变: 这种情况可能是因为模型已经收敛,可以尝试增加训练轮数、调整学习率等。 对于参数调节,以下是一些常用的方法: 1. 学习率调节: 当损失值上升,可以尝试减小学习率,当损失值不变或波动,可以尝试增加学习率。 2. 正则化: 增加正则化项可以减小模型复杂度,防止。 3. 增加训练数据: 增加训练数据可以帮助模型更好地学习数据的特征,防止。 4. 增加模型复杂度: 增加模型的复杂度可以帮助模型更好地学习数据的特征,但也容易导致过。 5. 早停: 当损失值不再下降,可以停止训练防止
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值