神经网络训练细节系列笔记:
这一篇,我们将继续介绍神经网络训练细节。
一、Data Preprocessing(数据预处理)
如图是原始数据,数据矩阵X有三种常见的数据预处理形式,其中我们假定X的大小为[N×D](N是数据的数量,D是它们的维数)。
归一化处理(normalized data)
如上图所示,归一化处理是指每个维度都通过标准偏差来进行缩放或者确保每个维度最大值和最小值在-1到1之间等等,红线表示数据的范围,中间长度不等,右边长度相等。在图像处理中,归一化并不常用。零中心化处理
零中心化处理是指减去每个维度的平均值,进而使得数据是以零为中心的。数据云集中在原点的周围。在图像处理中,零中心化处理是一种常用的数据预处理的方式。PCA and Whitening(PCA算法和白化处理)
PCA和白化是数据预处理的另一种方式。在这个过程中,应用PCA算法将协方差矩阵变成对角矩阵,或者对数据进行白化处理,那意味着在PCA处理后对数据进行压缩,使协方差矩阵变成单位矩阵,这种预处理方式在机器学习中经常用到。
以上三种数据预处理的方法在图像处理中并不常用,在图像处理中常见的是均值中心化处理,以32*32*3的CIFAR图像为例,有两种方式实现:
减去均值图像
经过计算后得到一个32*32*3的均值图像,用每张图像减去均值图像进行中心化处理,从而获得更好的训练效果。
减去单通道均值
这种数据预处理方式常常用在VGGNet中,在红绿蓝三色通道中分别计算,分别得到3个数值。这种预处理方式非常常用,因为我们只需要关心三个数值ÿ