使用完全标准化的训练集进行深度学习有什么缺点?

数据挖掘 Python 深度学习 喀拉斯 张量流
2021-09-24 02:50:31

批量归一化在深度学习中通常是首选,它对每一层中激活函数的输出进行归一化(因为成本函数的输出取决于输入)。

相反,如果训练集在通过层之前进行归一化,这是否解决了同样的问题?

1个回答

批量归一化据说解决了每一层内的协变量偏移问题。即使您从标准化/白化数据集开始,在输入通过网络层后,它也可能不再以 0 为中心,具有单位方差。

例如,如果考虑具有恒定权重矩阵的相同大小的层wij=10和偏见bj=4, 以便ziL=jwijzjL1+bjL, 那么如果层中的神经元 L1 (IE ziL1) 均值和单位方差为零,则层中的神经元 L 将有 10 的方差和 4 的平均值(为了简单起见,这里我忽略了激活函数)。

因此,即使输入被归一化,网络内神经元值的分布也不能保证被归一化。批量规范通过规范化每一层来解决这个问题。