李宏毅机器学习笔记:第二章Deep learning

本文探讨了深度学习中模型训练的挑战,包括模型偏差和优化问题。当训练损失高时,可能是模型过于简单或优化不足。解决方法包括增加模型复杂度和调整优化算法。过拟合时,训练损失低但测试损失高,可通过增加数据量、数据增强或正则化来缓解。优化问题可能涉及局部最小值和鞍点,可以通过小批量梯度下降和动量优化策略来规避。此外,自适应学习率方法如RMSProp也被提及来应对训练过程中的学习率调整问题。
摘要由CSDN通过智能技术生成

课程链接

2021年春季ML课程

第二章 Deep Learning

模型训练general guidence

ML framework
ML framework
General guide
在这里插入图片描述
具体来说,当在训练集上的loss 大的时候,有两种可能,一种是model bias, 一种是optimization的问题。
针对model bias, 一般是模型比较简单,想要找的function不咋模型包含的范围内。解决方法就是让模型变的更加复杂,例如增加feature 数量,或者使用更加复杂的网络。
在这里插入图片描述
优化问题一般是优化方法没法找到或接近最优解。
在这里插入图片描述
判断是优化问题还是model bias可以通过对比的方法,首先利用简单容易优化的模型训练,如果更加复杂的模型没有得到更小的training loss,那么就为optimization 问题。
在这里插入图片描述
当训练数据loss 小,而testing data loss 大,有两种可能,一种是overfitting,一种是mismatch
overfit 就是模型过度拟合训练集上的数据,因此和真实的数据分布有比较大的差距,导致train loss 很小或接近于0,test loss很大。
在这里插入图片描述
解决overfitting最好的方法就是增加数据量,但是实际中不太现实,可以通过data augmentation的方式增加数据量。当然也可以通过对模型增加约束实现。
在这里插入图片描述
在这里插入图片描述
training loss 小,testing loss 大还有一种可能,就是test data和training data 分布不一致。
在这里插入图片描述
optimization 问题,模型的优化没有到loss最小的点就停止了,这样的点包括local minima(局部最小点)及saddle point(鞍点)。局部最小点相比较于鞍点更难跳出。在实际的训练中,由于参数很多,在高维空间中更多可能遇到saddle point。判断是saddle point还是local minima,可以使用二阶Hassian矩阵判定,当Hassian矩阵的特征值都为正的时候为local minima, 都为负的时候为local max, 有正有负为saddle point.
在这里插入图片描述
实验中batchsize是一个需要选择的参数,large batch可以更快的完成一个epoch的训练,但是small batch在optimization和genralization上会更好。使用small batch可能避免梯度为0的点。
在这里插入图片描述
当然也可以利用动量的方式避开梯度为0的点。原始的梯度下降法利用梯度的方向作为优化的方向,梯度加上动量的方法不仅考虑了当前位置的梯度,也考虑了之前一步的movement。
在这里插入图片描述
在这里插入图片描述
adaptive learning rate
有时候训练停止,但是梯度并不为0,因此需要自适应的学习率。
在这里插入图片描述
RMSProP, 考虑之前的梯度累积的加权平方根。AdaGrad中分母为之前所有梯度的平方根。
在这里插入图片描述
当然也可以动态调整学习率
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值