簡體   English   中英

一個簡單游戲的深度強化學習參數和訓練時間

[英]deep reinforcement learning parameters and training time for a simple game

我想了解深度強化算法的工作原理以及在任何給定環境下訓練自己需要多長時間。 我想出了一個非常簡單的環境示例:

有一個計數器保存 0 到 100 之間的整數。計數到 100 是它的目標。

有一個參數direction其值可以是 +1 或 -1。 它只是顯示移動的方向。

out 神經網絡將此方向作為輸入,將 2 個可能的動作作為輸出。

  1. 改變方向
  2. 不要改變方向

第一個動作將簡單地翻轉方向(+1 => -1 或 -1 =>+1)。 第二個動作將保持方向不變。

我在后端使用 python,前端使用 javascript。 這似乎花費了太多時間,但它仍然是非常隨機的。 我使用了 4 層感知器。 0.001 的訓練率。 批量 100 的記憶學習。代碼是 Udemy 人工智能教程,工作正常。

我的問題是,完成和每個狀態的獎勵應該是什么? 像那樣訓練簡單的例子需要多少時間?

在強化學習中,下划線的獎勵函數定義了游戲。 不同的獎勵函數導致不同的游戲具有不同的最優策略。

在您的情況下,有幾種不同的可能性:

  1. 達到 100 時給予 +1,然后才給予。
  2. 為達到 100 給 +1,對於不是 100 的每個時間步長給 -0.001。
  3. 上升 +1 表示下降 -1 表示下降。

第三種情況太容易了,沒有涉及長期規划。 在第一種情況下,智能體只有在意外達到 100 並發現它很好時才會開始學習。 但是在第一種情況下,一旦它學會了上升,到達那里需要多長時間都無關緊要。 第二個是最有趣的地方,它需要盡快到達那里。

對於使用什么獎勵沒有正確的答案,但最終你選擇的獎勵決定了你正在玩的游戲。

注意:這個問題的 4 層感知器是Big Time Overkill 一層應該就夠了(這個問題很簡單)。 您是否嘗試過OpenAI 健身房的強化學習環境? 強烈推薦它,它們有所有“經典”強化學習問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM