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

怎么推广我做的网站做网站服务器空间

怎么推广我做的网站,做网站服务器空间,建设企业网站用动态还是静态,企业网站优化报告文章目录1 概述2 几种normalization的方法2.1 Batch Norm2.2 Layer Norm2.3 Instance Norm2.4 Group Norm3 效果对比参考文献1 概述 Group Nomralization的提出是为了解决一张GPU上能容纳的batch_size很小#xff0c;导致模型训练效果显著变差的问题。随着深度学习的快速发展… 文章目录1 概述2 几种normalization的方法2.1 Batch Norm2.2 Layer Norm2.3 Instance Norm2.4 Group Norm3 效果对比参考文献1 概述 Group Nomralization的提出是为了解决一张GPU上能容纳的batch_size很小导致模型训练效果显著变差的问题。随着深度学习的快速发展我们所使用的模型越来越大了这也就导致了在训练时一个batch所占用的显存越来越大了也i就导致了一张卡上的batch_size会很小最终导致了模型最终效果大幅变差。这里之所以强调一张卡并不是因为穷而是因为batch normalization在计算batch的mean和variance的时候只能是以一张卡上的batch_size为单位去算的多卡之间不会对此进行通信。 如下图所示batch normalization的效果受batch size的影响很大但是group nomalization完全不受batch size的影响其计算压根就和batch没关系效果也不逊色于batch normalization而且batch size越小优势越大。 2 几种normalization的方法 normalization是为了解决Internal Covariate Shift以及梯度弥散和爆炸的问题这两个都是深度学习模型中非常关键的问题因此normalization这步是逃不掉的。说到这里了不妨说两句Internal Covariate Shift是个啥我个人最直观的理解就是模型的输入经过一层层的计算之后每一层的输入的数据分布是不一样的这就导致了结果的不准确covariate shift现象的解释这篇博客很形象地举例说明了这个问题这里点到为止。 目前主流的有四种normalization的方法分别是Batch NormLayer NormInstance Norm以及Group Norm其操作其实都很简明易懂。下图是这四种方法主要区别的一个对比示意图。下面会详细说一说这几种方法。 2.1 Batch Norm 假设我们的输入是一个shape为(N,C,H,W)的向量其中N表示Batch size的大小C表示channel数量H为heightW为width。那么Batch Norm就会在整个batch的每个channel上计算一次均值和方差并对每个channel进行归一化。 其详细计算过程为 要再次强调的是上面的计算都是在每个channel上进行的有几个channel就会算出几个均值和方差。另外值得一提的是这里有一个γ\gammaγ和β\betaβ他们是模型可以学习的参数。并不是模型的每一层都需要进行归一化当γσ2ϵ\gamma \sqrt{\sigma^2 \epsilon}γσ2ϵ​且 βμ\beta \muβμ时就还原成了没有归一化的数据。ϵ\epsilonϵ是为了预防分母为0而加的一个很小的数。 不过这里有个问题就是inference的时候该咋办inference的时候如果时计算输入数据的均值和方差的话那岂不是我一张一张图片输入和多张图片一起输入的结果还不一样了。放心inference的时候Batch Norm用的均值和方差时训练时候记录下来的整个训练数据的均值和方差的期望。 2.2 Layer Norm Layer Norm的目的和本文开头所讲的Group Norm的目的是一样的。不过它的做法比较极端它是在一个数据的所有channel上计算均值和方差的这干想想也有点问题不同channel代表的特征是不同的把他们归一化到同一个均值和方差上未免有些强人所难。 这是group norm的一种极端形式当group的大小刚好等于C时就是Layer Norm了。 2.3 Instance Norm Instance Norm和Layer Norm对着干它也知道不同意义的channel不能一起归一化于是就干脆用一条数据一个channel上的数据进行归一化。不过这也过于极端一条数据一个channel上计算出来的均值和方差未免有些不太靠谱难以表征这个channel的数据分布。 这也是group norm的一种极端形式当group的大小刚好等于1时就是Instance Norm了。 2.4 Group Norm Group Norm是个和事佬设置了一个叫做group的东西取一部分的channels作为一个group进行归一化既不得罪Layer Norm也不得罪Instance Norm因为一些经典的比如SIFT和HOG这样的特征的确是以group为单位的。事实也证明这个和事佬做的很成功。 Group Norm的代码也很简单只需要短短几行就可以了 def GroupNorm(x, gamma, beta, G, eps1e−5):# x: input features with shape [N,C,H,W]# gamma, beta: scale and offset, with shape [1,C,1,1]# G: number of groups for GNN, C, H, W x.shapex tf.reshape(x, [N, G, C // G, H, W])mean, var tf.nn.moments(x, [2, 3, 4], keep dimsTrue)x (x − mean) / tf.sqrt(var eps)x tf.reshape(x, [N, C, H, W])return x ∗ gamma beta另一个好处就是它在inference时不需要依赖训练时的均值和方差。 3 效果对比 1相同batch size不同normalization 当batch size都是32时Batch Norm的效果时最好的Group Norm其次Layer Norm和Instance Norm就没有什么竞争力了可以忽略不计了。 2不同batch sizeBatch Norm和Group Norm对比 当batch size比较大时Batch Norm是占优势的但当batch size变小时Batch Norm的效果就越来越差了。而Group Norm的效果不受batch size的影响。 3Group Norm在不同Group size下的表现 当只有一个group时Group Norm就变成了Layer Norm当每个group只有一个channel时就变成了Instance Norm。实验证明group的大小在32或者16个channel左右时比较优的一个值一般的框架中默认的都是32。 Group Norm虽然解决了单卡batch size小时模型表现部好的问题但是也带来了一个需要调节的超参数group size。这也意味着要做更多的实验。 参考文献 [1] Group Normalization [2] Group Normalization (Paper Explained) [3] Implementing Batch Normalization in Python
http://www.pierceye.com/news/584414/

相关文章:

  • 搜索引擎网站使用的排名规则室内设计联盟网页版
  • php 手机网站开发手机端网站开发框架
  • 苏州电信网站备案浙江搜索引擎优化
  • 黄岛网站建设哪家好市体育局网站 两学一做
  • 上海建设银行网站转账记录吗外国网站做问卷调查挣钱
  • 深圳做购物网站十堰网络销售
  • 郑州企业网站优化多少钱百度竞价排名价格
  • js特效做的好的网站什么专业是做网站
  • 淄川响应式网站建设网站在国内服务器在国外
  • 施工企业市场经营工作思路及措施个人如何优化网站有哪些方法
  • 怎么做一个盈利网站义乌创博网络科技有限公司
  • 学校网站建设代码不重名的建筑公司名字
  • 网站开发模块的需求海外销售平台有哪些
  • 前端和后端的区别工资郑州网站优化怎样做
  • 小程序模板平台有哪些网站优化包括哪些内容
  • 免费建网站的好的移动端网站模板下载
  • 青岛网站优化排名视频源网站怎么做
  • 做网站找我二级学院网站建设方案
  • 知名网站建设公司 北京近期网络营销的热点事件
  • 网站开发产品经理网站例子
  • 动态静态结合网站网站做404是什么意思
  • 注册域名的网站网站建设的具体步骤
  • 行业网站分类自建站排名
  • 网站备案 登陆安徽省住房和城乡建设厅网站领域
  • 做个网站需要多少钱.网站建设合同注意事项
  • 中国诚信建设网站在线代码生成器
  • 长沙企业网站建设团队目前网络最好的挣钱平台
  • 国家建设工程安全质量监督网站友情链接网
  • 适合html初学者做的网站中卫网站推广软件
  • 一个vps主机放两个网站 速度怎么做发卡网站