訓練您的第一個 AWS DeepRacer 模型 - AWS DeepRacer

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

訓練您的第一個 AWS DeepRacer 模型

本演練示範如何使用 AWS DeepRacer 主控台訓練您的第一個模型。

使用 AWS DeepRacer 主控台訓練強化學習模型

了解如何在 AWS DeepRacer 主控台中尋找建立模型按鈕,以開始您的模型訓練旅程。

訓練強化學習模型
  1. 如果這是您第一次使用 AWS DeepRacer,請從服務登陸頁面選擇建立模型,或在主要導覽窗格的強化學習標題下選擇開始使用

  2. 開始使用強化學習頁面的步驟 2:建立模型下,選擇建立模型

    或者,從主導覽窗格的強化學習標題下選擇您的模型。在 Your Models (您的模型) 頁面中,選擇 Create model (建立模型)

指定模型名稱和環境

為您的模型命名,並了解如何挑選適合您的模擬軌跡。

指定模型名稱和環境
  1. 建立模型頁面的訓練詳細資訊下,輸入模型的名稱。

  2. 或者,新增訓練任務描述。

  3. 若要進一步了解新增選用標籤,請參閱 標記

  4. 環境模擬下,選擇要做為 AWS DeepRacer 代理程式訓練環境的軌跡。在賽道方向下,選擇順時針逆時針。然後選擇下一步

    初次執行時,請選擇形狀簡單且轉彎順暢的軌道。在稍後的反覆執行中,您可以選擇更複雜的軌道,漸進式地改善您的模型。若要針對特定競賽事件訓練模型,請選擇與事件軌道最相近的軌道。

  5. 選擇頁面底部的下一步

選擇競賽類型和訓練演算法

AWS DeepRacer 主控台有三種競賽類型和兩種訓練演算法可供選擇。了解哪些適合您的技能水準和訓練目標。

選擇競賽類型和訓練演算法
  1. 建立模型頁面的競賽類型下,選取時間試驗物件迴避Head-to-bot

    針對您的第一次執行,我們建議您選擇時間試驗。如需針對此競賽類型最佳化代理程式感應器組態的指引,請參閱 時間試驗的 Tailor AWS DeepRacer 訓練

  2. 或者,在稍後執行時,選擇物件迴避,沿著所選賽道繞過放置在固定或隨機位置的固定障礙物。如需詳細資訊,請參閱為物件迴避競賽量身打造 AWS DeepRacer 訓練

    1. 選擇固定位置以跨賽道的兩個車道,在固定、使用者指定的位置中產生方塊,或選取隨機位置以產生物件,這些物件會在您訓練模擬的每個單元開始時隨機分佈到兩個車道。

    2. 接著,為軌道上的物件數量選擇一個值。

    3. 如果您選擇固定位置,您可以調整每個物件在軌道上的置放。針對車道放置,選擇車道內和車道外。根據預設,物件會平均分散到整個軌道。若要變更物件的開始和終點線之間的距離,請在開始和終點欄位之間的位置 (%) 中輸入該距離的百分比。

  3. 或者,對於更具野心的執行,選擇Head-to-bot競賽,以固定速度與最多四個機器人車輛競爭。如需詳細資訊,請參閱 為head-to-bot競賽量身打造 AWS DeepRacer 訓練

    1. 選擇機器人車輛數量下,選取您希望代理程式訓練的機器人車輛數量。

    2. 接著,選擇您希望機器人車輛周遊賽道的速度,以公釐/秒為單位。

    3. 或者,勾選啟用車道變更方塊,讓機器人車輛能夠每 1-5 秒隨機變更車道。

  4. 訓練演算法和超參數下,選擇 Soft Actor Critic (SAC)近端政策最佳化 (PPO) 演算法。在 AWS DeepRacer 主控台中,SAC 模型必須在連續動作空間中訓練。PPO 模型可以在連續或離散的動作空間中進行訓練。

  5. 訓練演算法和超參數下,依原狀使用預設超參數值。

    稍後,如要改善培訓效能,請展開 Hyperparameters (超參數) 並修改預設超參數值如下:

    1. 針對 Gradient descent batch size (梯度下降批次大小),請選擇可用選項

    2. 針對 Number of epochs (epoch 數),設定有效值

    3. 針對 Learning rate (學習率),設定有效值

    4. 對於 SAC Alpha 值 (僅限 SAC 演算法),設定有效的值

    5. 針對 Entropy (熵),設定有效值

    6. 針對 Discount factor (折扣係數),設定有效值

    7. 針對 Loss type (損失類型),選擇可用選項

    8. 針對 Number of experience episodes between each policy-updating iteration (每次政策更新反覆操作間的經驗回合數),設定有效值

    如需超參數的詳細資訊,請參閱系統性調校超參數

  6. 選擇下一步

定義動作空間

定義動作空間頁面上,如果您已選擇使用 Soft Actor Critic (SAC) 演算法進行訓練,您的預設動作空間即為持續動作空間。如果您選擇使用近端政策最佳化 (PPO) 演算法進行訓練,請在連續動作空間離散動作空間之間進行選擇。若要進一步了解每個動作空間和演算法如何塑造客服人員的訓練體驗,請參閱 AWS DeepRacer 動作空間和獎勵函數

  1. 定義連續動作空間下,選擇左轉向角度範圍右轉向角度範圍的角度。

    請嘗試為每個轉向角度範圍輸入不同的角度,並觀看範圍變更的視覺化,以代表您在動態扇形圖上的選擇。

    影像:AWS DeepRacer 選擇訓練代理程式。
  2. 速度下,以公釐/秒為單位輸入代理程式的最小和最大速度。

    請注意,動態區段圖表上如何反映您的變更。

  3. 或者,選擇重設為預設值以清除不需要的值。我們鼓勵在圖形上嘗試不同的值來實驗和學習。

  4. 選擇下一步

  1. 從下拉式清單中選擇轉向角度精細度的值。

  2. 為您的代理程式的最大轉向角度選擇介於 1-30 度之間的值。

  3. 從下拉式清單中選擇速度精細度的值。

  4. 為您的代理程式最大速度選擇介於 0.1-4 之間的每秒公釐值。

  5. 使用動作清單上的預設動作設定,或選擇性地開啟進階組態來微調您的設定。如果您在調整值後選擇上一個或關閉進階組態,則會遺失變更。

    影像:切換進階組態。
    1. 轉向角度欄中輸入介於 -30 到 30 之間的度數值。

    2. 速度欄中輸入每秒 0.1 到 4 公釐之間的值,最多 9 個動作。

    3. 或者,選取新增動作以增加動作清單中的資料列數。

      影像:選取新增動作,將動作新增至動作清單。
    4. 或者,在資料列上選取 X 將其移除。

  6. 選擇下一步

選擇虛擬車輛

了解如何開始使用虛擬汽車。每月在 Open Division 中競爭,以取得新的自訂車輛、繪製任務和修改。

選擇虛擬汽車
  1. 選擇車輛殼層和感應器組態頁面上,選擇與您的競賽類型和動作空間相容的殼層。如果您的車庫中沒有符合的車輛,請前往主要導覽窗格的強化學習標題下的車庫來建立車庫。

    對於時間試驗訓練,Original DeepRacer 的預設感應器組態和單鏡頭攝影機是您需要的,但所有其他 shell 和感應器組態只要動作空間相符,就會運作。如需詳細資訊,請參閱時間試驗的 Tailor AWS DeepRacer 訓練

    對於物件迴避訓練,立體攝影機很有用,但單一攝影機也可以用來避免固定位置的固定障礙物。LiDAR 感應器是選用的。請參閱 AWS DeepRacer 動作空間和獎勵函數

    對於Head-to-bot訓練,除了單一攝影機或立體攝影機之外,LiDAR 單元最適合在傳遞其他移動的車輛時偵測和避免盲點。如需詳細資訊,請參閱 為head-to-bot競賽量身打造 AWS DeepRacer 訓練

  2. 選擇下一步

自訂您的獎勵函數

獎勵函數是強化學習的核心。了解如何使用它來激勵您的汽車 (代理程式) 在探索賽道 (環境) 時採取特定動作。就像鼓勵和勸阻寵物中的某些行為一樣,您可以使用此工具來鼓勵您的汽車盡快完成單圈,並阻止它離開賽道或與物件碰撞。

自訂獎勵函數
  1. Create model (建立模型) 頁面上,於 Reward function (獎勵函數) 下方,為您的模型直接使用預設獎勵函數範例。

    影像:AWS DeepRacer 選擇訓練代理程式。

    稍後,您可以選擇 Reward function examples (獎勵函數範例) 來選取其他範例函數,然後選擇 Use code (使用程式碼) 來接受選取的獎勵函數。

    您可以使用四個範例函數來啟動。它們說明如何遵循賽道中心 (預設)、如何將代理程式保持在賽道邊界內、如何防止鋸齒狀駕駛,以及如何避免撞到固定障礙物或其他移動的車輛。

    若要進一步了解獎勵函數,請參閱 AWS DeepRacer 獎勵函數參考

  2. 停止條件下,將預設的最長時間值保持原狀,或設定新值來終止訓練任務,以協助防止訓練任務長時間執行 (和可能的失控)。

    在訓練的早期階段進行實驗時,建議您針對此參數從較小的值開始,然後逐步訓練更長的時間。

  3. 自動提交至 AWS DeepRacer 下,在訓練完成後自動提交此模型至 AWS DeepRacer,並依預設會檢查是否有機會獲得獎勵。或者,您可以選取核取記號,選擇不輸入模型。

  4. 聯盟要求下,選取您的居住國家/地區,並勾選方塊以接受條款與條件。

  5. 選擇建立模型以開始建立模型和佈建訓練任務執行個體。

  6. 在提交後,查看您的培訓任務初始化並接著開始執行。

    初始化程序需要幾分鐘的時間,才能從初始化變更為進行中

  7. 觀看 Reward graph (獎勵圖表)Simulation video stream (模擬視訊串流),以觀察訓練任務的進度。您可以定期選擇 Reward graph (獎勵圖表) 旁邊的重新整理按鈕來重新整理 Reward graph (獎勵圖表),直到訓練任務完成為止。

    影像:AWS DeepRacer 訓練進行中。

訓練任務會在 AWS 雲端上執行,因此您不需要保持 AWS DeepRacer 主控台開啟。當任務進行時,您可以隨時返回 主控台來檢查您的模型。

如果模擬影片串流視窗或獎勵圖表顯示變得沒有回應,請重新整理瀏覽器頁面以取得更新的訓練進度。