You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.9 KiB
2.9 KiB
訓練山地車
OpenAI Gym 的設計使得所有環境都提供相同的 API —— 即相同的方法 reset
、step
和 render
,以及相同的 動作空間 和 觀察空間 抽象。因此,應該可以將相同的強化學習算法適配到不同的環境,並且只需進行最少的代碼修改。
山地車環境
山地車環境 包含一輛被困在山谷中的車:
目標是通過每一步執行以下動作之一,成功駛出山谷並捕獲旗幟:
值 | 意義 |
---|---|
0 | 向左加速 |
1 | 不加速 |
2 | 向右加速 |
然而,這個問題的主要難點在於,車子的引擎不夠強大,無法一次性爬上山頂。因此,唯一的成功方法是來回駕駛以積累動能。
觀察空間僅包含兩個值:
編號 | 觀察項目 | 最小值 | 最大值 |
---|---|---|---|
0 | 車的位置 | -1.2 | 0.6 |
1 | 車的速度 | -0.07 | 0.07 |
山地車的獎勵系統相當棘手:
- 如果代理成功到達山頂的旗幟位置(位置 = 0.5),則獲得 0 的獎勵。
- 如果代理的位置小於 0.5,則獲得 -1 的獎勵。
當車的位置超過 0.5 或劇集長度超過 200 時,劇集終止。
指導說明
將我們的強化學習算法適配到山地車問題。從現有的 notebook.ipynb 代碼開始,替換新的環境,修改狀態離散化函數,並嘗試以最少的代碼修改使現有算法進行訓練。通過調整超參數來優化結果。
注意: 可能需要調整超參數以使算法收斂。
評分標準
評分標準 | 優秀表現 | 合格表現 | 需要改進 |
---|---|---|---|
成功將 Q-Learning 算法從 CartPole 示例中適配,並進行最少的代碼修改,能夠在 200 步內解決捕獲旗幟的問題。 | 從網絡上採用了新的 Q-Learning 算法,但有良好的文檔記錄;或者採用了現有算法,但未達到預期結果。 | 學生未能成功採用任何算法,但在解決方案上有實質性進展(實現了狀態離散化、Q-Table 數據結構等)。 |
免責聲明:
本文件已使用 AI 翻譯服務 Co-op Translator 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解讀概不負責。