我目前正在使用 CNN、LSTM 和 BiLSTM 作为混合算法,这些是我得到的训练集和测试集的准确率和损失曲线的结果。问题是我不知道为什么两条曲线的开头都有一个尖峰。请告诉我原因和解决方案。[在此处输入图像描述](https://i.sstatic.net/53NwZTZH.png)
我尝试通过删除和添加其他图层来更改图层,希望这会改变结果,但不幸的是,什么也没发生。
准确度和损失曲线开始时的峰值很常见,这是因为网络在早期时期显着调整其权重。当模型“快速学习”以最小化损失并找到最佳权重时,就会发生这种情况。这种行为有几个原因。高学习率会导致权重快速变化,导致初始阶段损失和准确率不稳定。随机权重初始化也对此有所贡献,因为模型从随机点开始,并学会在前几次更新期间找到一个好的起始位置。此外,使用小批量可能会因梯度变化而导致波动。
为了解决这个问题,您可以尝试一些策略。使用较小的学习率或实施学习率调度程序以在历元内逐渐降低学习率会有所帮助。应用 Xavier 或 He 初始化等高级权重初始化技术可以为训练提供更好的起点。增加批量大小还可以稳定梯度更新并减少波动。最后,热身策略(学习率开始时较小,并在前几个时期逐渐增加)可以使训练过程平滑并减少初始峰值。