2011-10-19 119 views
0

的急劇降低性能我有一個單層的神經網絡的一些代碼:添加隱藏層的神經網絡

class network { 

var outputs; 
var weights; 
var biases; 

feedforward(inputs) { 
} 

outputFunction(number) { 
} 

} 

輸出函數是S形(因此返回0之間的數字和1)。輸入是1和0的數組。

我通過添加outputs2,weights2,biases2,然後做增加了一個隱藏層:

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

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

我想,輸出節點的輸入現在是我的隱層的輸出,因此它應該在至少有類似的表現。然而,在再次對網絡進行培訓後,性能大幅降低。有任何想法嗎?訓練不會隱藏層的反向傳播,它只是更新輸出層的權重,而隱藏層權重始終保持不變。

回答

0

如果隱藏層的權重是隨機的並且是固定的,那麼他們所做的只是使信號失真。

培訓多層網絡很困難。絕大多數人只有一個隱藏層,除了卷積網絡和最近關於深層信仰網絡的一些工作。