上一篇介绍了图像预处理中 resize 和 crop 的概念,在仓库的 python 预处理函数中,在 resize 和 crop之后,还有几个预处理的过程:一个是归一化,另外就是transpose 和reshape。
这一节就介绍一下,为什么在推理之前还需要对图像进行归一化。
归一化(Normalization)
在深度学习中,推理或训练之前对图像进行预处理,特别是归一化,是一种非常常见的做法。
那为什么要做归一化呢?
使用归一化的目的是将输入数据进行标准化,使输入的数据具有相似的分布。
什么意思呢?我们以图像举例子,不同的图片之间数据分布差异是很大的,有些图片的像素值普遍偏大,而有些图片的像素值偏小。
数据分布的不同,会导致神经网络在训练或者推理时出现较大的偏差,有时会导致训练收敛困难,推理误差较大。
这一点我们在介绍bn算法的时候曾经说到过,Bn 算法就是为了纠正在隐藏层与层之间,由于数据分布不一致而导致的模型难以收敛的问题,可以翻回到