深度学习(七)~神经网络常见优化方法

神经网络常见优化方法

1. 神经网络为什么要优化?

①网络结构多样性
②高维变量的非凸优化

2. 优化什么?

最优化算法有三要素变量(Decision Variable)、约束条件(Constraints)和目标函数(Objective function)。

优化分为参数优化和超参数优化
参数: 模型f(x;Θ)中的Θ称为模型的参数,可以通过优化算法进行自动学习得到
超参数: 用来定义模型结构或优化策略

3. 梯度下降的方法

(1). 梯度下降

对所有训练样本求平均损失函数,进行优化

在这里插入图片描述
α是步长,也称学习率
缺点:

  • (1) 对于非完全凸函数极容易陷入局部最优
  • (2) 对于大数据集时计算量很大
  • (3) 在接近最优区域时收敛速度非常慢,因为此时的梯度非常小
  • (4) 学习率难以自适应。一般前期要加速下降,后期要抑制振荡。
    常见处理方式:
    随机梯度下降(随机抽取一个样本,用其求梯度并作为本次下降的梯度,但一般随机梯度下降很难收敛到最小值),或者小批量梯度下降(从样本中取小批量来求梯度,用平均值来作为本次的梯度下降)。

(2). 随机梯度下降(也称增量梯度下降法)

每次对单个样本求损失函数,进行优化

在这里插入图片描述

(3). 小批量梯度下降

每次对K个样本求损失函数求平均,进行优化

在这里插入图片描述

4. 批量大小的选择

在小批量梯度下降法中,批量大小(Batch Size)对网络优化的影响也非常大。

  • 一般而言批量大小不影响随机梯度的期望,但会影响随机梯度的方差。批量越大,随机梯度的方差越小,引入的噪声越小,训练越稳定,此时可以设置较大的学习率。
  • 学习率通常随着批量的增大而设置得越大.
  • 批量越大,loss下降越明显;适当小的批量会更快收敛。
  • 批量越大,越有可能收敛到尖锐的最小值;批量越小越有可能收敛到平坦最小值。

5. 自适应学习率调整

(1). Adagrad算法

学习速率会在一开始比较大,当靠近最优点时,学习速率会变的很小,慢慢的去收敛到最小值。
缺点: 经过一定次数的迭代依然没有找到最优点时,由于这时学习率已经非常小,很难再继续找到最优点。

(2). RMSprop算法

避免Adagrad算法中学习率不断单调下降以致过早衰减

(3). Adadelta算法

6. 梯度估计修正

(1). 动量法

动量法模拟物体的惯性来加速下行
在这里插入图片描述
其中vt-1表示之前累计动量,γ是动量的衰减值,通常取0.9

(2). Nesterov加速度

是动量法的改进,也称Nesterov动量法

(3). Adam算法

(4). 梯度截断

按值截断
按模截断

7. 常用优化算法小结

先放在这里后续再更新

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
摘要:数据的上界和下界概念在人工智能领域中使用得非常普 遍,在粗糙集理论中尤为明显,随着粗集理论的不断发展, 上下边界的概念得到更大范围内的应用。本文将经典的神经 网络和粗集理论有机地结合,提出了一种基于粗集理论的神 经网络,并应用神经网络的粗糙模式建立预测模型。在粗糙 模式下每个神经网络的输入值不是一个单值而是一对值,即 上下边界数据,经典的神经网络在预测模型中采用的是单值 数据作为输入值,但是在一些应用中会产生问题,如医院要 对病人进行病情的跟踪观察,并希望对其未来的情况进行预 测,这时经典的神经网络就难以适用了,对于一个病人来 说,心跳次数,脉搏次数,血压值,体温等项指标在一天当 中需要进行几次测试,问题在于对于同一项指标每次测量值 也是不同的,因此得到的是一组数据而非单个数据,由于经 典的神经网络对于外界的信息的传导需要的是单值输入,究 竟应该取测量值中的哪个值作为输入就难以确定,通常的方 法是将测量数据进行数学平均,以均值作为网络的输入,但 是这可能导致具有重要性质数据的泛化,而粗糙集理论则可 以很好地解决这个问题,粗糙集数据的上下边界可以将病人 一天的各项指标测量值的上界和下界数据作为粗糙神经元的 输入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值