参考:

https://zhuanlan.zhihu.com/p/27938792

做法

设,每个batch输入是 (其中每个 都是一个样本, 是batch size) 假如在第一层后加入Batch normalization layer后, 的计算就倍替换为下图所示的那样。

  • 矩阵 先经过 的线性变换后得到
    • :因为减去batch的平均值 后, 的作用会被抵消掉,所以没必要加入 (红色删除线)。
  • 再减去batch的平均值 ,并除以batch的标准差 得到 是为了避免除数为0的情况所使用的微小正数。
    • :但 基本会被限制在正态分布下,使得网络的表达能力下降。为解决该问题,引入两个新的parameters: 是在训练时网络自己学习得到的。
  • 乘以 调整数值大小,再加上 增加偏移后得到
  • 为加入非线性能力, 也会跟随着ReLU等激活函数。
  • 最终得到的 会被送到下一层作为输入。

需要注意的是,上述的计算方法用于在训练。因为测试时常会只预测一个新样本,也就是说batch size为1。若还用相同的方法计算 就会是这个新样本自身, 就会成为0。

所以在测试时,所使用的 是整个训练集的均值 和方差

而整个训练集的均值和方差 的值通常也是在训练的同时用移动平均法来计算

BN_batch normalization的更多相关文章

  1. 数据预处理中归一化(Normalization)与损失函数中正则化(Regularization)解惑

    背景:数据挖掘/机器学习中的术语较多,而且我的知识有限.之前一直疑惑正则这个概念.所以写了篇博文梳理下 摘要: 1.正则化(Regularization) 1.1 正则化的目的 1.2 正则化的L1范 ...

  2. 归一化方法 Normalization Method

    1. 概要 数据预处理在众多深度学习算法中都起着重要作用,实际情况中,将数据做归一化和白化处理后,很多算法能够发挥最佳效果.然而除非对这些算法有丰富的使用经验,否则预处理的精确参数并非显而易见. 2. ...

  3. Normalization

    In creating a database, normalization is the process of organizing it into tables in such a way that ...

  4. 归一化交叉相关Normalization cross correlation (NCC)

    归一化交叉相关Normalization cross correlation (NCC) 相关系数,图像匹配 NCC正如其名字,是用来描述两个目标的相关程度的,也就是说可以用来刻画目标间的相似性.一般 ...

  5. 从Bayesian角度浅析Batch Normalization

    前置阅读:http://blog.csdn.net/happynear/article/details/44238541——Batch Norm阅读笔记与实现 前置阅读:http://www.zhih ...

  6. quantile normalization原理

    对于芯片或者其它表达数据来说,最常见的莫过于quantile normalization啦. 那么它到底对我们的表达数据做了什么呢?首先要么要清楚一个概念,表达矩阵的每一列都是一个样本,每一行都是一个 ...

  7. 数据标准化 Normalization

    数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能 ...

  8. [CS231n-CNN] Training Neural Networks Part 1 : activation functions, weight initialization, gradient flow, batch normalization | babysitting the learning process, hyperparameter optimization

    课程主页:http://cs231n.stanford.edu/   Introduction to neural networks -Training Neural Network ________ ...

  9. 深度学习网络层之 Batch Normalization

    Batch Normalization Ioffe 和 Szegedy 在2015年<Batch Normalization: Accelerating Deep Network Trainin ...

随机推荐

  1. mysql5.6更改datadir数据存储目录

    环境需求: 有些数据存储场景可能需要将数据放到指定的挂载路径或目录,mysql默认存放数据路径在:/var/lib/mysql下. 测试环境: 操作步骤: 1. 查看当前存储目录 [root@mysq ...

  2. ORACLE报错和解决方案

    ORA-01034: ORACLE not available ORA-27101 出现ORA-01034和ORA-27101的原因是多方面的:主要是oracle当前的服务不可用,shared mem ...

  3. 安装PHP ImageMagick笔记

    安装过程 $ pecl install imagick 当提示Please provide the prefix of Imagemagick installation [autodetect] :直 ...

  4. Linux命令模拟Http的get或post请求

    Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求. get请求: 1.使用curl命令: cur ...

  5. JavaScript深入之变量对象

    前言 在上篇<javascript深入之执行上下文栈>中讲到,当javascript代码执行一段可执行代码(executable code)时,会创建对应的执行上下文(execution ...

  6. (转)深入理解Java注解类型(@Annotation)

    背景:在面试时候问过关于注解的问题,工作中也用到过该java的特性,但是也没有深入的了解. 秒懂,Java 注解 (Annotation)你可以这样学 ps:注解最通俗易懂的解释 注解是一系列元数据, ...

  7. 关于PHP的 PHP-FPM进程CPU 100%的一些原因分析和解决方案

    之前碰到过php-fpmCPU高达80%-90%,特此记录下 1. 查看是否是硬件问题 方式:top  命令 主要查看:load average(平均负载),这是一个4核8G内存的服务器 1分钟平均负 ...

  8. Redis在python中的使用

    一 简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted ...

  9. python面向对象中的一些特殊__方法__

    1. __doc__ 表示类的描述信息 class Foo: """ 描述类信息""" def func(self): pass print ...

  10. pageObject+selenium

    新发现的设计模式,很好用. 参考:https://www.cnblogs.com/xiaofeifei-wang/p/6733753.html