过拟合

由于函数模型的表现能力太强,如果数据量少的话,就会出现过拟合,与之对应的是欠拟合


减少过拟合的方法


regularization 又叫做 weight-decay

实现方法

 对于L1

 对于L2

weight_decay相当于λ ,会使二范数越来越接近0


Dropout 

减少层与层间的连接,来降低复杂度

 

 pytorch与TensorFlow使用区别


动量

 多减去一项,梯度就会向减去的梯度方向,这样就有偏向,zk是指向上一次的梯度方向,

那么利用平行四边形法则,新梯度方向就是两个梯度的加权和方向

在优化器SGD中没有内置要手动添加


learning rate decay

当学习率过低时,完成需要时间会很久,过大时,会达不到预期结果


怎样设置呢,可以设置一个相对大一点的,然后慢慢减小直到找到一个较好的结果

使用ReduceLROnPlateau来更新学习率

 torch.optim.lr_scheduler.ReduceLROnPlateau ( optimizer, mode='min', factor=0.1, patience=10, verbose=False, threshold=0.0001, threshold_mode='rel', cooldown=0, min_lr=0, eps=1e-08 )

 


  方案一

 scheduler.step(loss_val)表示连续调用patience次后loss没有改变,就把lr乘以相应减少因子


 方案二

 scheduler的step_size表示scheduler.step()每调用step_size次,对应的学习率就会按照策略调整一次。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐