首页 > 其他分享 >卷积神经网络基础---批量归一化(BN层、 Batch Normalization)

卷积神经网络基础---批量归一化(BN层、 Batch Normalization)

时间:2024-04-11 23:33:19浏览次数:36  
标签:std BN ResNet Batch 网络 神经网络 归一化

原文链接:https://blog.csdn.net/weixin_43972154/article/details/120199833

1. BN层的作用
BN层使得神经网络能够设定较高的初始学习率,加速模型收敛过程;
将数据进行归一化处理,即在网络的每一层输入的时候,插入了一个归一化层,然后再进入网络的下一层。这样能提高网络的泛化能力,使得网络能够使用误差更小的L2损失函数。
为什么要将数据进行归一化处理?
因为一旦训练数据与测试数据的分布不同,网络的泛化能力就会大大降低;此外,一旦每批训练数据的分布各不相同,那么网络就要在每次迭代都去学习适应不同的分布,这样将会大大降低网络的训练速度。

2. 源码
m = K.mean(X, axis=-1, keepdims=True) //计算均值
std = K.std(X, axis=-1, keepdims=True) //计算标准差
X_normed = (X - m) / (std + self.epsilon) //归一化
out = self.gamma * X_normed + self.beta //重构变换


3. 在超分辨率处理过程中BN层的缺点
神经网络最后重建的SR图像在色彩、对比度、亮度上要求和输入一致,改变的仅仅是分辨率和一些像素细节。但是任何图像经过BN层后,其色彩的分布都会被归一化。也就是说,它破坏了图像原本的对比度信息,因此BN层的加入会影响SR的结果,导致不可预测的伪影。
但是在ResNet使用了BN层,这是因为ResNet中引入了一种叫残差网络结构,其和普通的CNN的区别在于从输入源直接向输出源多连接了一条传递线来来进行残差计算。在ResNet网络中,图像的对比度信息可以通过跳转连接直接传递,所以也就不必担心BN层的破坏。

标签:std,BN,ResNet,Batch,网络,神经网络,归一化
From: https://www.cnblogs.com/Dongmy/p/18130253

相关文章

  • 批量插入和更新allowmultiqueries和rewritebatchedstatements
    mybatis的批处理(效率)之rewriteBatchedStatements和allowMultiQueries-CSDN博客Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新-CSDN博客通过设置allowmultiqueries和rewritebatchedstatements可以让我们批量插入和删除速度更快。分享removeAbandonedTimeout中间......
  • 计算机视觉中各种归一化算法
    归一化算法是对激活函数的输入进行归一化将featuremapshape设为[N,C,H,W],其中N表示batchsize,C表示通道数,H、W分别表示特征图的高度、宽度BatchNormalization在batch上,对N、H、W做归一化,保留通道C的维度。对较小的batchsize效果不好,BN适用于固定深度的前向神经网络,如C......
  • 深度探索:机器学习Deep Belief Networks(DBN)算法原理及其应用
    目录1.引言与背景2.定理3.算法原理4.算法实现5.优缺点分析优点:缺点:6.案例应用7.对比与其他算法8.结论与展望1.引言与背景深度学习在近年来取得了显著进展,其在图像识别、语音识别、自然语言处理等多个领域的成功应用引发了广泛的关注。其中,DeepBeliefNetworks......
  • BNIP3作为识别实体瘤预后和诊断的潜在生物标志物
    介绍本文复现的是一篇单基因泛癌的文章,原文链接:BNIP3asapotentialbiomarkerfortheidentificationofprognosisanddiagnosisinsolidtumours视频链接:零代码复现1-BNIP3作为识别实体瘤预后和诊断的潜在生物标志物工具链接:http://www.sxdyc.com/zeroCodeTool本......
  • 【Batch Job】Batch Job中执行一段Python代码,遇见Failure Exit Code
    问题描述在Azure BatchJob中执行一段Python代码,遇见FailureExitCode。print("startmian.py")if__name__=="__main__":print("__main__")就算只使用一个简单的print方法,也是出现FailureExitCode错误。进一步在BatchJob的stderr日志中,发现了错误消息:T......
  • 归一化技术比较研究:Batch Norm, Layer Norm, Group Norm
    归一化层是深度神经网络体系结构中的关键,在训练过程中确保各层的输入分布一致,这对于高效和稳定的学习至关重要。归一化技术的选择(Batch,Layer,GroupNormalization)会显著影响训练动态和最终的模型性能。每种技术的相对优势并不总是明确的,随着网络体系结构、批处理大小和特定任务......
  • ISBN信息查询api接口
     基本说明:接口地址:http://data.isbn.work/openApi/getInfoByIsbn?isbn={isbn}&appKey={appkey}返回格式:json请求方式:get请求示例:http://data.isbn.work/openApi/getInfoByIsbn?isbn=9787513159074&appKey=ae1718d4587744b0b79f940fbef69e77伽薇 809137232请求参数说明:名......
  • BNDS 2024/4/6模拟赛题解
    T1方程描述给出非负整数\(N\),统计不定方程\(X+Y^2+Z^3=N\)的非负整数解\((X,Y,Z)\)的数量。输入输入数据,包含一个非负整数\(N\)。输出输出数据,包含一个非负整数表示解的数量。数据范围40%的数据,\(N<=10000\)60%的数据,\(N<=10^8\)100%的数据,\(N<=10^{16}\)分析......
  • Batch、Layer、Instance、Group四种Norm
    归一化NormalizationBatchNorm的初衷是解决InternalCovariateShift问题。尽可能将mini-batch归一化到标准正态分布,使得网络层的输出分布趋于稳定。InternalCovariateShift问题简单来说,是网络学习更新权重后可能会改变输出的分布,导致下一层总是迟一步适应这次的分布。......
  • java.sql.BatchUpdateException: Date truncation: Out of range value for column xx
    报错:java.sql.BatchUpdateException:Datetruncation:Outofrangevalueforcolumnxxxxx原因:xxx列ddl中为stock_num(12,2)数据库值为0.06需要更新为:0.06-0.21就会出现该错误参考:https://www.jb51.net/article/158166.htmhttps://blog.csdn.net/stone_tomca......