关于深度学习中数据预处理(标准化和零均值)的思考

前言

在我们应用机器学习或者深度学习模型去完成某个学习任务之前,往往会对 raw data 做一些预处理,其中有一项叫做标准化,对模型的训练和调优有着至关重要的作用。

正文

我们直接以简单的二分类为例,如下图:
01
02
假设我们有两类数据分别是红色的点和蓝色的三角形,需要使用合适的直线将这两类数据尽可能的分离开来。
其中:图一是 raw data 亦即未经处理的数据,图二是经过标准化后(均值为0,标准差为1)的数据。
我们发现图一的情况如果将直线的权重矩阵进行微调(直线斜率发生变化,截距 偏置 不变,即绕着与y轴的交点进行左右摆动),那么很有可能会产生错误的分类结果,即模型的损失很容易受到这种微调的影响,很难进行进一步的优化。而图二数据经过标准化之后,再对直线的权重进行微调,我们发现依然能够得到不错的分类效果,即模型的损失受这种微调的影响较小,能进一步进行较好的优化。
那么类比到深度学习中来,实际上深度学习模型是由庞大的基于线性和非线性操作组合而成的,这种对于参数微调的敏感性最终可能会被无限放大(随着神经网络深度的增加而增加),到最后输出层及损失的计算中可能就会非常的巨大。
所以说为了深度学习模型在训练及优化的过程中更加的具有鲁棒性,让优化的过程更加的流畅快速,往往会将 raw data 进行标准化操作后,输入到模型中进行训练。
当然了,图像相关的数据,往往只需做 zero-mean centered 即零均值中心化,保留结构化的特征让卷积网络去提取丰富的图像空间特征,来加速模型的收敛,这个地方 斯坦福大学CS231n深度视觉识别课程 中有提到,如果神经网络中的某一层的输入全部为正(负),那么经由方向传播得到的当前层的梯度也全部为正(负),权重梯度的优化方向走的路线类似于“之”字型(zig zag path),如下图中 红色箭头 所示,很明显相比于图中的那条 蓝色箭头 来说,“之”字型的优化路线虽然方向总体是对的,但是走了不少“冤枉路”:
03
所以经过 zero-mean centered 处理后的数据用来训练并优化模型时,让输入模型的数据有正有负,保证权重梯度优化的方向尽可能的向图中蓝色箭头的方向去靠拢,能加速模型的收敛,少走弯路。

总结

总之,所有对数据的处理都是为了让模型学到更多的特征,让模型能快速的学习并迭代优化,提高开发效率。

注:所有图片均来自于 斯坦福大学CS231n深度视觉识别课程 ,感谢李飞飞大佬在课堂上做出的经验分享,获益匪浅。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值