什么是标准化

  • 传统机器学习中标准化也叫做归一化,

    • 一般是将数据映射到指定的范围,用于去除不同维度数据的量纲以及量纲单位。
    • 数据标准化让机器学习模型看到的不同样本彼此之间更加相似,这有助于模型的学习与对新数据的泛化
  • 常见的数据标准化形式:

    • 标准化和归一化
    • 将数据减去其平均值使其中心为 0,然后将数据除以其标准差使其标准差为 1。
    • Batch Normalization, 批标准化, 和普通的数据标准化类似, 是将分散的数据统一的一种做法, 也是优化神经网络的一种方法.

什么是批标准化

  • 批标准化不仅在将数据输入模型之前对数据做标准化。
  • 在网络的每一次变换之后都应该考虑数据标准化即使在训练过程中均值和方差随时间发生变化,它也可以适应性地将数据标准化

为什么要做批标准化

  • 批标准化解决的问题是梯度消失与梯度爆炸。

  • 批标准化一种训练优化方法。

  • 关于梯度消失,以sigmoid函数为例子,sigmoid函数使得输出在[0,1]
    之间。 。

  • 如果输入很大,其对应的斜率就很小,反向传播梯度就很小,学习速率就很慢。

批标准化好处

  • 我们知道数据预处理做标准化可以加速收敛,同理,在神经网络使用标准化也可以加速收敛,而且还有更多好处
  • 具有正则化的效果
  • 提高模型的泛化能力
  • 允许更高的学习速率从而加速收敛
  • 批标准化有助于梯度传播,因此允许更深的网络。对于有些特别深的网络,只有包含多个BatchNormalization 层时才能进行训练。
  • BatchNormalization 广泛用于 Keras 内置的许多高级卷积神经网络架构,比如ResNet50、Inception ,V3 和 Xception。
  • Tf实现批标准化
    BatchNormalization 层通常在卷积层或密集连接层之后使用。Tf.keras.layers.Batchnormalization()

批标准化的实现过程

  • 1.求每一个训练批次数据的均值
  • 2.求每一个训练批次数据的方差
  • 3.数据进行标准化
  • 4.训练参数γ,β批标准化的实现过程
  • 5.输出y通过γ与β的线性变换得到原来的数值在训练的正向传播中,不会改变当前输出,只记录下γ与β。
  • 在反向传播的时候,根据求得的γ与β通过链式求导方式,求出学习速率以至改变权值。

批标准化的预测过程

  • 对于预测阶段时所使用的均值和方差,其实也是来源于训练集。比如我们在模型训练时我们就记录下每个batch下的均值和方差,待训练完毕后,我们求整个训练样本的均值和方差期望值,作为我们进行预测时进行BN的的均值和方差

批标准化的使用位置

  • training:Python布尔值,指示图层应在训练模式还是在推理模式下运行。
  • training=True:该图层将使用当前批输入的均值和方差对其输入进行标准化。
  • training=False:该层将使用在训练期间学习的移动统计数据的均值和方差来标准化其输入。
  • 原始论文讲在CNN中一般应作用与非线性激活函数之前,但是,实际上放在激活函数之后效果可能会更好。

深度学习-Tensorflow2.2-批标准化简介-14相关推荐

  1. 深度学习数据预处理——批标准化(Batch Normalization)

    数据预处理最常见的方法就是中心化和标准化,中心化相当于修正数据的中心位置,实现方法非常简单,就是在每个特征维度上减去对应的均值,最后得到 0 均值的特征.标准化也非常简单,在数据变成 0 均值之后,为 ...

  2. DL框架之MXNet :深度学习框架之MXNet 的简介、安装、使用方法、应用案例之详细攻略

    DL框架之MXNet :深度学习框架之MXNet 的简介.安装.使用方法.应用案例之详细攻略 目录 MXNet 的简介 1.优缺点 2.相关文章 3.相关链接 MXNet 的安装 MXNet 的使用方 ...

  3. DL框架之Caffe:深度学习框架之Caffe的简介、安装、使用方法详细攻略

    DL框架之Caffe:深度学习框架之Caffe的简介.安装.使用方法详细攻略 目录 Caffe的简介 Caffe的安装 Caffe的使用方法 1.基本函数 ​ Caffe的简介 全称Convoluti ...

  4. DL框架之AutoKeras框架:深度学习框架AutoKeras框架的简介、特点、安装、使用方法详细攻略

    DL框架之AutoKeras框架:深度学习框架AutoKeras框架的简介.特点.安装.使用方法详细攻略 Paper:<Efficient Neural Architecture Search ...

  5. DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略

    DL框架之Keras:深度学习框架Keras框架的简介.安装(Python库).相关概念.Keras模型使用.使用方法之详细攻略 目录 Keras的简介 1.Keras的特点 2.Keras四大特性 ...

  6. TensorFlow:深度学习框架TensorFlow TensorFlow_GPU的简介、安装、测试之详细攻略

    TensorFlow:深度学习框架TensorFlow & TensorFlow_GPU的简介.安装.测试之详细攻略 目录 TensorFlow的简介 TensorFlow的安装 1.tens ...

  7. DL框架之DL4J/Deeplearning4j:深度学习框架DL4J/Deeplearning4j的简介、安装、使用方法之详细攻略

    DL框架之DL4J/Deeplearning4j:深度学习框架DL4J/Deeplearning4j的简介.安装.使用方法之详细攻略 目录 深度学习框架Deeplearning4j的简介 1.Deep ...

  8. DL:基于神经网络的深度学习模型的总概览简介(DNN/CNN/RNN等)、各种网络结构对比、案例应用对比之详细攻略

    DL:基于神经网络的深度学习模型的总概览简介(DNN/CNN/RNN等).各种网络结构对比.案例应用对比之详细攻略 目录 神经网络所有模型的简介(概览) DNN.CNN.RNN结构对比 相关文章 DL ...

  9. 深度学习应用实例--对话机器人--简介

    作者:jliang https://blog.csdn.net/jliang3 深度学习应用实例--对话机器人--简介 对话机器人按功能分类 单轮会话场景:QA形式,一问一答,标准答案只有一个,相似问 ...

最新文章

  1. 写在我第一个虚幻程序之前
  2. oracle和SQLserver数据库中select into 的区别
  3. 利用JOrgChart只需2分钟即可配置简单组织机构图
  4. pythondict初始化_利用defaultdict对字典进行全局初始化。
  5. PyODPS DataFrame:统一的数据查询语言
  6. puppet(1.1-1.6)
  7. 类的static成员并用其实现一个单例模式
  8. Android使用Http访问网络
  9. paip.语义相关是否可在 哈米 的语义分析中应用
  10. 2021十大运动蓝牙耳机品牌推荐,平价真无线蓝牙耳机运动无拘束
  11. IAR 8.3 for Arm 安装与注册
  12. LM5117 学习板-BUCK 大功率降压稳压模块 8~52V输入 5~28 V 8A 输出
  13. 《动手学深度学习》| 2 深度学习基础
  14. 语句摘抄——第26周
  15. 网页中HTML代码如何实现字体删除线效果
  16. 美业企业如何实现自我蜕变?美业李依然腹有良策
  17. 服务器缓存(CDN)
  18. js求(1~n)之间 素数之和
  19. zabbix监控配置流程SQL语句
  20. 方言APP系统开发详情

热门文章

  1. PHP的静态方法与普通方法
  2. java如何返回之前代码_java – 如何在每次返回之前向消息添加代码?
  3. 微信小程序开发打开另一个小程序的实现方法
  4. 微信小程序将页面按钮悬浮固定在底部
  5. pandas新建dataframe_pandas数据处理
  6. rabbitmq常用的五种模型
  7. batocera_旧电脑变身影音游戏主机,来自法国大神的batocera系统
  8. android studio编译找不到程序包,【图片】哥哥们,android studio 打包的安装包手机无法识别怎么破【androidstudio吧】_百度贴吧...
  9. html子布局不超出父布局,详解flex布局中保持内容不超出容器的解决办法
  10. 关于python搞笑段子_Python爬取内涵段子里的段子