NLP高频面试题:参数更新、bert训练、扩充样本、layer&batch等

本文介绍了常用的参数更新方法,如梯度下降、SGD及其改进的小批量梯度下降,以及动量、Nesterov、AdaDelta、Adam和Adagrad算法。在处理长文本的Bert训练中,提出了截断和切分策略。针对样本量较少的NLP任务,提出了同义词替换、随机插入、交换和删除等数据增强方法。此外,还探讨了layer normalization与batch normalization的区别,以及multi-head attention在BERT中的结构。最后,文章提供了《名企AI面试100题》的电子版赠品信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


请介绍几种常用的参数更新方法。

梯度下降:在一个方向上更新和调整模型的参数,来最小化损失函数。

随机梯度下降(Stochastic gradient descent,SGD)对每个训练样本进行参数更新,每次执行都进行一次更新,且执行速度更快。

为了避免SGD和标准梯度下降中存在的问题,一个改进方法为小批量梯度下降(Mini Batch Gradient Descent),因为对每个批次中的n个训练样本,这种方法只执行一次更新。

使用小批量梯度下降的优点是:

  • 可以减少参数更新的波动,最终得到效果更好和更稳定的收敛。
  • 还可以使用最新的深层学习库中通用的矩阵优化方法,使计算小批量数据的梯度更加高效。
  • 通常来说,小批量样本的大小范围是从50到256,可以根据实际问题而有所不同。
  • 在训练神经网络时,通常都会选择小批量梯度下降算法。

SGD方法中的高方差振荡使得网络很难稳定收敛,所以有研究者提出了一种称为动量(Momentum)的技术,通过优化相关方向的训练和弱化无关方向的振荡,来加速SGD训练。

Nesterov梯度加速法,通过使网络更新与误差函数的斜率相适应,并依次加速SGD,也可根据每个参数的重要性来调整和更新对应参数,以执行更大或更小的更新幅度。

AdaDelta方法是AdaGrad的延伸方法,它倾向于解决其学习率衰减的问题。Adadelta不是累积所有之前的平方梯度,而是将累积之前梯度的窗口限制到某个固定大小w。

Adam算法即自适应时刻估计方法(Adaptive Moment Estimation),能计算每个参数的自适应学习率。这个方法不仅存储了AdaDelta先前平方梯度的指数衰减平均值,而且保持了先前梯度M(t)的指数衰减平均值,这一点与动量类似。

Adagrad方法是通过参数来调整合适的学习率η,对稀疏参数进行大幅更新和对频繁参数进行小幅更新。因此,Adagrad方法非常适合处理稀疏数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值