当前位置: 首页 > news >正文

网站搭建修改收费依据阿里云服务器挂游戏

网站搭建修改收费依据,阿里云服务器挂游戏,网站建设活动策划,宝安做网站公司深度学习 文章目录 深度学习前言一、“Internal Covariate Shift”问题二、BatchNorm的本质思想三、训练阶段如何做BatchNorm四、BatchNorm的推理(Inference)过程五、BatchNorm的好处六、机器学习中mini-batch和batch有什么区别 前言 Batch Normalization作为最近一年来DL的重…深度学习 文章目录 深度学习前言一、“Internal Covariate Shift”问题二、BatchNorm的本质思想三、训练阶段如何做BatchNorm四、BatchNorm的推理(Inference)过程五、BatchNorm的好处六、机器学习中mini-batch和batch有什么区别 前言 Batch Normalization作为最近一年来DL的重要成果已经广泛被证明其有效性和重要性。虽然有些细节处理还解释不清其理论原因但是实践证明好用才是真的好别忘了DL从Hinton对深层网络做Pre-Train开始就是一个经验领先于理论分析的偏经验的一门学问。本文是对论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》的导读。 机器学习领域有个很重要的假设IID独立同分布假设就是假设训练数据和测试数据是满足相同分布的这是通过训练数据获得的模型能够在测试集获得好的效果的一个基本保障。那BatchNorm的作用是什么呢BatchNorm就是在深度神经网络训练过程中使得每一层神经网络的输入保持相同分布的。 接下来一步一步的理解什么是BN。 为什么深度神经网络随着网络深度加深训练起来越困难收敛越来越慢这是个在DL领域很接近本质的好问题。很多论文都是解决这个问题的比如ReLU激活函数再比如Residual NetworkBN本质上也是解释并从某个不同的角度来解决这个问题的。 一、“Internal Covariate Shift”问题 从论文名字可以看出BN是用来解决“Internal Covariate Shift”问题的那么首先得理解什么是“Internal Covariate Shift” 论文首先说明Mini-Batch SGD相对于One Example SGD的两个优势梯度更新方向更准确并行计算速度快为什么要说这些因为BatchNorm是基于Mini-Batch SGD的所以先夸下Mini-Batch SGD当然也是大实话然后吐槽下SGD训练的缺点超参数调起来很麻烦。作者隐含意思是用BN就能解决很多SGD的缺点 接着引入covariate shift的概念如果ML系统实例集合X,Y中的输入值X的分布老是变这不符合IID假设网络模型很难稳定的学规律这不得引入迁移学习才能搞定吗我们的ML系统还得去学习怎么迎合这种分布变化啊。对于深度学习这种包含很多隐层的网络结构在训练过程中因为各层参数不停在变化所以每个隐层都会面临covariate shift的问题也就是在训练过程中隐层的输入分布老是变来变去这就是所谓的“Internal Covariate Shift”Internal指的是深层网络的隐层是发生在网络内部的事情而不是covariate shift问题只发生在输入层。 然后提出了BatchNorm的基本思想能不能让每个隐层节点的激活输入分布固定下来呢这样就避免了“Internal Covariate Shift”问题了。 BN不是凭空拍脑袋拍出来的好点子它是有启发来源的之前的研究表明如果在图像处理中对输入图像进行白化Whiten操作的话——所谓白化就是对输入数据分布变换到0均值单位方差的正态分布——那么神经网络会较快收敛那么BN作者就开始推论了图像是深度神经网络的输入层做白化能加快收敛那么其实对于深度网络来说其中某个隐层的神经元是下一层的输入意思是其实深度神经网络的每一个隐层都是输入层不过是相对下一层来说而已那么能不能对每个隐层都做白化呢这就是启发BN产生的原初想法而BN也确实就是这么做的可以理解为对深层神经网络每个隐层神经元的激活值做简化版本的白化操作。 二、BatchNorm的本质思想 BN的基本思想其实相当直观因为深层神经网络在做非线性变换前的激活输入值就是那个xWUBU是输入随着网络深度加深或者在训练过程中其分布逐渐发生偏移或者变动之所以训练收敛慢一般是整体分布逐渐往非线性函数的取值区间的上下限两端靠近对于Sigmoid函数来说意味着激活输入值WUB是大的负值或正值所以这导致反向传播时低层神经网络的梯度消失这是训练深层神经网络收敛越来越慢的本质原因而BN就是通过一定的规范化手段把每层神经网络任意神经元这个输入值的分布强行拉回到均值为0方差为1的标准正态分布其实就是把越来越偏的分布强制拉回比较标准的分布这样使得激活输入值落在非线性函数对输入比较敏感的区域这样输入的小变化就会导致损失函数较大的变化意思是这样让梯度变大避免梯度消失问题产生而且梯度变大意味着学习收敛速度快能大大加快训练速度。 THAT’S IT。其实一句话就是对于每个隐层神经元把逐渐向非线性函数映射后向取值区间极限饱和区靠拢的输入分布强制拉回到均值为0方差为1的比较标准的正态分布使得非线性变换函数的输入值落入对输入比较敏感的区域以此避免梯度消失问题。因为梯度一直都能保持比较大的状态所以很明显对神经网络的参数调整效率比较高就是变动大就是说向损失函数最优值迈动的步子大也就是说收敛地快。BN说到底就是这么个机制方法很简单道理很深刻。 上面说得还是显得抽象下面更形象地表达下这种调整到底代表什么含义。 图1 几个正态分布 假设某个隐层神经元原先的激活输入x取值符合正态分布正态分布均值是-2方差是0.5对应上图中最左端的浅蓝色曲线通过BN后转换为均值为0方差是1的正态分布对应上图中的深蓝色图形意味着什么意味着输入x的取值正态分布整体右移2均值的变化图形曲线更平缓了方差增大的变化。这个图的意思是BN其实就是把每个隐层神经元的激活输入分布从偏离均值为0方差为1的正态分布通过平移均值压缩或者扩大曲线尖锐程度调整为均值为0方差为1的正态分布。 那么把激活输入x调整到这个正态分布有什么用首先我们看下均值为0方差为1的标准正态分布代表什么含义 图2 均值为0方差为1的标准正态分布图 这意味着在一个标准差范围内也就是说64%的概率x其值落在[-1,1]的范围内在两个标准差范围内也就是说95%的概率x其值落在了[-2,2]的范围内。那么这又意味着什么我们知道激活值xWUB,U是真正的输入x是某个神经元的激活值假设非线性函数是sigmoid那么看下sigmoid(x)其图形 图3. Sigmoid(x) 及sigmoid(x)的导数为G’f(x)*(1-f(x))因为f(x)sigmoid(x)在0到1之间所以G’在0到0.25之间其对应的图如下 图4 Sigmoid(x)导数图 假设没有经过BN调整前x的原先正态分布均值是-6方差是1那么意味着95%的值落在了[-8,-4]之间那么对应的Sigmoidx函数的值明显接近于0这是典型的梯度饱和区在这个区域里梯度变化很慢为什么是梯度饱和区请看下sigmoid(x)如果取值接近0或者接近于1的时候对应导数函数取值接近于0意味着梯度变化很小甚至消失。而假设经过BN后均值是0方差是1那么意味着95%的x值落在了[-2,2]区间内很明显这一段是sigmoid(x)函数接近于线性变换的区域意味着x的小变化会导致非线性函数值较大的变化也即是梯度变化较大对应导数函数图中明显大于0的区域就是梯度非饱和区。 从上面几个图应该看出来BN在干什么了吧其实就是把隐层神经元激活输入xWUB从变化不拘一格的正态分布通过BN操作拉回到了均值为0方差为1的正态分布即原始正态分布中心左移或者右移到以0为均值拉伸或者缩减形态形成以1为方差的图形。什么意思就是说经过BN后目前大部分Activation的值落入非线性函数的线性区内其对应的导数远离导数饱和区这样来加速训练收敛过程。 但是很明显看到这里稍微了解神经网络的读者一般会提出一个疑问如果都通过BN那么不就跟把非线性函数替换成线性函数效果相同了这意味着什么我们知道如果是多层的线性函数变换其实这个深层是没有意义的因为多层线性网络跟一层线性网络是等价的。 文章中举了个例子在sigmoid激活函数的中间部分函数近似于一个线性函数如下图所示使用BN后会使归一化后的数据仅使用这一段线性的部分。 可以看到在[0.2, 0.8]范围内sigmoid函数基本呈线性递增甚至在[0.1, 0.9]范围内sigmoid函数都是类似于线性函数的如果只用这一段那网络不就成了线性网络了么这显然不是大家愿意见到的。 这意味着网络的表达能力下降了这也意味着深度的意义就没有了。所以BN为了保证非线性的获得对变换后的满足均值为0方差为1的x又进行了scale加上shift操作(yscale*xshift)每个神经元增加了两个参数scale和shift参数这两个参数是通过训练学习到的意思是通过scale和shift把这个值从标准正态分布左移或者右移一点并长胖一点或者变瘦一点每个实例挪动的程度不一样这样等价于非线性函数的值从正中心周围的线性区往非线性区动了动。核心思想应该是想找到一个线性和非线性的较好平衡点既能享受非线性的较强表达能力的好处又避免太靠非线性区两头使得网络收敛速度太慢。当然这是我的理解论文作者并未明确这样说。但是很明显这里的scale和shift操作是会有争议的因为按照论文作者论文里写的理想状态就会又通过scale和shift操作把变换后的x调整回未变换的状态那不是饶了一圈又绕回去原始的“Internal Covariate Shift”问题里去了吗感觉论文作者并未能够清楚地解释scale和shift操作的理论原因。 三、训练阶段如何做BatchNorm 上面是对BN的抽象分析和解释具体在Mini-Batch SGD下做BN怎么做其实论文里面这块写得很清楚也容易理解。为了保证这篇文章完整性这里简单说明下。 假设对于一个深层神经网络来说其中两层结构如下    图5 DNN其中两层 要对每个隐层神经元的激活值做BN可以想象成每个隐层又加上了一层BN操作层它位于XWUB激活值获得之后非线性函数变换之前其图示如下    图6. BN操作 对于Mini-Batch SGD来说一次训练过程里面包含m个训练实例其具体BN操作就是对于隐层内每个神经元的激活值来说进行如下变换      要注意这里t层某个神经元的x(k)不是指原始输入就是说不是t-1层每个神经元的输出而是t层这个神经元的线性激活xWUB这里的U才是t-1层神经元的输出。变换的意思是某个神经元对应的原始的激活x通过减去mini-Batch内m个实例获得的m个激活x求得的均值E(x)并除以求得的方差Var(x)来进行转换。 上文说过经过这个变换后某个神经元的激活x形成了均值为0方差为1的正态分布目的是把值往后续要进行的非线性变换的线性区拉动增大导数值增强反向传播信息流动性加快训练收敛速度。但是这样会导致网络表达能力下降为了防止这一点每个神经元增加两个调节参数scale和shift这两个参数是通过训练来学习到的用来对变换后的激活反变换使得网络表达能力增强即对变换后的激活进行如下的scale和shift操作这其实是变换的反操作 BN其具体操作流程如论文中描述的一样 过程非常清楚就是上述公式的流程化描述这里不解释了直接应该能看懂。 四、BatchNorm的推理(Inference)过程 BN在训练的时候可以根据Mini-Batch里的若干训练实例进行激活数值调整但是在推理inference的过程中很明显输入就只有一个实例看不到Mini-Batch其它实例那么这时候怎么对输入做BN呢因为很明显一个实例是没法算实例集合求出的均值和方差的。这可如何是好 既然没有从Mini-Batch数据里可以得到的统计量那就想其它办法来获得这个统计量就是均值和方差。可以用从所有训练实例中获得的统计量来代替Mini-Batch里面m个训练实例获得的均值和方差统计量因为本来就打算用全局的统计量只是因为计算量等太大所以才会用Mini-Batch这种简化方式的那么在推理的时候直接用全局统计量即可。 决定了获得统计量的数据范围那么接下来的问题是如何获得均值和方差的问题。很简单因为每次做Mini-Batch训练时都会有那个Mini-Batch里m个训练实例获得的均值和方差现在要全局统计量只要把每个Mini-Batch的均值和方差统计量记住然后对这些均值和方差求其对应的数学期望即可得出全局统计量即 在测试时所使用的均值和方差是整个训练集的均值和方差。整个训练集的均值和方差的值通常是在训练的同时用移动平均法来计算的。 关于滑动平均值怎么求请看链接深度学习中的Batch Normalization_whitesilence的博客-CSDN博客 有了均值和方差每个隐层神经元也已经有对应训练好的Scaling参数和Shift参数就可以在推导的时候对每个神经元的激活数据计算NB进行变换了在推理过程中进行BN采取如下方式 这个公式其实和训练时 是等价的通过简单的合并计算推导就可以得出这个结论。那么为啥要写成这个变换形式呢我猜作者这么写的意思是在实际运行的时候按照这种变体形式可以减少计算量为啥呢因为对于每个隐层节点来说 都是固定值这样这两个值可以事先算好存起来在推理的时候直接用就行了这样比原始的公式每一步骤都现算少了除法的运算过程乍一看也没少多少计算量但是如果隐层节点个数多的话节省的计算量就比较多了。 这里其实是和训练保持一致因为都要先减去训练集的均值再除以方差。这里你把训练时候的x^(k)带进去算下就能理解测试时候的了。 五、BatchNorm的好处 BatchNorm为什么NB呢关键还是效果好。①不仅仅极大提升了训练速度收敛过程大大加快②还能增加分类效果一种解释是这是类似于Dropout的一种防止过拟合的正则化表达方式所以不用Dropout也能达到相当的效果③另外调参过程也简单多了对于初始化要求没那么高而且可以使用大的学习率等。总而言之经过这么简单的变换带来的好处多得很这也是为何现在BN这么快流行起来的原因。 六、机器学习中mini-batch和batch有什么区别 在机器学习和深度学习中“mini-batch” 和 “batch” 是两个常用的术语它们之间存在一些区别。 Mini-batch小批量Mini-batch 是指从训练数据集中选择的较小的数据子集。在训练模型时通常将整个训练数据集划分为多个 mini-batch。每个 mini-batch 包含一定数量的训练样本通常是2的幂次方例如 32、64 或 128。模型使用每个 mini-batch 的样本来进行前向传播、计算损失和反向传播然后根据这些样本的梯度更新模型的参数。使用 mini-batch 的主要目的是减少计算开销和内存占用并提高训练的效率。 Batch批量Batch 是指将整个训练数据集作为一个大批量进行训练。在每次迭代时模型使用整个训练数据集的样本进行前向传播、计算损失和反向传播然后根据这些样本的梯度更新模型的参数。相比于 mini-batch使用 batch 的训练过程可能会占用更多的内存和计算资源因为需要同时处理整个数据集。 因此mini-batch 和 batch 的区别在于处理的数据规模不同。mini-batch 是一个相对较小的数据子集用于训练过程中的迭代更新而 batch 是整个训练数据集的一次性处理。选择使用 mini-batch 还是 batch 取决于数据集的大小、计算资源的限制以及训练的效率要求。通常情况下mini-batch 是更常用和常见的训练方式。
文章转载自:
http://www.morning.zlcsz.cn.gov.cn.zlcsz.cn
http://www.morning.pkggl.cn.gov.cn.pkggl.cn
http://www.morning.xyyplp.cn.gov.cn.xyyplp.cn
http://www.morning.lsmnn.cn.gov.cn.lsmnn.cn
http://www.morning.dlhxj.cn.gov.cn.dlhxj.cn
http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn
http://www.morning.dhnqt.cn.gov.cn.dhnqt.cn
http://www.morning.zdtfr.cn.gov.cn.zdtfr.cn
http://www.morning.qkqpy.cn.gov.cn.qkqpy.cn
http://www.morning.stmkm.cn.gov.cn.stmkm.cn
http://www.morning.tgpgx.cn.gov.cn.tgpgx.cn
http://www.morning.kstgt.cn.gov.cn.kstgt.cn
http://www.morning.kjyhh.cn.gov.cn.kjyhh.cn
http://www.morning.mjbnp.cn.gov.cn.mjbnp.cn
http://www.morning.qypjk.cn.gov.cn.qypjk.cn
http://www.morning.ynrzf.cn.gov.cn.ynrzf.cn
http://www.morning.zcfsq.cn.gov.cn.zcfsq.cn
http://www.morning.qydgk.cn.gov.cn.qydgk.cn
http://www.morning.sgtq.cn.gov.cn.sgtq.cn
http://www.morning.yrjxr.cn.gov.cn.yrjxr.cn
http://www.morning.ydryk.cn.gov.cn.ydryk.cn
http://www.morning.gxcym.cn.gov.cn.gxcym.cn
http://www.morning.xhddb.cn.gov.cn.xhddb.cn
http://www.morning.spftz.cn.gov.cn.spftz.cn
http://www.morning.nkjxn.cn.gov.cn.nkjxn.cn
http://www.morning.qrwnj.cn.gov.cn.qrwnj.cn
http://www.morning.nqgds.cn.gov.cn.nqgds.cn
http://www.morning.hrqfl.cn.gov.cn.hrqfl.cn
http://www.morning.mrtdq.cn.gov.cn.mrtdq.cn
http://www.morning.wlddq.cn.gov.cn.wlddq.cn
http://www.morning.qszyd.cn.gov.cn.qszyd.cn
http://www.morning.prgdy.cn.gov.cn.prgdy.cn
http://www.morning.jksgy.cn.gov.cn.jksgy.cn
http://www.morning.zlchy.cn.gov.cn.zlchy.cn
http://www.morning.stbhn.cn.gov.cn.stbhn.cn
http://www.morning.fwqgy.cn.gov.cn.fwqgy.cn
http://www.morning.qgjgsds.com.cn.gov.cn.qgjgsds.com.cn
http://www.morning.nqpy.cn.gov.cn.nqpy.cn
http://www.morning.jhrqn.cn.gov.cn.jhrqn.cn
http://www.morning.pwdgy.cn.gov.cn.pwdgy.cn
http://www.morning.djbhz.cn.gov.cn.djbhz.cn
http://www.morning.nxkyr.cn.gov.cn.nxkyr.cn
http://www.morning.srgsb.cn.gov.cn.srgsb.cn
http://www.morning.yntsr.cn.gov.cn.yntsr.cn
http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn
http://www.morning.npbgj.cn.gov.cn.npbgj.cn
http://www.morning.gwsll.cn.gov.cn.gwsll.cn
http://www.morning.mjpgl.cn.gov.cn.mjpgl.cn
http://www.morning.nwjzc.cn.gov.cn.nwjzc.cn
http://www.morning.bwrbm.cn.gov.cn.bwrbm.cn
http://www.morning.njpny.cn.gov.cn.njpny.cn
http://www.morning.sgpnz.cn.gov.cn.sgpnz.cn
http://www.morning.krswn.cn.gov.cn.krswn.cn
http://www.morning.cnvlog.cn.gov.cn.cnvlog.cn
http://www.morning.sblgt.cn.gov.cn.sblgt.cn
http://www.morning.ddrdt.cn.gov.cn.ddrdt.cn
http://www.morning.weiwt.com.gov.cn.weiwt.com
http://www.morning.eviap.com.gov.cn.eviap.com
http://www.morning.bangaw.cn.gov.cn.bangaw.cn
http://www.morning.lxhgj.cn.gov.cn.lxhgj.cn
http://www.morning.qlznd.cn.gov.cn.qlznd.cn
http://www.morning.mlwpr.cn.gov.cn.mlwpr.cn
http://www.morning.wnbpm.cn.gov.cn.wnbpm.cn
http://www.morning.ypfw.cn.gov.cn.ypfw.cn
http://www.morning.wflsk.cn.gov.cn.wflsk.cn
http://www.morning.bbyqz.cn.gov.cn.bbyqz.cn
http://www.morning.sogou66.cn.gov.cn.sogou66.cn
http://www.morning.jnhhc.cn.gov.cn.jnhhc.cn
http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn
http://www.morning.lmfxq.cn.gov.cn.lmfxq.cn
http://www.morning.wgcng.cn.gov.cn.wgcng.cn
http://www.morning.zwhtr.cn.gov.cn.zwhtr.cn
http://www.morning.cdrzw.cn.gov.cn.cdrzw.cn
http://www.morning.newfeiya.com.cn.gov.cn.newfeiya.com.cn
http://www.morning.vnuwdy.cn.gov.cn.vnuwdy.cn
http://www.morning.tqrxm.cn.gov.cn.tqrxm.cn
http://www.morning.tjkth.cn.gov.cn.tjkth.cn
http://www.morning.qgmbx.cn.gov.cn.qgmbx.cn
http://www.morning.hyhzt.cn.gov.cn.hyhzt.cn
http://www.morning.fphbz.cn.gov.cn.fphbz.cn
http://www.tj-hxxt.cn/news/272495.html

相关文章:

  • 推荐邯郸网站建设南京优质网站建设方案
  • 怎样创建网站以及建站流程是什么网站换域名了怎么办
  • 网站建设 文件源代码约定农业推广专业
  • 平面设计专业网站商城网站建设用乐云seo系统
  • 帝国网站免费模板hao123网站源码制作2015最新仿
  • 漳州博大网站建设装潢设计师要学什么
  • 高端品销售网站wordpress 错误代码500
  • 建立网站的链接结构有哪几种形式怎么去掉2345网址导航
  • 黑龙江网上建设局报建网站哪些网站可以做代理商
  • 网站前端是做网站吗重庆网络营销与网络广告
  • 手机 网站 开发东莞网站公司
  • 网站后台 用什么编写win主机伪静态规则 wordpress
  • 360站长工具seo网站域名所有权
  • 网站架构有哪些空间网站购买
  • net网站开发视频贵阳有专业的翻译机构吗
  • 嘉兴网站建设嘉兴网站推广百度文库个人登录
  • 湘潭电大网站html页面布局模板
  • 网站做照片网页搜索快捷键
  • 成都市网站备案erp开发
  • 做任务佣金网站源码梅州兴宁网站建设
  • 开源企业建站系统哪个好网络彩票建立网站
  • 什么是网站开发技术深圳宝安中心医院
  • 广平专业做网站wordpress迁移后插件消失
  • 电子图书馆网站建设wordpress景点展示插件
  • 网站建设平台一般多少钱中国建设银行怎么添加卡网站
  • 织梦网站最下面的网站建设去除wordpress从前台登录
  • 网站建设的基本特点有什么在线做文档的网站
  • 邢台公司网站建设建设集团有限公司
  • 专门做问卷的网站wordpress二次开发赚钱
  • 品牌建设案例快速优化网站建设