CS231N 笔记5_神经网络训练

权值初始化


  2010年,Glorot等人提出了“Xavier初始化”,他们关注了神经元的方差表达式。具体目的大致为使得每层输出的方差尽量相等;

Batch Normalization

  Batch Normalization, 批规范化,即在每次SGD时,通过mini-batch来对相应的activation做规范化操作,使得结果(输出信号各个维度)的均值为0,方差为1。其本质是为了解决反向传播过程中的梯度问题(消散或爆炸)。
  BN可以应用于网络中任意的activation set。在CNN中,BN应作用在非线性映射前,即对 x=Wx+b x = W x + b 做规范化。
  ,在神经网络训练时遇到收敛速度很慢,或梯度爆炸等无法训练的状况时可以尝试BN来解决。另外,在一般使用情况下也可以加入BN来加快训练速度,提高模型精度。
该小节的总结取自于知乎-魏秀参博士

白化

  从Network in Network-读后笔记剪切的部分知识
  白化是一种重要的预处理过程,其目的是降低输入数据的冗余性,使得经过白化处理的输入数据具有如下性质:

  • 特征之间相关性较低;
  • 所有特征具有相同的方差;

  白化处理分PCA白化和ZCA白化,PCA白化保证数据各维度的方差为1,而ZCA白化保证数据各维度的方差相同。
  PCA白化可以用于降维也可以去相关性,而ZCA白化主要用于去相关性,且尽量使白化后的数据接近原始输入数据。

PCA白化

  PCA白化的两个要求:①特征之间相关性降低; ② 所有特征的方差都为1;
  首先进行的是降低特征之间的相关性。我们选取前K大的特征值的特征向量作为投影方向,如果K小于维度n,则是PCA降维;如果K等于维度n,则是相抵特征之间的相关性。具体做法为将K个特征向量组成矩阵U,将 uTx u T x 作为新的数据变量。
  其作用方式可以由以下两图简单显示:
原数据展示:
原图片
作用后数据展示:
作用后的图片
  上述两图表示PCA作用的方式为改变基函数,使得数据之间的相关性降低(原先是x2和x1是正相关的,作用后变得基本无关),但数据之间的相对位置并没有改变。

  第二个要求为使每个输入特征具有单位方差。具体做法为使用 1λi 1 λ i 作为缩放因子直接缩放每个特征 xrot,i x r o t , i ,计算公式为 xPCAwhite,i=xrot,iλi x P C A w h i t e , i = x r o t , i λ i 。经过PCA白化后的数据分布如下图所示,此时的协方差矩阵为单位矩阵I。
PCA白化后的数据分布:
PCA白化后的数据分布

ZCA

  ZCA白化的定义为

xZCAwhite=UxPCAwhite x Z C A w h i t e = U x P C A w h i t e

  ZCA白化只是在PCA白化的基础上做了一个旋转操作,使得白化之后的数据更接近原始数据。

小结

  PCA和ZCA都降低了特征之间的相关性,同时使得所有特征具有相同的方差。不同的是,① PCA保证所有特征的方差都为1,而ZCA只保证方差相等;② PCA可以用于降低特征之间的相关性,也可以用于降维,而ZCA主要用于降低特征之间的相关性;
③ ZCA白化后的数据比PCA白化后的数据更接近原始数据

模型检查

  用小训练集进行模型检查,目标是使得训练数据达到过拟合(Loss收敛之类的),看下模型实现过程有无问题。然后再扩大训练集,并找到找到合适的lr训练。

超参数选取

  视频中提及,在超参数的优化过程中,往往会发现一个超参数的重要性会远远高于另一个。因此随机选取超参数会比网格法选取超参数要好一些。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值