目录
1.1 怎样判断taining loss不够小是因为model弹性(flexible)不够大还是optimization不给力?
2.1 Optimization fails because ...
local minima & saddle point -> 怎样escape critical point?
1.1 one update 的时间差不多 (GPU 平行计算)
1.2. noisy (small batch) update 效果更好
3.1. 首先Training stuck ≠ Small Gradient
5.3. 为什么Batch Normalization会比较好?
1. 机器学习任务攻略
1. General Guide

1.1 怎样判断taining loss不够小是因为model弹性(flexible)不够大还是optimization不给力?
A. 弹性大的model在training data上表现比较差 -> optimization issue

B. 用浅层网络(或者更简单的模型)估计training loss,如果deeper network没有取得更小的traning loss ,那么就有optimization issue。
1.2 怎样解决overfitting?
A. more training data → data augmentation
B. constrained model
- 更少的参数、公用参数
- less features
- early stopping
- Regularizaiton
- Dropout
e.g. FCN是一个比较有弹性比较大的model,而CNN是一个弹性比较差的model
1.3 怎样分割训练集和验证集
N-fold Cross Validation

1.4 Mismatch
training data and testing data have different distributions
2. Optimization 失败的时候怎么办
2.1 Optimization fails because ...
critical point = local minima / saddle point


2. 类神经网络训练不起来怎么办
local minima & saddle point -> 怎样escape critical point?
1. small batch
1.1 one update 的时间差不多 (GPU 平行计算)

1.2. noisy (small batch) update 效果更好

不同的batch,loss function不同,在L1卡住在L2不一定卡住
1.3. small batch在测试集上表现效果更好

large batch会更倾向于得到sharp minima,当loss function改变时效果会变差(尚待研究)
1.4. 总结

2. Momentum

3. Adaptive Learning Rate
3.1. 首先Training stuck ≠ Small Gradient

在梯度大的时候,我们需要更小的Learning rate;在梯度小的时候,更大的Learning rate
3.2. Root Mean Square

(used in Adagrad)
3.3 RMSProp
决定gradient的权重
Adam:RMSProp + Momentum
3.4. Learning Rate Scheduling

warm up:
3.5. 小结

4. Classification
4.1. Class as one-hot vector
→ class之间两两的距离是一样的
2.2. Loss of Classification

在pytorch里,softmax包含在cross-entropy里。

5. Batch Normalization

坡度不同的error surface(不同参数对loss的影响不同)对于固定的learning rate来说是比较难train的,可以用Adam来解决这一问题。
另一种解决方法是,可以使error surface更平滑。当input不同dimension上的值差距很大的时候,weight的变化时Loss的改变量是不同的 → normalization。
5.1. Training

batch normalization 在实作中放在activation function 前后都可以。

5.2. Testing

pytorch 初始 p=0.1
5.3. 为什么Batch Normalization会比较好?

5.4. 其他的Normalization方法

本文探讨了在机器学习任务中如何判断模型优化问题,解决过拟合的方法,训练集与验证集的划分,以及优化算法的选择。针对优化失败,提出使用小批量更新、动量优化和自适应学习率策略。同时,介绍了批量归一化在提高模型训练稳定性和性能上的作用,并对比了不同正则化技术。

5305

被折叠的 条评论
为什么被折叠?



