tinymindxx / blogs

this is a personal blog project
0 stars 1 forks source link

Batch Normalization Implementation #1

Open tinymindxx opened 6 years ago

tinymindxx commented 6 years ago

原理

机器学习通过对训练数据的学习,获得数据的特征知识.这个前提条件是存在一个假设的,即训练数据的分布与总体样本分布差异性不大.训练样本越多,样本与总体的差异性越小.实际训练的过程中,为了提高训练速度,会采取批量训练的方式,这种情况下,训练样本与总体的差异性就更大了,这种差异性会导致在训练的后期,整个训练过程不稳定.BN算法就是用来解决这种不稳定情况的.通过对训练数据进行归一化,减少了数据的不稳定性. 对数据进行归一化,通常采取的方式如下: image

这种归一化会将数据限制在一个很小的范围内,削弱数据的表达能力,因此需要增加额外的参数,对数据进行调整,使得数据能够在进行归一化之后依然能够保存原始的信息; image

实现