首页IT科技loss曲线不平滑(深度学习:根据 loss曲线,对模型调参)

loss曲线不平滑(深度学习:根据 loss曲线,对模型调参)

时间2025-09-16 09:53:27分类IT科技浏览17880
导读:深度学习模型调参笔记 train loss 下降,val loss下降,说明网络仍在学习; 奈斯,继续训练...

深度学习模型调参笔记

train loss 下降                       ,val loss下降                                  ,说明网络仍在学习; 奈斯            ,继续训练

train loss 下降                       ,val loss上升                                  ,说明网络开始过拟合了;赶紧停止            ,然后数据增强                       、正则

train loss 不变           ,val loss不变                                  ,说明学习遇到瓶颈;调小学习率或批量数目

train loss 不变                       ,val loss下降           ,说明数据集100%有问题;检查数据集标注有没有问题

train loss 上升                                  ,val loss上升                       ,说明网络结构设计不当,训练超参数设置不当                                  ,数据集经过清洗等问题                       。

loss震荡?

轻微震荡一般是正常的                                  ,在一定范围内,一般来说 Batch Size 越大                       ,其确定的下降方向越准                                  ,引起训练震荡越小            ,如果震荡十分剧烈                       ,那估计是Batch Size设置的太小了吧

欠拟合

模型对训练集的学习能力不够

train loss下降的非常平缓                                  ,以至于似乎并没有下降            ,这说明模型根本没从数据中学到东西                                  。

training loss还在继续下降           ,这说明还有学习空间                                  ,模型还没来得及学就结束了            。

欠拟合原因

过拟合

模型学过头了                       ,以至于把一些噪声和随机波动也学进来了                       。

完美拟合

loss曲线可视化

plt.plot(history.history[loss]) plt.plot(history.history[val_loss]) plt.title(model loss) plt.ylabel(loss) plt.xlabel(epoch) plt.legend([train, validation], loc=upper left) plt.show()

神经网络优化算法的发展

SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> Adam -> Nadam

SGD:没有用到二阶动量           ,因此学习率是恒定的(实际使用过程中                                  ,会采用学习率衰减策略);

AdaGrad:学习率不断递减                       ,最终收敛到0,模型也得以收敛                                  。

Adam:二阶动量是固定时间窗口内的累积                                  ,随着时间窗口的变化                                  ,遇到的数据可能发生巨变,使得学习率可能时大时小                       ,不是单调变化                                  ,这就可能在训练后期引起学习率的震荡            ,导致模型无法收敛            。

Adam 和 SGD 对比 建议: 前期用Adam,享受Adam快速收敛的优势;后期用SGD                       ,慢慢寻找最优解           。

dam等自适应学习率算法:对于稀疏数据具有优势                                  ,且收敛速度很快;

SGD:虽然收敛速度不及Adam快            ,但是精调参数的SGD往往能取得更好的最终结果;

对训练数据的监控是要保证模型进行了充分的训练——下降方向正确           ,且学习率足够高;对验证数据的监控是为了避免出现过拟合                                  。

激活函数

激励函数相当于一个过滤器或激励器                                  ,它把特有的信息或特征激活                       。

常见的激活函数包括softplus                                   、sigmoid           、relu           、softmax                                   、elu                       、tanh等           。

隐藏层:

对于隐藏层                       ,使用relu           、tanh                                  、softplus等 非线性关系

分类问题:

使用sigmoid(值越小越接近于0           ,值越大越接近于1)                       、softmax函数

对每个类求概率                                  ,最后以最大的概率作为结果;

回归问题:

使用线性函数(linear function)

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
uniapp分片上传(uniapp、uview——图片上传(单图上传、多图上传、多组照片上传、图片回显)) 机器学习算法(机器学习分类算法之XGBoost(集成学习算法))