添加隐藏层会大大降低神经网络的性能

时间:2011-10-19 13:52:33

标签: artificial-intelligence

我有一些单层神经网络的代码:

class network {

var outputs;
var weights;
var biases;

feedforward(inputs) {
}

outputFunction(number) {
}

}

输出函数是一个sigmoid(因此返回0到1之间的数字)。输入是1和0的数组。

我通过添加outputs2,weights2,biases2添加了一个隐藏层,然后执行:

feedforward2(inputs) {
    use weights2, biases2, etc.
}

feedforwad(inputs) {
   inputs = feedforward2(inputs)
   ....
}

我认为输出节点的输入现在是我的隐藏层的输出,所以它应该至少具有相似的性能。然而,在再次培训网络后,性能大幅下降。有任何想法吗?训练没有向隐藏层反向传播,它只是更新输出图层的权重,隐藏图层权重始终保持不变。

1 个答案:

答案 0 :(得分:0)

如果隐藏的图层权重是随机的并且是固定的,那么他们所做的只是扭曲信号。

培训多层网络很困难。其中绝大多数只有一个隐藏层,除了卷积网络和最近一些关于深度信念网络的工作。