2017-01-23 125 views
2

我寫的可以玩井字遊戲的神經網絡。網絡有9個輸入神經元,它們描述板的狀態(1代表網絡移動,1.5代表對手移動,0代表空單元格)和9個輸出神經元(輸出神經元的最高值表示給定的最佳動作州)。網絡沒有隱藏層。激活函數 - sigmoid。學習方法 - Q學習+反向傳播。井字遊戲的神經網絡

網絡訓練有素,但效果很差(繼續佔用被佔用的小區)。所以我決定添加一個隱藏層。我想問:

隱藏層中要使用哪個神經元的數量以及哪些激活函數更適用於隱藏層和輸出層?

+1

我喜歡你的項目,如果你把它發佈在Github上,它會使每個人都受益。不幸的是,我們不清楚如何回答這個問題。你的問題聽起來像你對我有一個bug(佔用被佔用的單元格),而不是機器學習的問題。 – SmallChess

回答

1

一般來說,要爲隱藏層添加的神經元的數量被討論here,但作爲經驗法則,隱藏層中神經元的數量應該近似爲輸入神經元的數量。

您也可以考慮加入該討論here

乙狀結腸激活功能是好的,反正你可以檢查它,並比較其他激活功能隱藏層數。

在您的具體情況下,您還可以考慮強制代理沒有考慮(完全)通過對輸出神經元使用不同架構來選擇佔用的單元格。

+0

謝謝你的建議!我會盡量使用它們。 – John