ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

batchnorm(Batch Normalization)

2022-01-29 16:01:52  阅读:213  来源: 互联网

标签:训练 BN Batch 神经网络 归一化 batchnorm Normalization 图片


先来思考一个问题:我们知道在神经网络训练开始前,都要对输入数据做一个归一化处理,那么具体为什么需要归一化呢?

归一化后有什么好处呢?原因在于神经网络学习过程本质就是为了学习数据分布,一旦训练数据与测试数据的分布不同,那么网络的泛化能力也大大降低;

另外一方面,一旦每批训练数据的分布各不相同(batch 梯度下降),那么网络的就要在每次迭代都去学习适应不同的分布,这样将会大大降低网络的训练速度,

这也正是为什么我们需要对数据都要做一个归一化预处理的原因。

 

IID独立同分布假设:机器学习领域有个很重要的假设:IID独立同分布假设,就是假设训练数据和测试数据是满足相同分布的,

这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。

Batch Normalization:BatchNorm就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的。

 

在原论文中作者认为bn层放在激活函数之前,但是后续有人发现放在激活函数之后效果更好。

问题:

局限 1:如果 Batch Size 太小,则 BN 效果明显下降。

局限 2:对于有些像素级图片生成任务来说,BN 效果不佳;

对于图片分类等任务,只要能够找出关键特征,就能正确分类,这算是一种粗粒度的任务,在这种情形下通常 BN 是有积极效果的。但是对于有些输入输出都是图片的像素级别图片生成任务,比如图片风格转换等应用场景,使用 BN 会带来负面效果,这很可能是因为在 Mini-Batch 内多张无关的图片之间计算统计量,弱化了单张图片本身特有的一些细节信息。

https://blog.csdn.net/u014106566/article/details/96436577?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5.pc_relevant_default&spm=1001.2101.3001.4242.4&utm_relevant_index=8

 

 

 

 

 

标签:训练,BN,Batch,神经网络,归一化,batchnorm,Normalization,图片
来源: https://www.cnblogs.com/h694879357/p/15840744.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有