深度強化學習課程文件

雪球目標環境

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

雪球目標環境

SnowballTarget

SnowballTarget 是我們使用 Kay Lousberg 的資產在 Hugging Face 建立的一個環境。本單元末尾有一個可選章節,如果您想學習使用 Unity 並建立自己的環境

智慧體的目標

您將要訓練的第一個智慧體叫做 Julien 這隻熊 🐻。Julien 被訓練來用雪球擊中目標

在這個環境中,Julien 的目標是在有限的時間內(1000 步)擊中儘可能多的目標。它需要正確地調整自己與目標的關係並射擊來實現這一點。

此外,為了避免“雪球亂扔”(即每一步都射擊雪球),Julien 有一個“冷卻”系統(它在射擊後需要等待 0.5 秒才能再次射擊)。

Cool Off System
智慧體需要等待 0.5 秒才能再次射擊雪球

獎勵函式與獎勵工程問題

獎勵函式很簡單。每當智慧體的雪球擊中目標時,環境會給予 +1 的獎勵。因為智慧體的目標是最大化預期的累積獎勵,所以它會嘗試擊中儘可能多的目標

Reward system

我們可能有一個更復雜的獎勵函式(例如,為了促使智慧體更快地移動而施加懲罰)。但是,在設計環境時,您需要避免獎勵工程問題,即為了強制智慧體按照您希望的方式行動而設計過於複雜的獎勵函式。為什麼?因為這樣做,您可能會錯過智慧體透過更簡單的獎勵函式發現的有趣策略

用程式碼來說,它看起來是這樣的

Reward

觀察空間

關於觀察,我們不使用正常的視覺(幀),而是使用射線投射

可以將射線投射視為雷射,它們會檢測是否穿過物體。

Raycasts
來源:ML-Agents 文件

在此環境中,我們的智慧體有多組射線投射

Raycasts

除了射線投射,智慧體還會獲得一個“我能射擊嗎”的布林值作為觀察。

Obs

動作空間

動作空間是離散的

Action Space < > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.