前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习: Batch Normalization (归一化)

深度学习: Batch Normalization (归一化)

作者头像
JNingWei
发布2018-09-27 15:53:24
5450
发布2018-09-27 15:53:24
举报

Introduction

批规范化,batch normalization,即著名的 BN 操作。

Birth

15年2月的论文:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

Motivation

为了防止隐层的输入分布老是变来变去,BN让每个隐层节点的 激活输入分布 缩小到 (-1, 1)

Note

  • 是缩小到 (-1, 1),而非缩小到 (0, 1)

Effect

BN的好处有:

  • 缩小输入空间,从而降低调参难度
  • 防止梯度爆炸/消失,从而加速网络收敛

Compute

简而言之:

  1. 计算批处理数据的 均值方差
  2. 并据此对该批数据做 规范化
  3. 乘上缩放矩阵,并加上平移向量

Batch Normalization (BN) 计算公式:

这里写图片描述
这里写图片描述

通过经典的 chain rule 来学BN的参数:

这里写图片描述
这里写图片描述

Summary

  • conv -> bn -> relu ” 套件目前早已成为了CNN标配module。
  • BN因为在前馈的时候缩小了输入空间,而前馈时的输入空间又直接影响了反馈计算时的梯度状况。所以说,BN其实帮助减缓了梯度问题。

[1] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift [2] Understanding Batch Normalization [3] Batch Normalization导读 [4] 深度学习中 Batch Normalization为什么效果好? [5] 解析卷积神经网络—深度学习实践手册 [6] 深度学习: gradient diffusion (梯度弥散)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年12月21日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Introduction
  • Birth
  • Motivation
  • Effect
  • Compute
  • Summary
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档