1

我剛開始學習Q-learning,看看使用Q-learning解決我的問題的可能性。Q-learning(多個目標)

問題:我應該檢測數據的某個組合,我有四個矩陣作爲系統的輸入,我已經對輸入進行了分類(每個輸入可以是低(L)或高( H) )。我需要檢測某些類型的輸入,例如LLLH,LLHH,HHHH等。

注意: 1)LLLH表示L中的第一個輸入,第二個輸入爲L,第三個輸入爲L,第四個輸入爲H! 2)我已經將每種輸入類型標記爲狀態,例如LLLL是狀態1,LLLH是狀態2,依此類推。

我在Q-learning中學習到的東西是,大多數時候你有一個目標(只有一個狀態爲目標),這使得代理更容易從R矩陣學習和創建Q矩陣。現在在我的問題中,我有很多目標(許多國家充當目標,需要被檢測到)。我不知道如何設計各州,如何通過制定多項目標以及代理人如何學習來創建獎勵矩陣。你能幫我嗎?我怎麼能在這種情況下使用Q-learning。考慮到我有20個州的16個進球!

正如我上面提到的,我知道什麼是q學習,狀態和目標如何工作,Q_matrix的計算(它是如何學習的)......但問題是現在我有很多目標,我我真的不知道如何將我的問題與q-learning聯繫起來。我需要多少個州,以及如何給我的獎勵貼上標籤,因爲我有很多目標。

我需要幫助,至少我怎麼可以創建許多目標

+1

多重目標不應該是一個Q學習建立一個攔截器,只要你有正確的工具。但是,與只有一個目標相比,您可能需要更多迭代來學習最優策略。 你的陳述中不清楚的是:(1)在給定狀態下可能採取的行動是什麼? (2)什麼是狀態?如果LLLH是一個狀態,那麼最多隻有2 * 4 = 16個狀態? – greeness

+0

正確的,我有16個州,其中15個是目標,n取決於接收到的輸入將決定代理的下一步移動,例如我們目前處於LLLH狀態,接收到的下一個輸入是HLHL .. thn代理必須從狀態LLLH(目標狀態)移動到HLHL(另一個目標狀態)。 這就是爲什麼混淆,因爲我不知道哪個是在每個州的最佳舉措,因爲我有很多目標,我將作出的舉動將取決於收到的輸入! – user2994193

+0

作爲一項有效的行爲,你能否從任何狀態轉到其他狀態?或者您僅限於在LLLH中只翻轉1或2位?我這樣問,因爲如果你可以從任何狀態轉到其他任何狀態,那對我來說就沒有意義了。 Q(S,A)的最優策略將與效用(A)成正比,所以我們不需要進行任何Q學習。 – greeness

回答

0

我需要幫助,至少我怎麼可以創建許多目標

最簡單的方式是獎勵矩陣獎勵矩陣爲每個目標作出獎勵,然後從這些獎勵中作出加權總和以獲得總獎勵。

Rtot = w1 * R1 + w2 * R2 + ... + wn * Rn 

你可以決定再怎麼權衡每個獎勵,因爲每一次它試圖去學習不同的東西會影響代理的最終行爲。

有更復雜的方式稱爲「多維獎勵RL」或「多標準RL」。你可以谷歌他們並找到相關的論文。

0

正在研究多個目標,因爲它確實解決了一些關鍵的RL問題。

這是一篇很好的文章,其目標是提供包裹或爲電池充電......如果您沒有充電,交付將失敗,但如果您經常充電,則不會進行任何交付。這是這兩個重要目標之間的平衡。

筆者談談你通過TensorFlow的邏輯和方法:在給定的狀態採取特定行動時, https://www.oreilly.com/ideas/reinforcement-learning-for-complex-goals-using-tensorflow