炼丹的不二法门
1.数据增广 简单,行之有效地增加训练数据量,提高模型的泛化能力。 水平翻转(horizontally flipping) 位移 裁剪 颜色抖动(color jittering) 组合操作 例如同时做旋转和随机尺度变换,此外还可以把每个patch中所有像素在HSV颜色空间中的饱和度和明度提升0.25-4次幂方,乘以0.7-1.4之间的一个因子,再加一个-0.1-0.1之间的值。同样你可以在色调通道(H)对每张图片或patch 的所有像素增加一个-0.1~0.1之间的值。 2.预处理 零均值化和标准化 零均值化: X - = numpy.mean( X, axis = 0 ) 数据有 过大的均值可能导致参数的梯度过大 ,如果有后续的处理,可能要求数据零均值,比如主成分分析 PCA。零均值化并没有消除像素之间的相对差异,人们对图像信息的摄取通常来自于像素之间的相对色差,而不是像素值的高 低。归一化是为了 让不同维度的数据具有相同的分布 。假如二维数据(X1,X2)两个维度都服从均值为零的正态分布,但是X1方差为100,X2方差为1。那么对(X1,X2)进行随机采样在二维坐标系中绘制的图像,应该是狭长的椭圆 形。 归一化后 加快了梯度下降求最优解的速度并有可能提高精度 。考虑数据特征提取的表达式: S = w1*x1 + w2*x2 + b 梯度计算: dS