批量归一化在深度学习中通常是首选,它对每一层中激活函数的输出进行归一化(因为成本函数的输出取决于输入)。
相反,如果训练集在通过层之前进行归一化,这是否解决了同样的问题?
批量归一化在深度学习中通常是首选,它对每一层中激活函数的输出进行归一化(因为成本函数的输出取决于输入)。
相反,如果训练集在通过层之前进行归一化,这是否解决了同样的问题?
批量归一化据说解决了每一层内的协变量偏移问题。即使您从标准化/白化数据集开始,在输入通过网络层后,它也可能不再以 0 为中心,具有单位方差。
例如,如果考虑具有恒定权重矩阵的相同大小的层和偏见, 以便, 那么如果层中的神经元 (IE ) 均值和单位方差为零,则层中的神经元 将有 10 的方差和 4 的平均值(为了简单起见,这里我忽略了激活函数)。
因此,即使输入被归一化,网络内神经元值的分布也不能保证被归一化。批量规范通过规范化每一层来解决这个问题。