通过分析损失曲线改进神经网络
Posted
技术标签:
【中文标题】通过分析损失曲线改进神经网络【英文标题】:Improve the neural network by analyzing the loss curve 【发布时间】:2022-01-14 23:25:06 【问题描述】:我建立了一些基于 LSTM 的网络。我调整了参数。结果如图所示,并不令人印象深刻。
如何理解什么是坏的?是数据集不好还是网络不好?
【问题讨论】:
【参考方案1】:由于验证损失最初减少,后来增加,您遇到的是模型过度拟合。
由于训练损失不断减少,您的模型已经过度学习训练集,现在模型泛化效果不佳。由于这种验证损失增加。
为避免过度拟合,您需要正则化您的模型。您可以使用L1
或L2
正则化技术。此外,您还可以在模型中尝试dropout
。
现在来回答您的问题: 如果数据集质量很好,即注释很好,并且肯定具有可以给出结果的特征,那么数据集和模型将共同决定预测的质量。
由于您使用包含大量参数的 RNN,因此请确保数据集也很大,以避免 RNN 在小数据集上过度拟合。如果可用数据集很小,则从参数较少的小型深度学习开始(您可以构建一个小型神经网络),然后逐步扩大模型,直到您对预测分数感到满意。
你也可以参考这个:https://towardsdatascience.com/rnn-training-tips-and-tricks-2bf687e67527
【讨论】:
是否存在自动检查数据集质量的方法? 使用 LSTM 时,缩放输入特征的最佳方法是什么? -1 .. 1 还是 0 ..1?以上是关于通过分析损失曲线改进神经网络的主要内容,如果未能解决你的问题,请参考以下文章
slowfast 损失函数改进深度学习网络通用改进方案:slowfast的损失函数(使用focal loss解决不平衡数据)改进
slowfast 损失函数改进深度学习网络通用改进方案:slowfast的损失函数(使用focal loss解决不平衡数据)改进
如何在 Keras 中绘制 MLP 模型的训练损失和准确度曲线?
YOLOv7改进之损失函数EfficiCIoU-Loss:独家首发最新|结合EfficiCIoULoss损失函数(适用于YOLOv5),新的增强预测帧调整并加快帧回归率,加快网络模型收敛