Artificial intelligence 增加隐层会大大降低神经网络的性能

Artificial intelligence 增加隐层会大大降低神经网络的性能,artificial-intelligence,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 w

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

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)
   ....
}

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

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

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