当我使用caffe进行图像分类时,它通常会计算图像均值。为什么会这样?
有人说它可以提高准确性,但我不明白为什么会这样。
答案 0 :(得分:1)
神经网络(包括CNN)是具有数千个参数的模型,我们尝试使用梯度下降进行优化。这些模型通过在其节点处具有非线性φ能够适应许多不同的功能。如果没有非线性激活功能,网络总体上会折叠成线性函数。这意味着我们需要非线性来解决大多数有趣的问题。
φ的常见选择是逻辑函数,tanh或ReLU。它们都是0左右最有趣的区域。这是梯度要么大到足以快速学习,要么在ReLU情况下非线性的地方。像Glorot initialization这样的权重初始化方案试图让网络从优化开始。其他技术如Batch Normalization也使节点的平均值保持在0左右。
因此,您计算(并减去)图像的平均值,以便第一个计算节点获得“表现良好”的数据。它的平均值为0,因此直觉是这有助于优化过程。
理论上,网络本身可以“减去”均值。所以,如果你训练的时间足够长,这应该不会太重要。但是,根据激活功能,“足够长”可能很重要。
答案 1 :(得分:0)
请参阅深度学习中的图像美白技术。实际上已经证明它提高了准确度但没有广泛使用。
要理解为什么在应用机器学习方法之前有助于参考规范化数据的想法。这有助于将数据保持在相同的范围内。实际上CNN现在使用的另一种方法是批量标准化。