模型训练与测试 -----BN层()

Feature normalization Feature scaliing

首先是为什么要归一化或者标准化,从下面可以看出来如果我们的输入的样本或者特征值,他们之间的差异比较大,那么其实我们的梯度下降图是畸形的。比如下面因为x1比x2小太多,所以梯度没有x2 那么浮夸。但是如果他们是一样的话,那么他们就有右边这样的东西了。所以为了好的梯度下降,我们需要针对不同的参数用不同的learning rate。这一个是已经有实现的就是我们自适应优化器的出现,但是其实优化器对他们的影响还是有限的,但是如果我们在处理前,将图变成右边那样呢?那是不是其实我们就可以更好的做梯度下降了,所以到这里我们可以看到了BN层或者归一化的作用力。
在这里插入图片描述
在这里插入图片描述

其他原因呢?
之所以就会研究BN层是因为,我在用pytorch写模型的时候,会发现pytorch给了两个东西一个叫做model.train()
一个叫做model.eval().这两者的区别在于如果你要训练模型那么你要用第一句,如果你是测试模型那么你要用第二句。而两者的区别在于他们对BN层和dropout层的处理是不一样的。所以我们发现训练和测试的过程,我们看待BN层也是不一样的。也因为好奇,所以我们去深入看看BN层在训练的过程的作用。要不也不会叫做batchnormalization了,因为和

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值