我對神經網絡很陌生,試圖用pybrain來構建和訓練一個網絡。Python/Pybrain:如何在訓練期間修正神經網絡的權重?
我建立我的網絡與所有圖層(輸入,兩個隱藏層,輸出)之間的完全連接,然後設置一些權重爲零使用_SetParameters,因爲我不希望某些特定節點之間的連接。
我的問題是,開始時零的權重與所有其他權重的調整方式相同,因此在通過反向傳播訓練網絡後不再更改爲零。我怎樣才能迫使「零權重」在整個過程中保持零?
非常感謝您的回答。 菲奧娜
我對神經網絡很陌生,試圖用pybrain來構建和訓練一個網絡。Python/Pybrain:如何在訓練期間修正神經網絡的權重?
我建立我的網絡與所有圖層(輸入,兩個隱藏層,輸出)之間的完全連接,然後設置一些權重爲零使用_SetParameters,因爲我不希望某些特定節點之間的連接。
我的問題是,開始時零的權重與所有其他權重的調整方式相同,因此在通過反向傳播訓練網絡後不再更改爲零。我怎樣才能迫使「零權重」在整個過程中保持零?
非常感謝您的回答。 菲奧娜
看起來您必須使用Connections模塊來創建具有節點間特定連接的網絡。使用inSliceFrom
和outSliceFrom
參數。有關更多詳細信息,請參見this StackOverflow answer。
我正在努力解決類似的問題。
到目前爲止,我使用net._setParameters
命令來修復每個訓練步驟之後的權重,但應該有一個更好的答案..
這可能幫助此期間,我在等待更好的回答還有: - )