1 为何要用BatchNormalization

为了让深层网络更容易训练,有两种方法:

使用更好的优化器:如 SDG+Momentun等;

改变网络结构,比如加入BN层,处理网络数据,让网络数据服从标准的高斯分布,均值为0,方差为1的分布;

2 使用BatchNormalization的优点

在每次NN的输入时,都要进行数据的预处理,一般是让数据是0均值和单位方差的,这样对于训练是有好处的;

但是当数据走过几层后,基本就不可能保持这个特性了,BN层要做的事情是在每一层的开始,加上这个操作,但是有的数据可能会因此丢失一些信息,所以要加上beta和gama来恢复原始数据,这里的beta和gamma是可学习的;

3 BatchNormalization处理数据过程

(1)求均值

mini-batch: ;

(2)求方差

(3)归一化

(4)计算输出(scale and shift)

是两个关键超参数,对归一化后的分母进行缩放和平移,通过网络自己学习平移和缩放保留一定的特征;

方差和均值是可以动态调整的,可以通过momentum来调整(加入基于momentum的指数衰减,进行动态调整)

BatchNormalization 介绍相关推荐

  1. 【opencv系列01】OpenCV4.X介绍与安装

    点击上方"AI搞事情"关注我们 一.介绍 OpenCV(开源计算机视觉库:http://opencv.org)是英特尔开源的一个跨平台计算机视觉的BSD许可库,包含数百种计算机视觉 ...

  2. [深度学习-总结]Deep learning中8大模型介绍与比较(LeNet5,AlexNet,VGG,Inception,MobileNets,ResNet,DenseNet,Senet)

    深度学习 9中模型介绍与比较 0. CNN 结构演化 1. LeNet5 2. AlexNet 3. VGG 为什么使用2个3x3卷积核可以来代替5*5卷积核 4. 1*1卷积 5. Inceptio ...

  3. 动手学深度学习(PyTorch实现)(十二)--批量归一化(BatchNormalization)

    批量归一化-BatchNormalization 1. 前言 2. 批量归一化的优势 3. BN算法介绍 4. PyTorch实现 4.1 导入相应的包 4.2 定义BN函数 4.3 定义BN类 5. ...

  4. 批标准化 tf.keras.layers.BatchNormalization 参数解析与应用分析

    Table of Contents 函数调用 设置training=None时可能存在的问题 :tf.keras.backend.learning_phase()的特点 批标准化函数产生的变量是可训练 ...

  5. 对tensorflow 的BatchNormalization的坑的理解与测试

    tensorflow 的 BatchNormalization的常见的坑 1. 在训练时设置批标准化的参数 training = True, 执行测试时设置  training = False 2. ...

  6. EfficientNet介绍

    EfficientNet系列介绍 卷积神经网络精度提升的经验 EfficientNet特点 网络结构 卷积神经网络精度提升的经验 网络深度的增加,典型的如resnet,就是通过残差网络的堆叠,增加网络 ...

  7. 图像分割:DeepLabV3与DeepLabV3+介绍

    本文的代码整理来自b站大佬Bubbliiiing和霹雳吧啦Wz的视频整理,感兴趣的朋友可以去观看相关视频,本博客是对该视频内容的学习总结经验,如有不正确的地方,还望指出. 接下来先介绍一下V3网络,后 ...

  8. 介绍ReLU6!计算机视觉实习面经(京东/商汤/思谋/依图/图森/字节/腾讯)

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 本文作者:大白鲨 |  来源:知乎(已授权) https://zhuanlan.zhihu.com/p/34 ...

  9. BN层 LN层 WN层作用介绍

    一:BN层 李宏毅视频讲解 BN(Batch Normalization)层的作用 (1)加速收敛(2)控制过拟合,可以少用或不用Dropout和正则(3)降低网络对初始化权重不敏感(4)允许使用较大 ...

最新文章

  1. TensorFlow 图像数据预处理及可视化
  2. php curl 携带session,PHP curl session 使用
  3. mysql忘记root密码及修改密码
  4. 【alibaba-cloud】SpringCloud和SpringCloud对比
  5. Ubuntu18.04 给整个目录及子目录赋权限
  6. Elasticsearch系列「二」如何物理删除给定期限的历史数据?
  7. 修改python默认的编码方式
  8. XCode10 swift4.2 适配遇到的坑
  9. 我的一篇思想汇报——君子务本,本立而道生
  10. 【验证码识别】基于matlab CNN卷积神经网络验证码识别【含Matlab源码 098期】
  11. 华为metebook电脑如何修改应用商店中新应用的默认安装路径
  12. oracle队列java_oracle 队列
  13. Flarum正式版 简体中文语言包
  14. 【MySQL】用假期时间学习数据库,稳赚不亏(存储、视图、事务、优化、安全)
  15. 从零开始用uniapp搭建一个APP
  16. abc能否构成三角形c语言,编写程序输入三角形三边a.b.c 判断abc能否构成三角形...
  17. 烦人的弹窗Placing the unmodified “important.txt“ in the zip file with the agent jar in the same
  18. 从事音视频开发,需要学习哪些知识点?
  19. 关于辽大信息学院选导师的一点儿心得
  20. SAP中物料报废无法确定账户问题处理实例

热门文章

  1. 一入IT深似海 从此妹子为路人
  2. sql server中datetime默认值设置和日期函数
  3. USB设备仿真框架设计指南——4.DSF中的COM对象
  4. 2020年Java常问面试题--聂
  5. tensorflow详细安装教程(Win10, Anaconda,Python3.9)
  6. Word文档TXT文档chm手册背景色设为护眼色
  7. 乐鑫Esp32学习之旅13 esp32 内置 dns 服务器,无需外网访问域名返回指定网页。(附带Demo)
  8. linux mysql insert into_MySQL的INSERT语句小结
  9. 电商平台如何实现财务分账?
  10. 个人网站到底怎样赚钱 [zt]