【问题标题】:deep learning: How do I know my net is not memorizing深度学习:我怎么知道我的网络没有记忆
【发布时间】:2017-03-20 20:31:17
【问题描述】:

我有一个卷积神经网络,我的输入数据是来自不同视图的同一对象的 10.000 张图像(图像周围的 3D 角度)。我的网络收敛了,但我不确定网络是否记住了所有不同的角度/视图。由于我只有一个对象,我无法用不同的数据真正检查测试它。 我的训练/测试图如下所示(红色训练,绿色测试):

由于测试低于训练,我希望网络能够记住所有图像?即使我有 10.000 种不同的图像。

【问题讨论】:

  • 测试的纵轴是什么——失败率百分比?
  • 您的评分或分类功能是什么,即提供反馈的“基本事实”?这个模型的目的是什么?它是否应该识别这个对象而不是所有其他对象?如果是这样,那么你也需要给它反例。
  • 嗯,这是一个回归任务,所以没有“准确性”。目的当然也是识别其他对象,但我没有比这个模型更多的数据,这是我的问题。我的 ground_truth 是一张深度图。
  • 测试的纵轴是看ground_truth深度图和估计的深度图并进行比较。

标签: deep-learning caffe conv-neural-network


【解决方案1】:

首先,“记忆”不是我们用于学习过程的术语,因为它不是对先前示例的精确反刍。

这是您的实验过程的问题。您可以定义成功标准。 95% 的准确度是否足以满足您的预期应用?对您而言,什么是足以宣布成功的表现?

构建更令人信服的论点的一种方法是制作典型的第三分区:除了训练集和测试集之外,保存部分数据以进行验证。您按照已经完成的方式进行培训和测试。模型收敛后,将其应用于验证集以预测结果。如果那个测试通过了你的成功标准,那么你就有了一个完成的模型。

【讨论】:

  • 问题出在。我将拥有什么样的验证数据集,因为我只有一个“对象”。如果我从各个角度训练这个对象,我不能在验证数据集中放置任何与测试或训练数据集不同的东西。好吧,我可以在训练数据集中放置水平 5° 和垂直 7° 的图像,在测试数据集中放置 6° 7°,在验证数据集中放置 7° 7°,但显然它们看起来都非常相似,所以我认为这不会有很大的不同。
  • 您的推理方向错误。您的数据集需要保护模型的用途。在您回答该问题之前,我无法就测试模型是否适合该目的所需的数据提供任何指导。
猜你喜欢
  • 2018-09-25
  • 1970-01-01
  • 1970-01-01
  • 2019-01-19
  • 2020-05-15
  • 2018-10-05
  • 1970-01-01
  • 1970-01-01
  • 2015-03-30
相关资源
最近更新 更多