7、网络优化和正则化

网络优化和正则化

1、将神经网络应用于机器学习的难点:

  • 优化问题:神经网络模型是一个非凸函数,再加上在深度网络中的梯度消失问题,很难进行优化;另外,深层神经网络模型一般参数比较多,训练数据也比较大,会导致训练的效率比较低。
  • 泛化问题:因为神经网络的拟合能力强,反而容易在训练集上产生过拟合。因此,在训练深层神经网络时,同时也需要通过一定的正则化方法来改进网络的泛化能力。

2、网络优化

  • 优化的难点:
    • 网络结构多样:结构多样、参数多
    • 高维变量的非凸优化:如何初始化参数、局部最优点

3、优化算法

  • 主要使用梯度下降算法寻找最优值,又可分为:
    • 批量梯度下降
    • 随机梯度下降
    • 小批量梯度下降
  • 上述三种方法共同的问题是:
    • 如何初始化参数
    • 如何预处理数据
    • 如何选择合适的学习率,避免陷入局部最优值

3.1、小批量梯度下降

  • 特点:每次迭代选取的批量样本数越多,下降效果越明显,并且下降曲线越平滑。当每次选取一个样本时(相当于随机梯度下降),损失整体是下降趋势,但局部看会来回震荡。如果按整个数据集上的迭代次数的来看损失变化情况,则是批量样本数越小,下降效果越明显。
  • 学习率衰减:学习率在一开始要保持大些来保证收敛速度,在收敛到最优点附近时要小些以避免来回震荡。$
    • 逆时衰减:

    • 指数衰减:

    • 自然指数衰减:

    • 自适应学习率调整算法

      • AdaGrad
      • RMSSprop
      • AdaDelta
  • 梯度方向优化
    • 动量法
    • Nesterov 加速梯度
    • 自适应动量估计(Adaptive Moment Estimation, Adam)
  • 总结:上述几种优化方法大体上可以分为两类:一是调整学习率,使得优化更稳定;二是调整梯度方向,优化训练速度。


4、参数初始化

  • 一般而言,参数初始化的区间应该根据神经元的性质进行差异化的设置。如果一个神经元的输入连接很多,它的每个输入连接上的权重就应该小一些,以避免神经元的输出过大(当激活函数为 ReLU时)或过饱和(当激活函数为 sigmoid函数时)。
  • 常用的初始化方式:
    • Gaussian 分布初始化
    • 均匀分布初始化

5、数据预处理

  • 一般而言,原始的训练数据中,每一维特征的来源以及度量单位不同,会造成这些特征值的分布范围往往差异很大。当我们计算不同样本之间的欧氏距离时,取值范围大的特征会起到主导作用。另外,不同特征的取值范围相差较大还会影响梯度下降算法的效率。
  • 常用的归一化方法:
    • 缩放归一化

    • 标准归一化

    • 白化:白化(Whitening)是一种重要的预处理方法,用来降低输入数据特征之间的冗余性。输入数据经过白化处理后,特征之间相关性较低,并且所有特征具有相同的方差。

      • 白化的一个主要实现方式是使用主成分分析(Principal Component Analysis, PCA)方法去除掉各个成分之间的相关性。

6、网络正则化

  • 正则化(Regularization)是一类通过限制限制模型复杂度,从而避免过拟合,提高泛化能力的方法,包括引入一些约束规则,增加先验、提前停止等。
    • ℓ1 和 ℓ2 正则化
    • 权重衰减
    • 提前停止
    • 丢弃法
    • 数据增强
      • 主要应用于图像处理上
      • 图像数据的增强主要是通过算法对图像进行转变,引入噪声等方法来增加数据的多样性。增强的方法主要有几种:
        • 旋转
        • 翻转
        • 缩放
        • 平移
        • 加噪声
    • 标签平滑
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值