【问题标题】:Convolution neural network prediction results are same卷积神经网络预测结果相同
【发布时间】:2015-04-15 00:29:23
【问题描述】:

我正在运行一个简单的卷积神经网络,进行回归并预测结果。它预测 30 个输出(浮点数)

无论任何输入,预测结果几乎相同。 (收敛于训练输出的意思)

基于此数据集,1000 次迭代后的训练收敛到 0.0107 的最大损失(这是一个不错的结果)。

What is causing this? 

我尝试将偏差设置为 1.0,它带来的变量很少,但在下面仍然相同。当我将偏差设置为 0 时,结果要差得多,所有输出都是 100% 相同的。我已经在使用正则化 max(0,x),结果没有改善。

输出如下。可以看到,第一个、第二个、第三个数组几乎是一样的..

 [[ 66.60850525  37.19641876  29.36295891 ...,  71.91300964  47.92261505
   85.02180481]
 [ 66.4874115   37.09647369  29.23101997 ...,  71.90777588  47.74259186
   85.10979462]
 [ 66.54870605  37.19485474  29.36085892 ...,  71.84892273  47.8970108
   85.05699921]
 ..., 
 [ 65.7435379   36.78604889  28.57537079 ...,  71.98916626  47.03699493
   85.88017273]
 [ 65.7435379   36.78604889  28.57537079 ...,  71.98916626  47.03699493
   85.88017273]
 [ 65.7435379   36.78604889  28.57537079 ...,  71.98916626  47.03699493
   85.88017273]]

网络模型使用此参数运行

base_lr: 0.001
lr_policy: "fixed"
display: 100
max_iter: 1000
momentum: 0.9

【问题讨论】:

  • 您打印的这些数字是什么?这些是神经网络的输出吗?如果是,它们的范围可能是问题所在。尝试在 (0,1) 范围内为训练集和测试集缩放输入和输出。
  • @AminSuzani 上面显示的输出已经被缩放和相乘。
  • 你认为网络权重过大过拟合吗?

标签: machine-learning neural-network conv-neural-network


【解决方案1】:

从输出和偏差对结果的影响很大的事实来看,我有一种感觉,也许你没有标准化你的输入和输出。

尝试将它们标准化在 -1 和 +1 之间。

【讨论】:

  • 我在 0 和 1 之间标准化了输入和输出。在 -1 和 1 之间进行标准化有什么区别吗?我正在研究结果为+ve的回归。我通过添加 2 个全连接层解决了这个问题。它有点工作,但我仍然对究竟是什么导致这个问题感到困惑。
  • sigmoid 函数的输出范围(如果那是你的 NN 的激活)是 (-1, 1) 所以我会在 -1 和 1 之间进行归一化。
猜你喜欢
  • 2020-10-19
  • 2016-09-03
  • 2021-03-04
  • 2017-01-01
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多