深度学习的输入数据集为什么要做均值化处理

一直不明白,在处理一些输入数据的时候为什么要减去均值。今天看了斯坦福大学的cs231n深度学习课程,其中在激活函数一章讲到:

Consider what happens when the input to a neuron is always positive...

深度学习的输入数据集为什么要做均值化处理_第1张图片

根据求导的链式法则,w的局部梯度是X,当X全为正时,由反向传播传下来的梯度乘以X后不会改变方向,要么为正数要么为负数,也就是说w权重的更新在一次更新迭代计算中要么同时减小,要么同时增大。

为了更好得理解,假设w有两维,做出下图:

深度学习的输入数据集为什么要做均值化处理_第2张图片

其中,w的更新方向向量只能在第一和第三象限。假设最佳的w向量如蓝色线所示,由于输入全为正,现在迭代更新只能沿着红色路径做zig-zag运动,更新的效率很慢。

基于此,当输入数据减去均值后,就会有负有正,会消除这种影响。

你可能感兴趣的:(人工智能)