培訓您的第一個 AWS DeepRacer 模型
為了使用 AWS DeepRacer 快速地開始探索強化學習及其在自主駕駛的應用,我們會引導您使用 AWS DeepRacer 主控台培訓您的第一個模型。
使用 AWS DeepRacer 主控台培訓強化學習模型
-
如果這是您第一次使用 AWS DeepRacer,請從服務登陸頁面選擇 Get started (入門),或是從主要導覽窗格中選擇 Get started with reinforcement learning (開始使用強化學習)。
-
在 Get started with reinforcement learning (開始使用強化學習) 頁面上,於 Step 2: Create a model and race (步驟 2:建立模型及競賽) 下方,選擇 Create model (建立模型)。
或者,在 AWS DeepRacer 首頁上,從主要導覽窗格中選擇 Your Models (您的模型) 來開啟 Your Models (您的模型) 頁面。在 Your Models (您的模型) 頁面中,選擇 Create model (建立模型)。
-
在 Create model (建立模型) 頁面上,於 Account resources (帳戶資源) 下方,如果您沒有必要的帳戶資源,請選擇 Create resources (建立資源)。如果帳戶資源發生任何問題,請選擇 Reset resources (重設資源)。
如需必要 IAM 角色和政策的詳細資訊,請參閱AWS DeepRacer 呼叫依存 AWS 服務所需要的 IAM 角色。
-
在 Create model (建立模型) 頁面上,於 Training details (培訓詳細資訊) 下方,在 Model name (模型名稱) 內輸入模型的名稱,並選用地在 Training job description (培訓任務描述) 中提供模型的摘要描述。
在將模型提交至 AWS 贊助或社群舉辦競賽活動的排行榜,或是進行複製以繼續培訓時,您將會使用模型名稱來參考此模型。
-
在 Create model (建立模型) 頁面中的 Environment simulation (環境模擬) 下,選擇軌道做為虛擬環境以訓練您的 AWS DeepRacer 代理程式。然後選擇 Next (下一步)。
初次執行時,請選擇形狀簡單且轉彎順暢的軌道。在稍後的反覆執行中,您可以選擇更複雜的軌道,漸進式地改善您的模型。若要針對特定競賽事件訓練模型,請選擇與事件軌道最相近的軌道。
-
在 Create model (建立模型) 頁面上,選擇 Next (下一步)。
-
在 Create model (建立模型) 頁面上,在 Race type (競賽類型) 下方選擇培訓類型。
針對您的第一次執行,請選擇 Time trial (限時競賽)。附帶預設感應器組態及單鏡頭攝影機的代理程式適合此種競賽類型,無須修改。如需詳細資訊,請參閱 為限時競賽量身打造 AWS DeepRacer 培訓。
針對稍後的執行,您可以選擇 Object avoidance (物件迴避) 來繞過沿著指定賽道置放在固定或隨機位置的障礙物。針對這類應用,代理程式應設為配備至少一台面向前方的雙鏡頭立體攝影機,雖然面向前方的單鏡頭攝影機可以用來迴避位於固定位置的固定障礙物。如需詳細資訊,請參閱 為物件迴避競賽量身打造 AWS DeepRacer 培訓。
如要進行更富野心的競賽,請選擇 Head-to-head racing (正面交鋒競賽) 來與最多 4 台以常數速度移動的機器人車輛進行競賽。除了單鏡頭攝影機或立體攝影機外,代理程式應設置一附 LiDAR 單位,使其可以在通過其他正在移動的車輛或固定障礙物時偵測和迴避盲點。如需詳細資訊,請參閱 為正面交鋒競賽量身打造 AWS DeepRacer 培訓。
-
在 Create model (建立模型) 頁面上,於 Agent (代理程式) 下方,針對您的第一個模型選擇 The Original DeepRacer (原始 DeepRacer)。
由於預設代理程式無法進行設定,因此 Edit (編輯) 按鈕無法使用。針對自訂代理程式,您可以使用 Edit (編輯) 選項來修改代理程式組態,使其符合指定競賽類型的競賽條件。
-
在 Create model (建立模型) 頁面上,選擇 Next (下一步)。
-
在 Create model (建立模型) 頁面上,於 Reward function (獎勵函數) 下方,為您的模型直接使用預設獎勵函數範例。
稍後,您可以選擇 Reward function examples (獎勵函數範例) 來選取其他範例函數,然後選擇 Use code (使用程式碼) 來接受選取的獎勵函數。
您可以從四個範例函數開始。這四個範例函數會分別示範如何遵循賽道的中心 (預設)、如何將代理程式保持在賽道邊界的內部,以及如何防止蛇行駕駛,以及如何避免與固定障礙物或正在移動的車輛發生衝撞。
若要進一步了解獎勵函數,請參閱 AWS DeepRacer 獎勵函數參考。
-
在 Create model (建立模型) 頁面上,於 Training algorithm and hyperparameters (培訓演算法及超參數) 下方,直接使用預設超參數值。
稍後,如要改善培訓效能,請展開 Hyperparameters (超參數) 並修改預設超參數值如下:
-
針對 Gradient descent batch size (梯度下降批次大小),請選擇可用選項。
-
針對 Number of epochs (epoch 數),設定有效值。
-
針對 Learning rate (學習率),設定有效值。
-
針對 Entropy (熵),設定有效值。
-
針對 Discount factor (折扣係數),設定有效值。
-
針對 Loss type (損失類型),選擇可用選項。
-
針對 Number of experience episodes between each policy-updating iteration (每次政策更新反覆操作間的經驗回合數),設定有效值。
如需超參數的詳細資訊,請參閱系統調整超參數。
-
-
在 Create model (建立模型) 頁面上,於 Stop conditions (停止條件) 下方,保留預設的 Maximum time (時間上限) 值,或是設定新的值來終止培訓任務,防止長時間執行 (且可能失控) 的培訓任務。
在訓練的早期階段進行實驗時,建議您針對此參數從較小的值開始,然後逐步訓練更長的時間。
-
在 Create model (建立模型) 頁面上,選擇 Create model (建立模型) 來開始建立模型及佈建訓練任務執行個體。
-
在提交後,查看您的培訓任務初始化並接著開始執行。
初始化程序可能需要約 6 分鐘的時間,將狀態從 Initializing (正在初始化) 變更為 In progress (正在進行)。
-
觀看 Reward graph (獎勵圖表) 和 Simulation video stream (模擬視訊串流),以觀察訓練任務的進度。您可以定期選擇 Reward graph (獎勵圖表) 旁邊的重新整理按鈕來重新整理 Reward graph (獎勵圖表),直到訓練任務完成為止。
訓練任務是在 AWS 雲端上執行,因此,您不需要在訓練期間讓 AWS DeepRacer 主控台保持開啟狀態。但是,在任務進行的過程中,您可以隨時返回主控台以檢查模型。
如果 Simulation video stream (模擬影片串流) 視窗或 Reward graph (獎勵圖表) 顯示沒有回應,請重新整理瀏覽器頁面,以更新培訓進度。
在培訓任務停止後,您可以繼續評估到目前為止所培訓的模型。若要執行此作業,請遵循接下來的步驟。