深度強化學習課程文件
Unity ML-Agents 如何工作?
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
Unity ML-Agents 如何工作?
在訓練我們的智慧體之前,我們需要了解 ML-Agents 是什麼以及它是如何工作的。
什麼是 Unity ML-Agents?
Unity ML-Agents 是遊戲引擎 Unity 的一個工具包,它允許我們使用 Unity 建立環境或使用預設環境來訓練我們的智慧體。
它由 Unity Technologies 開發,Unity Technologies 是 Unity 的開發者,Unity 是《看火人》、《茶杯頭》和《城市:天際線》的創作者所使用的最著名的遊戲引擎之一。
六個組成部分
Unity ML-Agents 有六個基本組成部分
- 第一個是 學習環境,它包含 Unity 場景(環境)和環境元素(遊戲角色)。
- 第二個是 Python 低階 API,它包含 用於與環境互動和操縱環境的低階 Python 介面。它是我們用來啟動訓練的 API。
- 然後,我們有 外部通訊器,它 連線學習環境(用 C# 製作)和低階 Python API(Python)。
- Python 訓練器:用 PyTorch 製作的強化學習演算法(PPO、SAC 等)。
- Gym 封裝器:將 RL 環境封裝在 gym 封裝器中。
- PettingZoo 封裝器:PettingZoo 是 gym 封裝器的多智慧體版本。
學習元件內部
在學習元件內部,我們有 兩個重要元素
- 第一個是 智慧體元件,場景中的參與者。我們將 透過最佳化其策略來訓練智慧體(這將告訴我們在每個狀態下采取什麼行動)。該策略被稱為 大腦。
- 最後是 學院。該元件 協調智慧體及其決策過程。將此學院視為處理 Python API 請求的老師。
為了更好地理解其作用,讓我們回顧一下強化學習過程。這可以建模為一個迴圈,其工作方式如下
現在,讓我們想象一個智慧體學習翫平臺遊戲。強化學習過程如下所示
- 我們的智慧體從 環境 中接收 狀態 — 我們接收到遊戲的第一幀(環境)。
- 根據該 狀態 , 智慧體採取 行動 — 我們的智慧體將向右移動。
- 環境進入一個 新 狀態 — 新幀。
- 環境給智慧體一些 獎勵 — 我們沒有死 (正獎勵 +1)。
這個強化學習迴圈輸出一個 狀態、行動、獎勵和下一個狀態 的序列。智慧體的目標是 最大化預期累積獎勵。
學院將是 向我們的智慧體傳送指令並確保智慧體同步 的機構
- 收集觀察
- 使用你的策略選擇你的行動
- 採取行動
- 如果達到最大步數或完成,則重置。
現在我們瞭解了 ML-Agents 的工作原理,我們已經準備好訓練我們的智慧體了。
< > 在 GitHub 上更新