LRN和BN的数学公式理解与区别
一、写在前面
这两个方法,一个出现在Alexnet,另一个应用在Googlenet中,将原本的公式进行粘贴如图所示:
公式一
此处只做补充:局部响应归一化是可以值得琢磨的,它干的事情就是对目标的相应归一,其实就是将点身边的N-1个区域作为一个块,然后使用求和,乘方,最终得到一个归一的值。文中特意指出 k = 2,n = 5, α = 1e-4, β = 0.75
k = 1, a = 1/6, n = 2 ,b = 0.5 代入公式
[[1, 2, 3], -> [[1 /(7^0.5), 2/(7^0.5), 3/(7^0.5)][3, 4, 5], [3/(7^0.5), 4/(7^0.5), 5/(7^0.5)] [5, 6, 7]] [5/(7^0.5), 6/(7^0.5), 7/(7^0.5)]]
公式二
其实就是求均值和方差的过程,然后使用高斯函数的应用正态分布的一个性质,得到期望均值,然后进行归一化。在最后的转换中,加入两个参数用于维护输出的稳定性。
BN的训练过程
这个训练过程,可以理解为先对整个数据进行归一化,确定上式的分布,然后再将这个分布作为常数代入,常数指的是期望方差和期望均值(即Var(x), E(x))。作为最后的数据转换公式。仔细看看不难。
正文
BN,batch-normalization,中文叫做批量正则化。
它的中心思想是将梯度的变化约束到一个可传递的范围,防止梯度消失或者爆炸。
对于sigmoid函数和tanh函数来说是一个不可多得的辅助。
它还能够加速网络的训练速度,对于网络的train和test的细节必须仔细看看论文,论文《Batch normalization: Accelerating the Deep network Training by Reducing Internal Covariance Shift》.
————————————————————————————
修改于2021年一月七日,感谢大家的指教,我会及时补充!
LRN和BN的数学公式理解与区别相关推荐
- 【深度学习】深度学习的归一化方法的演变(局部响应LRN,BN,LN, IN, GN, FRN, WN, BRN, CBN, CmBN)
[深度学习]深度学习的归一化方法的演变(局部响应LRN,BN,LN, IN, GN, FRN, WN, BRN, CBN, CmBN) 文章目录 [深度学习]深度学习的归一化方法的演变(局部响应LRN ...
- 深浅复制的的理解与区别
深浅复制的的理解与区别 1.浅复制,仅仅是复制对象本身,并没有对所含的的对象进行复制,仅仅是对所含的对象进行Retain一下,引用计数加1 2.深复制,不仅仅对对对象本身进行复制,还对所含的对象进行复 ...
- [css] 圣杯布局和双飞翼布局的理解和区别,并用代码实现
[css] 圣杯布局和双飞翼布局的理解和区别,并用代码实现 一: section{height: 100%; overflow: hidden;clear:both; } .left{ height: ...
- 关于以太网光纤收发器,逻辑隔离与物理隔离的理解与区别
现如今,随着以太网的广泛应用,在很多领域,比如说电力.银行.公安.部队.铁路.大型企事业单位专网有广泛物理隔离的以太网接入需求,但是什么是物理隔离以太网呢?什么又是逻辑隔离以太网呢?我们该如何判断逻辑 ...
- MVC与MTV的理解与区别
MVC与MTV的理解与区别 MVC(Model View Controller 模型-视图-控制器) 是一种Web架构的模式.特点:把业务逻辑.模型数据.用户界面分离开来,让开发者将数据与表现解耦. ...
- -Xms -Xmx -XX:PermSize -XX:MaxPermSize 的理解和区别
JVM按照其存储数据的内容将所需内存分配为堆区与非堆区两个部分: 所谓堆区即为通过new的方式创建的对象(类实例)所占用的内存空间: 非堆区即为代码.常量.外部访问(如文件访问流所占资源)等. 然而虽 ...
- webpack与glup的理解和区别
webpack与gulp的理解和区别 webpack是: webpack是前端构建工具,称为模块打包机(侧重模块打包,打包后的代码已经不只是你写的代码),webpack支持模块化: 构建前端开发过程中 ...
- Java的CountDownLatch和CyclicBarrier的理解和区别
CountDownLatch和CyclicBarrier的功能看起来很相似,不易区分,有一种谜之的神秘.本文将通过通俗的例子并结合代码讲解两者的使用方法和区别. CountDownLatch和Cycl ...
- python中全局变量和局部变量关键字_Python中全局变量和局部变量的理解与区别
前言 学过编程的人应该对全局变量与局部变量这两个名词并不陌生,Python也同多数编程语言一样,也有全局变量与局部变量的概念 但是与其他编程语言又有所不同 全局变量与局部变量两者的本质区别就是在于作用 ...
最新文章
- php扩展xdebug安装以及用kcachegrind系统分析
- python生成随机数—random模块
- Eclipse 常用最新插件.标记
- 集合(normal)
- 完全备份、差异备份、增量备份的区别
- android开发(13) 尝试在流布局中移动控件
- __name__ == '__main__'的用法
- python教材答案字典与集合_Python——集合与字典练习
- [数据仓库]数据仓库建模的目标
- Server Tomcat v8.0 Server at localhost failed to start.
- matlab 保存不了文件,关于matlab文件无法保存的原因(转)
- 免费下载知网论文的重要链接
- 暴风魔镜S1拆解和低成本DIY适应大手机
- Spring Cloud之Hystrix服务容错
- su linux pe,CГіmo encontrar individuos por su DNI en la red? GuГa transito a transito
- Ubuntu同时使用中英文man手册
- Cocos2d-Lua 3.12 生成绑定 导出C++类给LUA调用( tolua genbindings.py 的使用)
- Nokia5110 LCD
- matlab亮度平衡_亮度对比度算法MATLAB实现
- kubernetes专题一:kubernetes的前世今生