2023/5/28周报 Adam

本文探讨了机器学习中的模型偏差和优化问题,如局部最小值和鞍点,提出通过改变模型复杂度和采用更强大的优化技术来应对。还讨论了自适应学习速率的重要性,如Adagrad、RMSProp和Adam算法,以适应不同参数的学习需求。此外,批量大小和动量在优化过程中的角色也被分析,强调小批量的噪声更新对训练效果的积极影响。

摘要

This week, I learned some algorithms and strategies in machine learning, such as how to distinguish between Model bias and Optimization Issue, and deepened my understanding through some examples. In addition, it focuses on various situations of Optimization and corresponding treatment methods, such as how to deal with saddle points. Finally, various methods of adaptive learning rate are studied.

本周学习了机器学习中的一些算法和攻略,例如如何分辨是Model bias还是Optimization Issue,并通过一些例子来加深理解。此外,重点学习了Optimization的各种情形以及相对应的处理方法,例如遇到鞍点时应该如何处理。最后学习了自适应学习速率的各种方法。

机器学习任务攻略

在这里插入图片描述

Model bias(模型偏差)
The model is too simple.
Solution:redesign the model to make it flexible
在这里插入图片描述

Optimization Issue(最优化出现问题)
梯度下降算法并未找出最优解

如何分辨是Model bias还是Optimization Issue?
Optimization Issue:
在这里插入图片描述

Gaining the insights from comparison
start from shallower network(or other models)which one is easier to optimize.
If deeper networks do not obtain smaller loss on training data,then there is optimization issue.
对比其他更简单的模型,如果更深层的网络不能在训练数据上获得更小的loss,说明出现了
optimization issue。

Solution: More powerful optimization technology 使用更有力的最优化方法
注: overfitting 是 small loss on training data,large loss on testing data.这里不是overfitting

for example:

这个例子里训练集很准,无误差,但实际上完全没有进行任何预测,毫无作用。
在这里插入图片描述
在这里插入图片描述

model太过于flexible,导致误差较大。
Solution: more training data(更多训练数据)
data augmentation(数据增强)
例如: 图像识别中对图片进行左右翻转,部分放大截图等等,但不可上下颠倒。
constrain model(限制模型)
例如: 限制function为一元二次。

How to constrain model?
Less parameters,sharing parameters(更少参数,共享参数)
Less features,early stopping,regularization,drop out
选择适当的model,不能太简单(model bias),也不能太过于复杂(overfitting)。
在这里插入图片描述

可以使用MSE(均方差)的方法计算比较,但并非完全可靠。
在这里插入图片描述

This explains why machine usually beats human on benchmark corpora.

Cross Validation(交叉验证)
在这里插入图片描述

N-fold Cross Validation(N等分交叉验证)
在这里插入图片描述

Mismatch
In fact training and testing data have different distributions
这种情况无法通过增加训练数据来解决。
Be aware of how data is generated.

局部最小值与鞍点

Situations when optimization fails.
在这里插入图片描述

critical points(临界点): 当gradient接近于0时
a.local minima:局部最小值(无路可走)
b.saddle points:鞍点(可逃离鞍点)

Tayler Series Approximation(泰勒级数近似)
在这里插入图片描述
在这里插入图片描述

Hessian(一种矩阵)
在critical point时,在这里插入图片描述
有以下情况:
在这里插入图片描述
在这里插入图片描述

One example:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由以上可知,不必害怕saddle point。
在这里插入图片描述

遇到saddle point,H可以告诉我们更新前进的方向。
设u是H的一个特征向量,λ是u的特征值
在这里插入图片描述

回到One example:
λ=-2时,特征向量在这里插入图片描述,沿u的方向更新参数就可以找到更小的L。
此时可逃离saddle。

注:实际中,计算H的方法很少使用,因为计算较为复杂,可用其他方法代替。
eigenvalues 特征值 variance 误差,方差
eigen vector 特征向量 vanilla 一般的,普通的
error surface 误差曲面
从实验研究看,saddle point的情况要多于local minima
在这里插入图片描述
在这里插入图片描述

Batch and Momentum(批次与动量)

Batch
review:Optimization with Batch
在这里插入图片描述
在每一次epoch后,还会重新分batch。

small batch与 large batch对比:
猜想:
在这里插入图片描述

然而事实上,通过GPU的平行计算的方式,更大的batch并不需要很长时间来计算gradient。
在这里插入图片描述

较小的batch反而需要更长时间来运行完一次epoch。
在这里插入图片描述

大的batch size is powerful,小的is noisy。但powerful不意味着准确率高,如下图较大batch size反而准确率低:
在这里插入图片描述

实际上noisy更新对training和testing更好:
在这里插入图片描述

small batch size performs better on training and testing.

大小batch总结:
在这里插入图片描述

batch size也是可调节的hyperparameter

momentum
用Gradient+Momentum的方式,则movement方向改变,不再只往gradient反方向移动参数,新方向是反方向加上前一步调整的结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Concluding Remarks
在这里插入图片描述

Adaptive Learing Rate(自适应学习速率)

Training stuck≠small gradient
在这里插入图片描述

事实上,Training即使不遇到critical point也是十分困难的一件事。
在这里插入图片描述

Different parameters needs different learning rate
陡峭时需要较小的学习速率,平缓时需要较大的学习速率。
可以先考虑只有一个parameter的情形:
在这里插入图片描述

Root Mean Square(均方差)
在这里插入图片描述
在这里插入图片描述

这种方法使用于Adagrad(自适应梯度算法)。

RMSProp(解决Adagrad方法学习速度衰减的问题)
在这里插入图片描述
在这里插入图片描述

此外还有种Adam方法:RMSProp+Momentum

Adagrad缺点如下:
在这里插入图片描述

Solution:
使用Learing Rate Scheduling
在这里插入图片描述

让学习率与时间有关,如learning rate delay(随着时间增加学习率减少),warm up(随时间增加,学习率先增加后减少):
在这里插入图片描述
在这里插入图片描述
summary of optimization:
在这里插入图片描述
在这里插入图片描述
目前都是绕过崎岖的点,接下来还有些方法可以直接移平整座山。
注:magnitude 数值大小 variance 误差,方差
vanilla 一般的,普通的
注: softmax
在这里插入图片描述
在这里插入图片描述

总结

本周研究了机器学习中遇到问题应该如何解决,例如如何绕过鞍点等等。下周将继续学习新的解决方法以及CNN卷积神经网络。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值