10分钟看懂Batch Normalization的好处

Batch normalization是一个用于优化训练神经网络的技巧。具备有以下几个优点

1. 训练的更快

因为在每一轮训练中的前向传播和反响传播的额外计算会造成更慢的训练。Batch normalization可以让收敛速度更快。总的训练时间更短。

2. 容忍更高的学习率(learning rate)

为了网络能收敛,梯度下降通常需要更小的学习率。但是神经网络的层次越深,则反响传播时梯度越来越小,因此需要更多的训练迭代次数。Batch normalization可以容忍更高的学习率,则梯度下降的幅度更大,也就加快了训练的速度。

3. 让权重更容易初始化

权重的初始化通常来说比较麻烦,尤其是深层的神经网络。Batch normalization可以降低权重初始化的值的分布的影响。

4. 可支持更多的激活函数

有些激活函数在某些场景下表现很差。比如Sigmoid的随层次的增加梯度衰减的俄很快,也就无法用在深层的神经网络。ReLU的问题是可能导致神经元的死亡(即ReLU掉入0的区域),所以我们要小心输入他的值的范围。Batch normalization可以规范化输入,这些激活函数也可以使用了。

5. 简化创建深层的神经网络

以上四点就降低了创建神经网络的要求,可以创建更深层的神经网络,而更深层的网络也更有机会表现的更好。

6. 提供了一点正则化的功能

虽然Batch normalization 在某些情况下增加了一些网络的噪声。在Inception模型中,Batch normalization 起到了和dropout一样的正则化效果。考虑用Batch normalization 替代一些dropout的情况。

7. 可能得到更好的结果

一些实验结果表明Batch normalization 可以提高训练的表现。不过他主要还是用优化训练,让训练更快的方面。因为他能让你的网络训练的更快,你就能比不用Batch normalization 的时候迭代更多次或者收敛的更快。他也能让你构建更深的网络,深的网络有机会表现的更好。

总结

推荐使用Batch normalization~

原文发布于微信公众号 - 林欣哲(gh_aba6caba3ac7)

原文发表时间:2018-03-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏marsggbo

DeepLearning.ai学习笔记(二)改善深层神经网络:超参数调试、正则化以及优化--Week2优化算法

1. Mini-batch梯度下降法 介绍 假设我们的数据量非常多,达到了500万以上,那么此时如果按照传统的梯度下降算法,那么训练模型所花费的时间将非常巨大,...

22560
来自专栏计算机视觉战队

机器学习------令人头疼的正则化项

监督机器学习问题无非就是在规则化参数的同时最小化误差。最小化误差是为了让模型拟合训练数据,而规则化参数是防止模型过分拟合训练数据,但训练误差小并不是最终目标,最...

40440
来自专栏计算机视觉战队

梯度优化

梯度下降是最流行的优化算法之一并且目前为止是优化神经网络最常见的算法。与此同时,每一个先进的深度学习库都包含各种算法实现的梯度下降(比如lasagne, caf...

41690
来自专栏专知

【深度学习】一文教你如何确定好的“学习率”

【导读】近日,数据科学家Hafidz Zulkifli发布一篇文章,主要讲解了深度学习中的“学习率”,以及如何利用学习率来提高深度学习模型的性能并减少训练时间。...

41650
来自专栏磐创AI技术团队的专栏

深度学习中的正则化技术概述(附Python+keras实现代码)

22510
来自专栏CSDN技术头条

使用scikit-learn解释随机森林算法

在以前的一篇博文里,我讨论过如何将随机森林算法转化为一个“白盒”,这样每次预测就能被分解为各项特征的贡献和,即 ? 我多次想找相关的代码。然而,绝大多数的随机森...

202100
来自专栏人工智能LeadAI

深度学习最常用的学习算法:Adam优化算法

听说你了解深度学习最常用的学习算法:Adam优化算法?-深度学习世界。 深度学习常常需要大量的时间和机算资源进行训练,这也是困扰深度学习算法开发的重大原因。虽然...

1.8K90
来自专栏iOSDevLog

问题构建 (Framing):机器学习主要术语

300100
来自专栏杨熹的专栏

强化学习 10: 实践中的一些技巧

1. 我们知道在交叉熵方法中,例如进行一百次实验,那么只需要选择其中最好的25次。这样的采样其实是效率很低的。

6910
来自专栏钱塘大数据

【报告】一篇文章详解深度学习的原理和运用

作者:数据挖掘与数据分析 深度学习 ( Deep Learning ) 是机器学习 ( Machine Learning ) 中近年来备受重视的一支,深度学习根...

36660

扫码关注云+社区

领取腾讯云代金券