訓練及評估 AWS DeepRacer 模型 - AWS DeepRacer

訓練及評估 AWS DeepRacer 模型

當您的 AWS DeepRacer 車輛自行沿著軌道駕駛時,它會使用裝在前方的攝影機擷取環境狀態,並採取動作以回應觀察結果。您的 AWS DeepRacer 模型是將觀察結果和動作映射到預期獎勵的函數。訓練模型的意思便是尋找或學習能最大化預期獎勵的函數,使最佳化模型能指定您車輛可採取的動作 (速度和方向盤角度對),以沿著軌道,從開始位置移動到結束位置。

實際上,函數會由神經網路表示,而訓練網路會涉及針對指定的一系列觀察環境狀態及回應車輛的動作,尋找最佳網路權重。最適率的基礎條件會由模型的獎勵函數描述,鼓勵車輛採取合法及具生產性的移動方式,避免造成交通意外或違規。若車輛位於軌道上,簡易的獎勵函數可能會傳回獎勵 0;若脫離軌道,則傳回 -1;若到達終點線,則傳回 +1。使用此獎勵函數,車輛若離開軌道,將得到懲罰,若到達目的地,則會得到獎勵。如果時間或速度不是問題,這可能是一個很好的獎勵函數。

假設 你有興趣讓車輛駕駛 儘快 沒有從直軌上脫落。隨著車輛加速和減速,車輛可能會向左或向右偏移來避開障礙物,或維持在軌道內。M在高速轉動的過程中,制動過大可能很容易導致車輛離開。轉彎幅度過小則可能無法協助避免與障礙物或其他車輛碰撞。一般而言,最佳動作會是在低速期間進行較大幅度的轉彎,或是在較尖銳的曲線處縮小方向盤偏移的幅度。若要鼓勵此行為,您的獎勵函數必須針對高速時較小幅度的轉彎給予正值獎勵分數,並且 (或) 給予負值分數以懲罰在高速時進行較大幅度的轉彎。同樣地,獎勵函數可以針對沿著直線路徑加速,或是在接近障礙物時減速來給予正值獎勵。

獎勵函數是您 AWS DeepRacer 模型的重要部分。您必須在訓練您的 AWS DeepRacer 模型時提供它。訓練會涉及沿著軌道從開始到結束的重複回合。在一個回合中,代理程式會與賽道互動,藉由將預期的累積獎勵最大化來學習最佳的行車路線。結束時,培訓會產生強化學習模型。在訓練之後,代理程式會透過在模型上執行推斷來執行自動駕駛,在任何指定的狀態中採取最佳動作。這可以在具備虛擬代理程式的模擬環境中,或是在具備實體代理程式的現實世界環境 (例如 AWS DeepRacer 規格車輛) 中執行。

若要在實務中訓練強化學習模型,您必須選擇學習演算法。目前, AWS DeepRacer 控制檯僅支持 近端政策優化(PPO)算法 更快的培訓表演. 然後,您可以選擇一個支援所選擇演算法的深度學習架構,除非您想要從頭編寫一個。AWS DeepRacer 會與 SageMaker 整合,讓一些熱門的深度學習架構 (例如 TensorFlow) 立即可在 AWS DeepRacer 主控台中使用。使用架構可簡化訓練任務的設定和執行,並讓您專注在建立並加強問題特有的獎勵函數。

訓練強化學習模型是一段反覆過程。首先,它是ING 定義獎勵功能,以涵蓋一次中某個代理的所有重要行爲。其次,通常會調整超參數以確保滿意的培訓效能。二者都需要實驗。謹慎的方法是從簡單的獎勵功能開始,然後逐漸增強。 AWS DeepRacer 通過使您能夠克隆訓練有素的模型來促進這個迭代過程,然後使用它來跳轉下一輪 的 培訓。在每次迭代中,您都可以向獎勵職能部門介紹一個或幾個更復雜的處理方法,以便處理之前的LY 忽略的變量,或者您可以系統地調整超參數直到結果會聚。

如同機器學習中的一般實務,您必須評估訓練的強化學習模型,以確定其有效性,然後再將其部署至實體代理程式,以在現實世界情況中執行推斷。針對自動駕駛,可以根據車輛從開始到結束時留在特定軌道上的頻率,或其可在不離開軌道的情況下多快完成過程,來進行評估。AWS DeepRacer 模擬會在 AWS RoboMaker 模擬器中執行,並可讓您執行評估並張貼指標,在排行榜上和其他 AWS DeepRacer 使用者訓練的模型比較。