BN 层原理解析_解析器

BN 层原理解析_解析器1训练数据为什么要和测试数据同分布?看看下图,如果我们的网络在左上角的数据训练的,已经找到了两者的分隔面w,如果测试数据是右下角这样子,跟训练数据完全不在同一个分布上面,你觉得泛化能力能好吗?2为什么白化训练数据能够加速训练进程如下图,训练数据如果分布在右上角,我们在初始化网络参数w和b的时候,可能得到的分界面是左下角那些线,需要经过训练不断调整才能得到穿过数据点的分界面,这个…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1 训练数据为什么要和测试数据同分布?

看看下图,如果我们的网络在左上角的数据训练的,已经找到了两者的分隔面w,如果测试数据是右下角这样子,跟训练数据完全不在同一个分布上面,你觉得泛化能力能好吗?
这里写图片描述

2 为什么白化训练数据能够加速训练进程

如下图,训练数据如果分布在右上角,我们在初始化网络参数w和b的时候,可能得到的分界面是左下角那些线,需要经过训练不断调整才能得到穿过数据点的分界面,这个就使训练过程变慢了;如果我们将数据白化后,均值为0,方差为1,各个维度数据去相关,得到的数据点就是坐标上的一个圆形分布,如下图中间的数据点,这时候随便初始化一个w,b设置为0,得到的分界面已经穿过数据了,因此训练调整,训练进程会加快
这里写图片描述

3 什么是梯度爆炸

如果网络使用sigmod激活函数,误差在向前传递的时候,经过sigmod单元,需要乘sigmod的梯度,而sigmod的梯度最大是0.25,因此越向前传递,误差就越小了,这就是梯度消散,但是梯度爆炸是什么?注意误差在经过全连接或者卷积层时,也要乘以权重w,如果w都比较大,大过sigmod造成的减小,这样越往前误差就越来越大,梯度爆炸了!

4 为什么BN层可以加速网络收敛速度

原理如上面2类似,BN层的计算图如下面所示,x是输入数据,到xhat均值方差归一化,也就是类似2中白化的加速的原理,后面xhat到y其实就是普通的一个线性变换,类似全连接但是没有交叉,将这个线性变换和后面的网络看成一体的,是不是就跟2中情况一样了?如果没有BN层,x直接输入后面的网络,训练过程中x分布的变换必然导致后面的网络去调整学习以来适应x的均值和方差,映入了BN层,xhat是一个归一化的数据,代价就是网络中多了一个线性层y,但是前者带来的性能更加大,因此加速了。
这里写图片描述

后面想想,感觉还是有点不清楚,虽然xhat是个归一化分布,但是y不一定是啊,最终是y输入到子网络,对原网络不一定有效吧?这里怀疑真正对加速起作用的是xhat到y的变换,这种单独对维度的线性变换只是在全连接的基础上少了输入输出间的交叉连接,这种形式的变换可能非常有利于分布的调整,如果在网络输入最前端加入这样一层,那岂不是无需对输入进行归一化了?后面有时间进行验证。那是不是x到xhat的变换就可以去掉了呢?不是,x到xhat的变换作用是缓解梯度弥散,这一点可以看下下面一点

5 为什么BN层可以改善梯度弥散

下面xhat到x的梯度公式,可以表示为正常梯度乘一个系数a,再加b,这里加了个b,整体给梯度一个提升,补偿sigmod上的损失,改善了梯度弥散问题。
这里写图片描述
这里写图片描述

6 为什么BN层一般用在线性层和卷积层后面,而不是放在非线性单元后

原文中是这样解释的,因为非线性单元的输出分布形状会在训练过程中变化,归一化无法消除他的方差偏移,相反的,全连接和卷积层的输出一般是一个对称,非稀疏的一个分布,更加类似高斯分布,对他们进行归一化会产生更加稳定的分布。其实想想也是的,像relu这样的激活函数,如果你输入的数据是一个高斯分布,经过他变换出来的数据能是一个什么形状?小于0的被抑制了,也就是分布小于0的部分直接变成0了,这样不是很高斯了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184202.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • bowtie 加mn标签_Bowtie 比对「建议收藏」

    bowtie 加mn标签_Bowtie 比对「建议收藏」【Bowtie】DNA序列拼接的原理【Jenny点评】我一直以为Bowtie是一个短序列拼接工作,实际上这是错误的。它不是序列拼接工作,只是一个序列比对的工具。最后的结果是相对index而言,对各个短序列进行定位。——————短序列比对的原理如何?目前有哪些常用的短序列比对软件?okhttp://blog.sina.com.cn/s/blog_9617895f01011n…

    2025年7月14日
    3
  • 新闻专栏~ART让Android更流畅

    新闻专栏~ART让Android更流畅

    2022年1月22日
    45
  • 西班牙语dele等级_DELE——西班牙语水平考试

    西班牙语dele等级_DELE——西班牙语水平考试西班牙语的等级考试在我国发展比较晚,自2004年起我国教育部才开始组织。而且国内的西班牙语等级考试的对象仅为在校西班牙语专业的本科生,每年5月左右考试。水平测试相当于英语四级。另外职称外语考试中有西班牙语的考试,外国学生进入公立大学须通过西班牙语国家等级考试和大学入学考试。DELE简介:作为一门外语的西班牙语水平测试:DELE(DiplomasdeEspa?olComoLenguaEx…

    2022年5月30日
    39
  • 新编原创-Hcash(hsr)矿工指南,含出矿算法分析、各种显卡算力分析和收益计算模型

    新编原创-Hcash(hsr)矿工指南,含出矿算法分析、各种显卡算力分析和收益计算模型Hcash超级现金于2017-9-13日正式开始切换到POW/POS挖矿模式,本文旨在修正和完善前篇【深度分析-从源代码看Hcash(超级现金)的矿业指南和矿工规划,含挖矿收益预估】中的分析,针对HSR矿工进行详尽的指导和收益模型分析。

    2022年5月2日
    71
  • centos7.4安装docker_docker打包python应用

    centos7.4安装docker_docker打包python应用前言当我们在一台电脑上搭建了python3.6的环境,下次换台电脑,又得重新搭建一次,设置环境变量等操作。好不容易安装好,一会提示pip不是内部或外部命令,一会又提示pip:commandno

    2022年7月29日
    10
  • SCSA考试大纲[通俗易懂]

    SCSA考试大纲[通俗易懂]认证考试形式和结构一、试卷满分及时间试卷满分为120分,考试时间为80分钟,80分通过二、考试形式在线考试三、答题方式闭卷四、试卷内容知识结构试题比例网络基础15%信息安全基础5%数据传输安全15%上网行为安全30%边界安全20%…

    2022年6月20日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号