【问题标题】:Why deeplearning4j regression example doesn't apply normalization for summing?为什么 deeplearning4j 回归示例不对求和应用归一化?
【发布时间】:2016-11-24 14:43:46
【问题描述】:

在调试 deeplearning4j 的回归 sample 时,我注意到它没有数据输入和输出的标准化。所以首先的问题是,为什么它没有标准化?第二个问题,网络架构规范化机制是否存在?

作为非规范化输入的教授是以下屏幕截图,它是在执行行之前拍摄的

return new ListDataSetIterator(listDs,batchSize);

【问题讨论】:

  • (1) 由于您的图像仅显示部分数据,因此不能证明数据未归一化(尽管从统计学上讲它可能会给出一些提示)(2)不分析代码,最重要的部分是这条评论:// The range of the sample data, data in range (0-1 is sensitive for NN, you can try other ranges and see how it effects the results.
  • 我刚刚为此示例创建了一个带有数据规范化的拉取请求:github.com/deeplearning4j/dl4j-examples/pull/699

标签: java neural-network deeplearning4j


【解决方案1】:

我们实际上进行了标准化。我们只是不会自动为您做。在我们的示例中是正确的:

https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/convolution/AnimalsClassification.java#L115

我们所有的图像分类示例都是这样做的。它也记录在我们的网站上:https://deeplearning4j.org/image-data-pipeline.html我们甚至有这方面的视频。

编辑:如果您想在将数据放入神经网络之前使用调用 fitLabels(true) 的相同 DataNormalization api,也可以对标签进行规范化。

如果您不介意,能否给我反馈一下您是如何找不到此内容的,以便我们改进网站?我不确定这里缺少什么。

【讨论】:

  • 看来我们之间有误会。我问过文件 RegressionSum.java 中缺乏规范化,但在你的回答中提到了 AnimalClassification.java。 AnimalClassification.java 使用 DataNormalization 类,但我在 RegressionSum.java 中没有找到任何规范化器类。 RegressionSum.java 没有 DataNormalization,也没有 ImagePreProcessingScaler,也没有其他任何东西。我的问题是为什么它没有?
  • 啊,你的意思是在这个例子中——我很抱歉。我以为你在问 dl4j 是否有规范化。调优时并不总是需要标准化。大量的规范化可能对小问题不利——问题本身的差异很大。您看到我们所做的任何事情都是对结果进行大量实证测试,以了解什么是有效的。如果您发现可以改善结果的内容,请随时向我们发送拉取请求。
猜你喜欢
  • 2020-03-22
  • 2020-10-23
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
  • 2015-08-10
  • 1970-01-01
  • 1970-01-01
  • 2019-12-21
相关资源
最近更新 更多