2013-06-12 116 views
19

我正在學習神經網絡和反向傳播。我想我理解網絡在輸入,輸出,隱藏層,權重,偏差等方面的工作原理。然而,我仍然不完全瞭解如何設計一個網絡來解決問題。即:假設我想要一個神經網絡來學習如何玩草稿,我將如何將問題轉化爲神經網絡設計?歡呼:)設計神經網絡

回答

13

設計一個神經網絡肯定有很多決定,而且沒有一個正確的答案。然而,有一些是想經常有幫助的一些常規問題:

  1. 什麼是你想生成作爲輸出?草稿似乎是一個具有挑戰性的遊戲,因爲有很多潛在的動作,並且可用的動作會隨着轉向而變化,但大概您會希望輸出成爲下一個動作。

  2. 您的輸入是什麼?這應該包括你認爲在做出你想要神經網絡做出的決定時有用的任何東西。在草案的例子中,你可能需要給神經網絡板上所有棋子的位置。

  3. 經常性或前饋性?一般來說,除非提供有關過去所做的工作的信息的真正原因,否則最好使用前饋,因爲它使您能夠通過反向傳播來訓練網絡。例如,對於草稿,您可能需要使用前饋網絡。

  4. 你需要隱藏層嗎?這是一個很難回答的問題,並且可能需要一些實驗,除非您對輸入佔用的高維空間有很多瞭解。草稿足夠複雜,似乎需要隱藏圖層,但很難確定。

顯然,有很多關於神經網絡設置的決定可以/必須做出,但希望這些決定能夠讓你繼續。

2

使用神經網絡(或任何其他類型的模型)對問題進行建模是一個具有挑戰性的問題;對此沒有靈丹妙藥。我會推薦閱讀其他人開發的技術,看看你是否可以將這些技術應用於你的問題。你可以與參考像開始,

https://en.wikipedia.org/wiki/Types_of_artificial_neural_networks

並通過谷歌的學者更多的例子搜索。

2

嗯,我認爲你的問題是任何其他NN設計者的問題......你需要記住的一件事是NN是啓發式模型。因此,他們通過經驗學習,與我們類似。您不能將純知識「插入」NN(在其他SC算法中可能) 我對待您的問題或我面對的任何常見問題的方法是從問題: 「我會如何教給某人?」

你必須知道遊戲的規則,以及你可以玩什麼和你想要的東西。相比之下,你必須訓練網絡(獲取數據)以贏得比賽的目標,就好像它是一個孩子。在足夠的數據和體重變化之後,神經網絡應該能夠回答合理的遊戲來贏得遊戲...隨着更多的數據獲得,更準確的答案,你可能擁有更好的球員!

這不是什麼定論也不是線性的,但是我的觀點;) 祝你好運!

+1

什麼是「SC」算法? – HelloGoodbye

+1

對不起,軟計算算法。軟計算包括神經計算,演化計算和模糊邏輯算法 – diogoncalves