图像分类问题的标准化与标准化

数据挖掘 机器学习 深度学习 计算机视觉 正常化
2022-02-16 12:37:32

对于昼夜图像分类,归一化还是标准化图像更好?一般来说,我应该什么时候使用每种方法?我对示例感兴趣,为什么一种方法优于另一种方法?

这里,归一化是指将像素值除以 255。标准化是指减去像素的平均值,然后除以标准差。请参阅下面的代码示例

# normalization
datagen = ImageDataGenerator(rescale=1.0/255.0)

或者

# stardartization
datagen = ImageDataGenerator(samplewise_center=True, samplewise_std_normalization=True)
1个回答

为了能够回答您的问题,首先我们应该考虑标准化和标准化之间的差异。

归一化:normalized_value=(raw_value-min)/(max-min)

标准化:standardized_value=(raw_value-μ)/σ

此外,还有一种著名的方法是居中。从像素中减去平均值。

一般来说,所有这些都服务于一个共同且至关重要的目的:为所有功能提供“公平条件”。因为,对于每个特征,我们有许多共享参数(例如学习率)而不是自定义参数,所以我们需要有相似的范围。因此,参数共享将不是最优的,因为参数(例如学习率)不会对具有不同范围的特征具有相同的功率。例如,收敛到全局最优值可能对其中一个特征有效,但是,另一个特征可能需要较小的学习率值,因为它的范围很广。

此外,较小的值会增加计算过程,加快收敛速度​​。此外,如果特征是标准的,则权重的解释和比较会更容易。如果范围不同,则其中一个系数可能非常大,而另一个系数可能相当小。

但是,我想提请注意您将像素值除以 255 的标准化技术,这只是将范围从 0-255 降低到 0-1,但像素值在该范围内的分布保持不变。当我们想要有一个丰富的特征范围时,主要使用归一化,但是,RGB 已经有一个 0-255 的丰富系统。但是,从理论上讲,这仍然有助于加快训练过程。

很难说其中一个(标准化或标准化)比另一个更好,因为根据场景的不同,一个可能会击败另一个。通常,这两种技术都会被尝试和比较,看看哪一种表现更好。

在许多情况下,要获得更准确的模型,必须使用这些技术。假设您有两张图像,其中一张图像很暗,其中所有像素的值彼此接近(范围窄、偏差小、峰度高),但另一张图像是复杂图像,其中图像的某些部分彼此不同像素值方面(范围广、偏差大、峰度低)。在这种情况下,使用归一化有助于模型更好地理解和捕捉图像内部的关系。