PyTorch入门实战教程笔记(二十):卷积神经网络CNN 2
Batch Norm
详细相关论文解读可参考:Batch Normalization(BN层)网络详解,下面我们简要的分析一下,比如我们使用Sigmoid函数时,如果数据过小或者过大会出现梯度弥散的情况(即梯度为零),会很长时间得不到更新,我们会避免使用Sigmoid函数,而是用Relu函数。但是有些场合我们必须使用Sigmoid函数,因此我们有必要把输入的值控制在一定范围内,在输入下层之前,先做一个标准化(normalization)操作,变化到以0为均值,以σ为方差,希望值能够落在0附近,这样再做下一层操作就能够非常方便快捷。
- 在Image Normalization上面有应用,因为图片数据保存在[0, 1]中间,我们做一个Normalization,统计出来三通道(RGB)对应的均值0.485,0.456,0.406,统计出来的方差为 0.229,0.224,0.225。然后经R通道的数据 (xr-0.485)/0.485,G、B通道类似计算。