【问题标题】:How can I get rid of stuck accuracy and loss values in deep learning?如何摆脱深度学习中卡住的准确率和损失值?
【发布时间】:2019-07-12 15:31:48
【问题描述】:
我正在用它处理深度学习和医学图像分类。我使用大脑 MRI 数据并将它们转换为 jpg。然后使用 VGG16 进行训练。当我检查损失、准确性、验证损失和验证准确性时,我看到了下面的图表。
accuracy 和 val_accuracy 停留在某个迭代中。当我通过不同角度的旋转来增加数据时,结果是相似的。我怎样才能摆脱它?是因为 VGG16 模型还是我的数据集?我还从张量板上添加了我的模型图,你可以检查一下。
这是关于我的论文的,经过几天的研究,我找不到有用的信息。这个网站是我最后的希望。提前致谢。
【问题讨论】:
标签:
deep-learning
tensorboard
vgg-net
【解决方案1】:
训练数据和验证数据的准确率和损失图几乎相同,这表明您没有过度拟合数据,这是可取的。通过旋转图像提供更多数据将有助于减少过度拟合,但不会提高您的训练准确性。如果您过度拟合而不是在训练数据的准确性较低时,您应该尝试使用数据增强技术进行训练。
由于您的训练精度相对较低,可能网络没有足够的层来捕获图像和输出之间的复杂关系。因此,您应该尝试通过尝试具有更多层的新架构来增加模型的复杂性。也许 VGG 19 会有所帮助。
在训练您的机器学习模型时,您遵循这种方法。
检查您的训练错误。如果它高于增加模型复杂度。通过传统机器学习模型的模型复杂度,您可以增加训练中的特征数量。对于基于图像的 CNN,您可以通过增加 CNN 层的数量和/或增加每个 CNN 中的过滤器数量来实现。
检查您的验证错误。如果它更多但您的训练错误更少,则模型过度拟合数据。您使用诸如 dropout、batch normalization 和更多训练数据之类的技术来使验证错误尽可能接近训练错误。
您不断重复这两个步骤,直到获得所需的验证错误。