【AI初识境】深度学习模型中的Normalization,你懂了多少?

深度学习模型训练过程 深度学习模型训练过程 一.数据准备 基本原则: 1)数据标注前的标签体系设定要合理 2)用于标注的数据集需要无偏、全面、尽可能均衡 3)标注过程要审核 整理数据集 1)将各个标签的数据放于不同的文件夹中,并统计各个标签的数目 2)样本均衡,样本不会绝对均衡,差不多就行了 3)切分样本集 如:90%用于训练,10%留着测试,比例自己定。训练集合,对于弱势类要重采样,最后的图片列表要shuff... 阅读详情

文章首发于微信公众号《有三AI》

【AI初识境】深度学习模型中的Normalization,你懂了多少?

这是《AI初识境》第6篇,这次我们说说Normalization。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。

数据经过归一化和标准化后可以加快梯度下降的求解速度,这就是Batch Normalization等技术非常流行的原因,它使得可以使用更大的学习率更稳定地进行梯度传播,甚至增加网络的泛化能力。

今天就来说说和Batch Normalization相关的概念。

作者&编辑  | 言有三

 

1 什么是归一化/标准化

Normalization是一个统计学中的概念,我们可以叫它归一化或者规范化,它并不是一个完全定义好的数学操作(如加减乘除)。它通过将数据进行偏移和尺度缩放调整,在数据预处理时是非常常见的操作,在网络的中间层如今也很频繁的被使用。

1. 线性归一化

最简单来说,归一化是指将数据约束到固定的分布范围,比如8位图像的0~255像素值,比如0~1。

在数字图像处理领域有一个很常见的线性对比度拉伸操作:

X=(x-xmin)/(xmax-mxin)

它常常可以实现下面的增强对比度的效果。

不过以上的归一化方法有个非常致命的缺陷,当X最大值或者最小值为孤立的极值点,会影响性能。

2. 零均值归一化/Z-score标准化

零均值归一化也是一个常见的归一化方法,被称为标准化方法,即每一变量值与其平均值之差除以该变量的标准差。

经过处理后的数据符合均值为0,标准差为1的分布,如果原始的分布是正态分布,那么z-score标准化就将原始的正态分布转换为标准正态分布,机器学习中的很多问题都是基于正态分布的假设,这是更加常用的归一化方法。

以上两种方法都是线性变换,对输入向量X按比例压缩再进行平移,操作之后原始有量纲的变量变成无量纲的变量。不过它们不会改变分布本身的形状,下面以一个指数分布为例:

如果要改变分布本身的形状,下面也介绍两种。

3.正态分布Box-Cox变换

box-cox变换可以将一个非正态分布转换为正态分布,使得分布具有对称性,变换公式如下:

在这里lamda是一个基于数据求取的待定变换参数,Box-Cox的效果如下。

4. 直方图均衡化

直方图均衡也可以将某一个分布归一化到另一个分布,它通过图像的灰度值分布,即图像直方图来对图像进行对比度进调整,可以增强局部的对比度。

它的变换步骤如下:

(1)计算概率密度和累积概率密度。

(2)创建累积概率到灰度分布范围的单调线性映射T。

(3)根据T进行原始灰度值到新灰度值的映射。

直方图均衡化将任意的灰度范围映射到全局灰度范围之间,对于8位的图像就是(0,255),它相对于直接线性拉伸,让分布更加均匀,对于增强相近灰度的对比度很有效,如下图。

综上,归一化数据的目标,是为了让数据的分布变得更加符合期望,增强数据的表达能力。

在深度学习中,因为网络的层数非常多,如果数据分布在某一层开始有明显的偏移,随着网络的加深这一问题会加剧(这在BN的文章中被称之为internal covariate shift),进而导致模型优化的难度增加,甚至不能优化。所以,归一化就是要减缓这个问题。

 

2 Batch Normalization

1、基本原理

现在一般采用批梯度下降方法对深度学习进行优化,这种方法把数据分为若干组,按组来更新参数,一组中的数据共同决定了本次梯度的方向,下降时减少了随机性。另一方面因为批的样本数与整个数据集相比小了很多,计算量也下降了很多。

Batch Normalization(简称BN)中的batch就是批量数据,即每一次优化时的样本数目,通常BN网络层用在卷积层后,用于重新调整数据分布。假设神经网络某层一个batch的输入为X=[x1,x2,...,xn],其中xi代表一个样本,n为batch size。

首先,我们需要求得mini-batch里元素的均值:

接下来,求取mini-batch的方差:

这样我们就可以对每个元素进行归一化。

最后进行尺度缩放和偏移操作,这样可以变换回原始的分布,实现恒等变换,这样的目的是为了补偿网络的非线性表达能力,因为经过标准化之后,偏移量丢失。具体的表达如下,yi就是网络的最终输出。

假如gamma等于方差,beta等于均值,就实现了恒等变换。

从某种意义上来说,gamma和beta代表的其实是输入数据分布的方差和偏移。对于没有BN的网络,这两个值与前一层网络带来的非线性性质有关,而经过变换后,就跟前面一层无关,变成了当前层的一个学习参数,这更加有利于优化并且不会降低网络的能力。

对于CNN,BN的操作是在各个特征维度之间单独进行,也就是说各个通道是分别进行Batch Normalization操作的。

如果输出的blob大小为(N,C,H,W),那么在每一层normalization就是基于N*H*W个数值进行求平均以及方差的操作,记住这里我们后面会进行比较。

2.BN带来的好处。

(1) 减轻了对参数初始化的依赖,这是利于调参的朋友们的。

(2) 训练更快,可以使用更高的学习率。

(3) BN一定程度上增加了泛化能力,dropout等技术可以去掉。

3.BN的缺陷

从上面可以看出,batch normalization依赖于batch的大小,当batch值很小时,计算的均值和方差不稳定。研究表明对于ResNet类模型在ImageNet数据集上,batch从16降低到8时开始有非常明显的性能下降,在训练过程中计算的均值和方差不准确,而在测试的时候使用的就是训练过程中保持下来的均值和方差。

这一个特性,导致batch normalization不适合以下的几种场景。

(1)batch非常小,比如训练资源有限无法应用较大的batch,也比如在线学习等使用单例进行模型参数更新的场景。

(2)rnn,因为它是一个动态的网络结构,同一个batch中训练实例有长有短,导致每一个时间步长必须维持各自的统计量,这使得BN并不能正确的使用。在rnn中,对bn进行改进也非常的困难。不过,困难并不意味着没人做,事实上现在仍然可以使用的,不过这超出了咱们初识境的学习范围。

4.BN的改进

针对BN依赖于batch的这个问题,BN的作者亲自现身提供了改进,即在原来的基础上增加了一个仿射变换。

其中参数r,d就是仿射变换参数,它们本身是通过如下的方式进行计算的

其中参数都是通过滑动平均的方法进行更新

所以r和d就是一个跟样本有关的参数,通过这样的变换来进行学习,这两个参数在训练的时候并不参与训练。

在实际使用的时候,先使用BN进行训练得到一个相对稳定的移动平均,网络迭代的后期再使用刚才的方法,称为Batch Renormalization,当然r和d的大小必须进行限制。

 

3 Batch Normalization的变种

Normalization思想非常简单,为深层网络的训练做出了很大贡献。因为有依赖于样本数目的缺陷,所以也被研究人员盯上进行改进。说的比较多的就是Layer Normalization与Instance Normalization,GroupNormalization了。

前面说了Batch Normalization各个通道之间是独立进行计算,如果抛弃对batch的依赖,也就是每一个样本都单独进行normalization,同时各个通道都要用到,就得到了Layer Normalization。

跟Batch Normalization仅针对单个神经元不同,Layer Normalization考虑了神经网络中一层的神经元。如果输出的blob大小为(N,C,H,W),那么在每一层Layer Normalization就是基于C*H*W个数值进行求平均以及方差的操作。

Layer Normalization把每一层的特征通道一起用于归一化,如果每一个特征层单独进行归一化呢?也就是限制在某一个特征通道内,那就是instance normalization了。

如果输出的blob大小为(N,C,H,W),那么在每一层Instance Normalization就是基于H*W个数值进行求平均以及方差的操作。对于风格化类的图像应用,Instance Normalization通常能取得更好的结果,它的使用本来就是风格迁移应用中提出。

Group Normalization是Layer Normalization和Instance Normalization 的中间体, Group Normalization将channel方向分group,然后对每个Group内做归一化,算其均值与方差。

如果输出的blob大小为(N,C,H,W),将通道C分为G个组,那么Group  Normalization就是基于G*H*W个数值进行求平均以及方差的操作。我只想说,你们真会玩,要榨干所有可能性。

在Batch Normalization之外,有人提出了通用版本Generalized Batch Normalization,有人提出了硬件更加友好的L1-Norm Batch Normalization等,不再一一讲述。

另一方面,以上的Batch Normalization,Layer Normalization,Instance Normalization都是将规范化应用于输入数据x,Weight normalization则是对权重进行规范化,感兴趣的可以自行了解,使用比较少,也不在我们的讨论范围。

这么多的Normalization怎么使用呢?有一些基本的建议吧,不一定是正确答案。

(1) 正常的处理图片的CNN模型都应该使用Batch Normalization。只要保证batch size较大(不低于32),并且打乱了输入样本的顺序。如果batch太小,则优先用Group Normalization替代。

(2)对于RNN等时序模型,有时候同一个batch内部的训练实例长度不一(不同长度的句子),则不同的时态下需要保存不同的统计量,无法正确使用BN层,只能使用Layer Normalization。

(3) 对于图像生成以及风格迁移类应用,使用Instance Normalization更加合适。

 

4 Batch Normalization的思考

最后是关于Batch Normalization的思考,应该说,normalization机制至今仍然是一个非常open的问题,相关的理论研究一直都有,大家最关心的是Batch Normalization怎么就有效了。

之所以只说Batch Normalization,是因为上面的这些方法的差异主要在于计算normalization的元素集合不同。Batch Normalization是N*H*W,Layer Normalization是C*H*W,Instance Normalization是H*W,Group Normalization是G*H*W。

关于Normalization的有效性,有以下几个主要观点:

(1) 主流观点,Batch Normalization调整了数据的分布,不考虑激活函数,它让每一层的输出归一化到了均值为0方差为1的分布,这保证了梯度的有效性,目前大部分资料都这样解释,比如BN的原始论文认为的缓解了InternalCovariate Shift(ICS)问题。

(2) 可以使用更大的学习率,文[2]指出BN有效是因为用上BN层之后可以使用更大的学习率,从而跳出不好的局部极值,增强泛化能力,在它们的研究中做了大量的实验来验证。

(3) 损失平面平滑。文[3]的研究提出,BN有效的根本原因不在于调整了分布,因为即使是在BN层后模拟ICS,也仍然可以取得好的结果。它们指出,BN有效的根本原因是平滑了损失平面。之前我们说过,Z-score标准化对于包括孤立点的分布可以进行更平滑的调整。

算了,让大佬先上吧。

[1] Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internalcovariate shift[J]. arXiv preprint arXiv:1502.03167, 2015.

[2] Bjorck N, Gomes C P, Selman B, et al. Understanding batch normalization[C]//Advances in NeuralInformation Processing Systems. 2018: 7705-7716.

[3] Santurkar S, Tsipras D, Ilyas A, et al. How does batch normalization help optimization?[C]//Advances inNeural Information Processing Systems. 2018: 2488-2498.

最后发一个通知,2019年有三AI培养计划出炉了,一个季度一期噢。

2019年有三AI“春季”划,给我一个荣耀,还你一生荣耀

 

总结

BN层技术的出现确实让网络学习起来更加简单了,降低了调参的工作量,不过它本身的作用机制还在被广泛研究中。几乎就像是深度学习中没有open问题的一个缩影,BN到底为何,还无定论,如果你有兴趣和时间,不妨也去踩一坑。

下期预告:论深度学习中的优化方法

 

转载文章请后台联系

侵权必究

比如网络loss不正常,怎么调都不管用。

比如训练好好的,测试就是结果不对。

bug天天有,深度学习算法工程师遇到的特别多,如果你想交流更多,就来有三AI知识星球实时提问交流吧,大咖众多,总有能解决你问题的。

初识境界到此基本就结束了,这一系列是为大家奠定扎实的深度学习基础,希望学习完后大家能有收获。

AI白身境系列完整阅读:

第一期:【AI白身境】深度学习从弃用windows开始

第二期:【AI白身境】Linux干活三板斧,shell、vim和git

第三期:【AI白身境】学AI必备的python基础

第四期:【AI白身境】深度学习必备图像基础

第五期:【AI白身境】搞计算机视觉必备的OpenCV入门基础

第六期:【AI白身境】只会用Python?g++,CMake和Makefile了解一下

第七期:【AI白身境】学深度学习你不得不知的爬虫基础

第八期: 【AI白身境】深度学习中的数据可视化

第九期:【AI白身境】入行AI需要什么数学基础:左手矩阵论,右手微积分

第十期:【AI白身境】一文览尽计算机视觉研究方向

第十一期:【AI白身境】AI+,都加在哪些应用领域了

第十二期:【AI白身境】究竟谁是paper之王,全球前10的计算机科学家

AI初识境系列完整阅读

第一期:【AI初识境】从3次人工智能潮起潮落说起

第二期:【AI初识境】从头理解神经网络-内行与外行的分水岭

第三期:【AI初识境】近20年深度学习在图像领域的重要进展节点

第四期:【AI初识境】激活函数:从人工设计到自动搜索

第五期:【AI初识境】什么是深度学习成功的开始?参数初始化

第六期:【AI初识境】深度学习模型中的Normalization,你懂了多少?

第七期:【AI初识境】为了围剿SGD大家这些年想过的那十几招

第八期:【AI初识境】被Hinton,DeepMind和斯坦福嫌弃的池化,到底是什么?

第九期:【AI初识境】如何增加深度学习模型的泛化能力

第十期:【AI初识境】深度学习模型评估,从图像分类到生成模型

第十一期:【AI初识境】深度学习中常用的损失函数有哪些?

第十二期:【AI初识境】给深度学习新手开始项目时的10条建议

感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注有三公众号 有三AI!

[MM18]BeautyGAN: Instance-level Facial Makeup Transfer with Deep Generative Adversarial Network BeautyGAN: Instance-level Facial Makeup Transfer with Deep Generative Adversarial Network ACM MM 2018 http://liusi-group.com/projects/BeautyGAN facial makeup transfer | generative adversarial network... 阅读详情

相关推荐

Batch Normalization(批量归一化)和 Layer Normalization(层归一化)

Batch Normalization(批量归一化)和 Layer Normalization(层归一化)都是深度学习中用于改善网络训练过程的归一化技术。尽管它们的目标相似,即通过规范化中间层的激活值来加速训练过程并提高性能,但它们在细节上有所不同。

weixin_42046845的博客 1938

[从0开始AIGC]: 如何区分并记住常见的几种 Normalization 算法

这里再重复一下上文的类比。如果把x∈RN×C×H×Wx∈RN×C×H×W类比为一摞书,这摞书总共有 N 本,每本有 C 页,每页有 H 行,每行 W 个字符。计算均值时BN 相当于把这些书按页码一一对应地加起来(例如:第1本书第36页,加第2本书第36页…),再除以每个页码下的字符总数:N×H×W,因此可以把 BN 看成求“平均书”的操作(注意这个“平均书”每页只有一个字)

Bin_Dut的博客 1229

深度学习-Batch Normalization 学习笔记

深度学习,Batch Normalization 算法学习笔记

算法之美 873

标准化、归一化和正则化的关系

首先,标准化的英文是Standardization,正则化的英文是Normalization,正则化的英文是Regularization。标准化是特征缩放的一种方式,需要注意的是标准化之后的数据分布并不一定是正态分布,因为标准化并不会改变原始数据的分布。归一化的目的是消除不同量纲及单位影响,提高数据间的可比性。正则化的目的是为了防止过拟合。[5]。.........

NLP工程化 1998

一文解读深度学习中的Normalization模型

BN是深度学习进展中里程碑式的工作之一,无论是希望深入了解深度学习,还是在实践中解决实际问题,BN及一系列改进Normalization工作都是绕不开的重要环节。

迈微AI研习社 · 号主 1124

别再傻傻分不清了!STM32定时器里Prescaler和ClockDivision到底有啥区别?

本文深入解析STM32定时器中Prescaler和ClockDivision的区别与应用场景。Prescaler作为定时器的'心跳调节器',决定计数频率;而ClockDivision则是输入捕获的'抗噪滤镜',有效抑制高频噪声。通过实战案例和示波器实测数据,帮助开发者避免常见配置误区,提升嵌入式系统稳定性。

weixin_29193259的博客 319

医疗图像处理与深度学习(二)

卷积神经网络基础(CNN) 为了理解CNN的基础,首先我们需要了解什么是卷积 convolution。 什么是卷积convolution ? 维基百科将卷积定义为“对两个函数(f和g)的数学运算; 它产生第三个函数,通常被视为原始函数之一的修改版本,给出两个函数的逐点乘法的积分作为原始函数之一的转换量的函数。 可以将其简单理解为应用于矩阵的滑动窗口函数。 Convolution wit...

Keep&Deep Thinking 2426

微信爬虫服务器,微信文章爬虫使用教程 - 八爪鱼采集器

对于某些用户来说,直接自定义规则可能有难度,所以在这种情况下,我们提供了网页简易模式,网页简易模式下存放了国内一些主流网站爬虫采集规则,在你需要采集相关网站时可以直接调用,节省了制作规则的时间以及精力。微信文章采集下来有很多作用,比如可以将自己行业中最近一个月之内发布的内容采集下来,然后分析文章标题和内容的一个方向与趋势。所以本次介绍八爪鱼简易采集模式下“搜狗公众号”的使用教程以及注意要点。步骤一...

weixin_26712065的博客 3261

卷积神经网络(CNN)介绍与实践

1 CNN的前生今世 1.1 大脑 作为人类,我们不断地通过眼睛来观察和分析周围的世界,我们不需要刻意的“努力”思考,就可以对所看到的一切做出预测,并对它们采取行动。当我们看到某些东西时,我们会根据我们过去学到的东西来标记每个对象。为了说明这些情况,请看下面这张图片: 你可能会想到“这是一个快乐的小男孩站在椅子上”。或者也许你认为他看起来像是在尖叫,即将在他面前攻击这块蛋糕。 这就是我们整天下意...

weixin_33849942的博客 671

FreeRTOS移植实战:从零开始在STM32上搭建多任务系统(含Proteus仿真配置)

本文详细介绍了如何在STM32平台上从零开始移植FreeRTOS,并搭建多任务系统,包含Proteus仿真配置。通过环境准备、源码移植、多任务设计到仿真调试的全流程实战,帮助开发者快速掌握FreeRTOS在STM32上的应用技巧,提升嵌入式开发效率。

weixin_33737134的博客 232

Grafana企业版vs开源版:从安装到插件管理的完整对比实测(含离线部署技巧)

本文深入对比Grafana企业版与开源版在安装流程、插件管理和功能限制等方面的差异,特别针对离线部署场景提供实用技巧。通过实测数据源支持、权限管理等核心功能,帮助企业用户做出明智选择,同时详细介绍离线安装和插件签名验证等关键操作。

weixin_29313817的博客 107

「AI初识境」深度学习模型中的Normalization,你懂了多少?

https://www.toutiao.com/a6694436118189834765/ 这是《AI初识境》第6篇,这次我们说说Normalization。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。 数据经过归一化和标准化后可以加快梯度下降的求解速度,这就是Batch Normalization等技术非常流行的原因,它使得可以使用更大的学习率更稳定地进行梯度传播,甚至增...

喜欢打酱油的老鸟 762

从 VL02N 拣配到 ABAP 自动化,读懂 SD_DELIVERY_UPDATE_PICKING 的位置和风险

文章摘要:SAP SD模块中,SD_DELIVERY_UPDATE_PICKING函数模块用于处理出库交货单的拣配确认,更新交货项目的拣配数量。该函数适用于未启用WM/EWM的传统SD流程,能确保拣配状态与标准交货处理逻辑同步,比直接修改数据库更安全。但在S/4HANA Cloud等新环境中,应优先使用API_OUTBOUND_DELIVERY_SRV等公开发布接口。使用该函数时需注意参数完整性和按交货单整体处理的原则,避免逐项提交导致的数据不一致问题。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 248

batch normalization_【AI初识境】深度学习模型中的Normalization,你懂了多少?

这是《AI初识境》第6篇,这次我们说说Normalization。所谓初识,就是对相关技术有基本了解,掌握了基本的使用方法。数据经过归一化和标准化后可以加快梯度下降的求解速度,这就是Batch Normalization等技术非常流行的原因,它使得可以使用更大的学习率更稳定地进行梯度传播,甚至增加网络的泛化能力。今天就来说说和Batch Normalization相关的概念。作者&amp...

weixin_39911916的博客 141

组态王与SqlServer数据库交互总结

组态王可以与SqlServer、mysql、acess、oracle等数据库进行数据交互。 本文重点梳理了如何把组态王中的数据保存到SqlServer数据库中,并使用ADO控件对数据库中的数据进行查询。 一、数据存到SQL数据库 1.新建记录体 2、创建表格模板(用于创建数据库中的表格) 3、打开sqlserver,新建数据库 4、创建ODBC数据源 选择自己新建的数据库 5.使用SQLConnect函数连接数据库,SQLCraetTable函数用于在数据库中创建表格 6.使用

逍遥子的博客 2万+

阻抗控制器实现机器人关节运动控制

本文先对做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章如:PID反馈控制器、前馈控制器、前馈+反馈控制器等等如:机械臂模型(几何解算)控制器、小车底盘运动学模型(几何解算)的控制器、四足机器人模型(预测迭代)的控制器等等如:微分平坦(无人机的轨迹跟随)等等如:MPC优化控制算法如:线性二次调节器(LQR)是基于模型的控制器,使用车辆状态来使误差最小化,Apollo使用LQR进行横向控制。横向控制包含四个组件:横向误差、横向误差的变化率、朝向误差和朝向的变化率。

qq_35635374的博客 366

深度学习中的多种Normalization模型

转载 作者:张俊林 “ 张俊林,中国中文信息学会理事,中科院软件所博士,目前在新浪微博AI Lab担任资深算法专家。在此之前,张俊林曾经在阿里巴巴任资深技术专家并负责新技术团队,以及在百度和用友担任技术经理及技术总监等职务。同时他是技术书籍《这就是搜索引擎:核心技术详解》(该书荣获全国第十二届输出版优秀图书奖)、《大数据日知录:架构与算法》的作者。 ” 编者按 不管是传...

214

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

batch normalization_AI初识:深度学习模型中的Normalization网络

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注极市平台公众号,回复加群,立刻申请入群~作者:全能言有三授权转载自公众号:有三AI数据经过归一化和标准化后可以加快梯度下降的求解速度,这就是Batch Normal...

weixin_39631755的博客 98

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【深度学习】Batch Normalization

7.BN的原理!!!它的参数是怎么学习到的?

littlemichelle 3806

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

深度学习中的batch normalization

    论文提出了batch normalization,用于减少Internal Covariate Shift,防止梯度弥散,还可加速模型的训练。本文就tensorflow中的实现过程和训练测试时的使用差异进行说明。  图1 算法说明    tf实现函数体如下: with ops.name_scope(name, "batchnorm", [x, mean, variance, scale,...

hzhj的博客 661

[深度学习] Normalization 模型

目录 一 Batch Normalization “Internal Covariate Shift”问题 训练阶段如何做BatchNorm BatchNorm的好处 二 LayerNormalization 一 Batch Normalization BatchNormalization的出现无疑是广大AI调参侠的福音,将大家从繁琐的权重初始化、学习率调节中释放出来。它不仅...

摩登都市天空---专栏 1212

深度学习各种normalization

各种Normalization层出不穷,现做一下总结,以供大家学习参考 1. BN:Batch Normalization 这是大家最熟悉的了,结合上图 针对每一批, 正规化,减少前一层对后层的影响 针对一批中的 每一个 feature进行 normalization(也即每一个 feature采用不同的规范化操作),而 normal后是一个向量,向量的维度是 feature的个...

未来战警 1913

一文彻底搞懂深度学习:归一化(Normalization)

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

老皮的博客 1万+

####好好好####详解深度学习中的 Normalization,不只是 BN

本文作者Juliuszh,本文首发于知乎专栏【机器学习炼丹记】,AI 研习社获其授权转载。 深度神经网络模型训练之难众所周知,其中一个重要的现象就是 Internal Covariate Shift. Batch Norm 大法自 2015 年由 Google 提出之后,就成为深度学习必备之神器。自 BN 之后, Layer Norm / Weight Norm / Cosine Norm 等也横空出世。本文从 Normalization 的背景讲起,用一个公式概括 Normalization 的基本思

木东的博客 391

GAN网络中的Normalization汇总

Batch Normalization Weight Normalization Spectral Normalization

xinxiang7 1188
上一篇: 【AI初识境】什么是深度学习成功的开始?参数初始化
下一篇: 【AI初识境】为了围剿SGD大家这些年想过的那十几招
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值