2010-08-15 56 views
3

我感興趣的編寫使用機器學習,並根據外部數據的某些動作某些軟件。訂單發行神經網絡?

但是我碰到的問題(這是一直對我有意思) - 怎麼可能寫出機器學習軟件,問題訂單或訂單的序列?

的問題是,我的理解是,神經網絡得到的輸入一羣人,「回憶」根據以前的培訓的結果輸出。即時(或多或少)。所以我不確定「發佈訂單」如何適合該系統,尤其是當系統執行的操作對系統有一定的延遲時。我還有點不確定如何訓練這件事。

此類系統的示例:
1.第一人稱射擊者敵方控制器。據我瞭解,有可能實現機器人的神經網絡控制器,根據某些輸入(可能是健康,彈藥等)切換機器人行爲策略(以及爲它們分配優先級)。但我沒有辦法做出更高級別的控制器,可以發出一系列命令,比如「去那裏,然後左轉」。此外,機器人的行爲將影響控制機器人行爲的變量。即射擊減少彈藥,從高處墜落降低健康等
2.自動化市場的交易者。制定一個能夠預測下一個市場價格的系統當然是可能的。但是,我不知道如何讓系統發出訂單來購買東西,觀察趨勢,然後賣回來獲取利潤/掩蓋損失。
3.汽車司機。同樣,(據我瞭解),可以使系統根據位置/速度/轉矩數據和以前的訓練結果保持所需的運動矢量。但是我沒有看到製作這種系統(學會)執行一系列操作的方法。

即據我所知,神經網絡在技術上是一個矩陣 - 你給它輸入,它產生輸出。但是,如何產生可能改變環境計劃的行動序列呢?

如果這樣的任務並不完全適合神經網絡,可以使用什麼呢?

P.S.我明白這個問題並不完全清楚,我懷疑我錯過了一些知識。所以我會欣賞一些指針(即書籍/資源閱讀等)。

+0

您不確定「發佈訂單」與系統輸出的關係如何? – 2010-08-15 22:55:32

+0

@Anon .:我不知道如何建立一個系統,學習如何發出命令序列,學會在某些情況下發出命令/延遲命令,命令可能會徹底改變系統監視器的變量。 「訂單」也是即時和離散的。即在AI射手機器人的情況下,「投擲手榴彈」是「離散」順序,一旦手榴彈投擲,它就消失了。即我不知道如何讓系統能夠學習何時在試圖達成某個目標時扔出手榴彈。 – SigTerm 2010-08-15 23:04:20

+0

你似乎已經將注意力集中在神經網絡上,作爲解決你的「問題」(其中,順便說一句,你還沒有真正闡述過)。如果你只是爲了好奇而努力學習更多關於神經網絡的知識,那麼你可能會更好地處理簡單的任務和構建,而不是直接跳到「如何使用神經網絡構建反擊機器人?」。 。一些維基百科瀏覽器出現了本教程:(http://www.ai-junkie.com/ann/evolved/nnt1.html),這可能會讓你感興趣。 – 2010-08-15 23:24:58

回答

2

可以嘗試將輸出神經元直接連接到控制器,例如向自我射擊者前進,轉身或射擊,或者爲交易者購買訂單。不過,我認爲,如果讓神經網絡解決一個相當具體的子問題,然後讓一個「正常」程序解釋它的答案,那麼現在就可以獲得最好的結果。例如,你可以讓神經網絡構建一個「我想要成爲什麼」的地圖疊加層,然後將這個機器人轉換成運動。交易者的神經網絡可以產生「我需要多少紙張」,然後機器人將其轉化爲買賣訂單。

其子問題應該通過神經網絡來解決這一決定是一個非常核心的一個爲其設計。重要的是可以向神經網絡傳授好的解決方案。

編輯:在例子中進一步說明:當自我射手bot被槍殺時,它本不應該在那裏;當它開始拍攝其他人的時候,它本該想要更多地在那裏拍攝。當交易者從紙上失去錢時,應該早一點減少它;如果它獲得了,它應該更想要它。這些東西可以教。

+0

*「我想成爲什麼樣的人」*,*「我要多少紙張」*:謝謝,這個想法肯定會導致我在有用的方向。 – SigTerm 2010-08-15 23:27:28

1

您所描述的問題被稱爲Reinforcement Learning。增強學習本質上是一種機器學習算法(如神經網絡)和一個控制器。它已用於您提到的所有應用程序,甚至可用於drive real cars