

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

# 什麼是 AWS DeepRacer？
<a name="what-is-deepracer"></a>

AWS DeepRacer 是由[強化學習](deepracer-basic-concept.md#term-rl)驅動的全自動 1/18 級賽車。它由下列元件組成：
+ AWS DeepRacer 主控台：一種 [AWS Machine Learning](https://aws.amazon.com/machine-learning/) 服務，可在立體模擬自動駕駛環境中[訓練和評估強化學習模型](create-deepracer-project.md)。
+ AWS DeepRacer 車輛：第 1/18 級 RC 車輛，可在[訓練有素的 AWS DeepRacer 模型上執行推論](operate-deepracer-vehicle.md)，以自動駕駛。
+ AWS DeepRacer 聯盟：全球第一個自主競賽聯盟。爭奪獎勵、光榮，以及有機會參加世界冠軍盃。如需詳細資訊，請參閱 [條款與條件](https://aws.amazon.com/deepracer/league/)。

 

**Topics**
+ [AWS DeepRacer 主控台](#what-is-deepracer-service-console)
+ [AWS DeepRacer 車輛](#what-is-deepracer-model-vehicle)
+ [AWS DeepRacer 聯盟](#what-is-deepracer-racing-series)
+ [使用 AWS DeepRacer 探索強化學習](deepracer-is-a-learning-environment-for-reinforcement-learning.md)
+ [AWS DeepRacer 概念和術語](deepracer-basic-concept.md)

## AWS DeepRacer 主控台
<a name="what-is-deepracer-service-console"></a>

AWS DeepRacer 主控台是與 AWS DeepRacer 服務互動的圖形使用者介面。您可以使用 主控台來訓練強化學習模型，並在 AWS DeepRacer 模擬器中評估模型效能。在 主控台中，您也可以下載訓練模型以部署至 AWS DeepRacer 車輛，以在實體環境中自動駕駛。

總而言之，AWS DeepRacer 主控台支援下列功能：
+ 建立訓練任務，使用指定的獎勵函數、最佳化演算法、環境及超參數訓練強化學習模型。
+ 使用 SageMaker AI 選擇模擬軌跡來訓練和評估模型。
+ 複製訓練模型，透過調校超參數來改善訓練，最佳化您模型的效能。
+ 下載訓練過的模型以部署到您的 AWS DeepRacer 車輛，使其可以在實體環境中駕駛。
+ 提交您的模型到虛擬競賽，並在虛擬排行榜中讓其效能與其他模型進行比較。



當您使用 AWS DeepRacer 服務主控台時，會根據您的用量收費，以訓練或評估和存放模型。

為了協助您開始使用，AWS DeepRacer 為 AWS DeepRacer 使用者首次提供[免費方案](https://aws.amazon.com/free/)。現在有足夠的時間訓練和調校您的第一個模型，並進入 AWS DeepRacer 聯盟。提交模型以參加任何 AWS DeepRacer 聯盟虛擬事件無需付費。

如需定價的詳細資訊，請參閱 [AWS DeepRacer 服務詳細資訊頁面](https://aws.amazon.com/deepracer/pricing/)。

## AWS DeepRacer 車輛
<a name="what-is-deepracer-model-vehicle"></a>

AWS DeepRacer 車輛是已啟用 Wi-Fi 的實體車輛，可使用強化學習模型在實體賽道上自行駕駛。
+ 您可以手動控制車輛或部署車輛模型以自動駕駛。
+ 自動模式會在車輛的運算模組上執行推斷。推斷會使用從裝在前方的攝影機擷取到的影像。
+ Wi-Fi 連線則可以讓車輛下載軟體。連線也可以讓使用者存取裝置主控台，使用電腦或行動裝置操作車輛。

## AWS DeepRacer 聯盟
<a name="what-is-deepracer-racing-series"></a>

 AWS DeepRacer 聯盟是 AWS DeepRacer 的重要元件。AWS DeepRacer 聯盟旨在培養社群和競爭。

透過 AWS DeepRacer 聯盟，您可以在實體或虛擬競賽活動中將您的 ML 技能與其他 AWS DeepRacer 開發人員進行比較。您不僅有機會獲得獎勵和成就，還可以測量強化學習模型。您可以與其他參與者競爭、互相學習，以及互相激勵。如果您在 AWS DeepRacer 聯盟中取得效能的成就，您可以在社交媒體上與社群分享。如需詳細資訊，請參閱 [條款與條件](https://aws.amazon.com/deepracer/league/)。

[參加賽車或了解如何在聯盟中培訓模型。](https://console.aws.amazon.com/deepracer)

# 使用 AWS DeepRacer 探索強化學習
<a name="deepracer-is-a-learning-environment-for-reinforcement-learning"></a>

強化學習，特別是深度強化學習，已證明在解決廣範圍的自動決策問題中相當有效。它的應用範圍涉及金融交易、資料中心冷卻、機群邏輯和自動競賽等。

強化學習具有解決現實世界問題的潛力。不過，由於其廣泛的技術範圍和深度，它具有陡峭的學習曲線。真實世界實驗需要您建構實體代理程式，例如自動賽車。它還要求您保護實體環境，例如駕駛賽道或公有道路。這使得環境可能相當昂貴、危險和耗時。這些需求遠超過僅只是為了了解強化學習的範圍。

為了協助減少學習曲線，AWS DeepRacer 以三種方式簡化程序：
+ 在訓練和評估強化學習模型時step-by-step指引。本指南包含預先定義的環境、狀態和動作，以及可自訂的獎勵函數。
+ 提供模擬器來模擬虛擬[代理](deepracer-basic-concept.md#term-model-vehicle)程式與虛擬環境之間的互動。
+ 使用 AWS DeepRacer 車輛做為實體代理程式。使用車輛，來在實體環境中評估訓練模型。這非常類似於現實世界的使用案例。



如果您是經驗豐富的機器學習從業人員，您會發現 AWS DeepRacer 是為虛擬和實體環境中的自動競賽建置強化學習模型的歡迎機會。總結來說，使用 AWS DeepRacer 建立強化學習模型，以進行自動競賽，步驟如下：

1. 針對自動競賽訓練自訂強化學習模型。使用與 SageMaker AI 整合的 AWS DeepRacer 主控台來執行此操作。 SageMaker 

1. 使用 AWS DeepRacer 模擬器來評估模型，並在虛擬環境中測試自動賽車。

1. 將訓練過的模型部署到 AWS DeepRacer 模型車輛，以在實體環境中測試自動賽車。



# AWS DeepRacer 概念和術語
<a name="deepracer-basic-concept"></a>

 AWS DeepRacer 以下列概念為基礎，並使用下列術語。

**AWS DeepRacer 服務**  <a name="term-deepracer-service"></a>
AWS DeepRacer 是一項 AWS Machine Learning 服務，用於探索專注於自動競賽的強化學習。AWS DeepRacer 服務支援下列功能：  

1. 在雲端訓練強化學習模型。

1. 在 AWS DeepRacer 主控台中評估訓練過的模型。

1. 如果合格，則向虛擬賽車提交經過訓練的模型，並將其效能發佈到事件排行榜。

1. 複製訓練過的模型，以繼續訓練以提升效能。

1. 下載訓練過的模型成品以上傳至 AWS DeepRacer 車輛。

1. 將車輛放在供自動駕駛的實體賽道上，評估模型在真實世界的效能。

1. 刪除您不需要的模型，以移除不必要的費用。

**AWS DeepRacer**  <a name="term-deepracer"></a>
「AWS DeepRacer」可以參考三種不同的車輛：  
+ **虛擬賽車**的形式可以是原始 AWS DeepRacer 裝置、Evo 裝置，或參加 AWS DeepRacer 聯盟虛擬賽道競賽可獲得的各種數位獎勵。您也可以變更虛擬車輛的顏色來自訂虛擬車輛。
+ **原始 AWS DeepRacer 裝置**是實體 1/18 規模的模型車。其掛載相機並內建運算模組。運算模組會執行推論，以在軌道上駕駛自身。運算模組和車輛底盤由專用電池供電，分別稱為運算電池和駕駛電池。
+ **AWS DeepRacer Evo 裝置**是具有選用感應器套件的原始裝置。套件包含額外的攝影機和 LIDAR （光源偵測和範圍），可讓車輛偵測自身後方和側面的物件。套件也包含新的 shell。

**強化學習**  <a name="term-rl"></a>
強化學習是一種機器學習方法，專注於代理程式的自動決策，以便透過與 環境的互動來實現指定的目標。在強化學習中，學習是透過反覆嘗試進行且訓練不需要標記輸入。訓練依賴於*獎勵假設*，該假設透過最大化動作序列之後的未來獎勵來實現所有目標。在強化學習中，設計獎勵函數非常重要。更精準的獎勵函數可讓代理程式做出更好的決策。  
對於自動駕駛賽車而言，代理程式就是車輛。該環境包含行駛路線和路況條件。目標是讓車輛在不發生車禍的情況下快速抵達目的地。獎勵是分數，用於鼓勵前往目的地的安全和迅速行駛。危險和沒有效率的駕駛行為會遭到扣分。  
若要在訓練過程中鼓勵學習，必須允許學習代理程式偶爾追求不會產生獎勵的動作。這稱為探勘和開發折衷方案。這有助於降低或移除代理程式可能會受到誤導而前往虛假目的地的可能性。  
如需更多正式定義，請參閱 Wikipedia 上的 [reinforcement learning](https://en.wikipedia.org/wiki/Reinforcement_learning)。

**強化學習模型**  <a name="term-rl-model"></a>
強化學習模型是一種環境，其中代理程式會採取動作來建立三件事：代理程式所擁有的狀態、代理程式可以採取的動作，以及透過採取動作獲得的獎勵。代理程式決定其動作的策略稱為*政策*。政策會將環境狀態當成要採取動作的輸入和輸出。在強化學習中，政策通常由深度神經網路表示。我們將此稱為強化學習模型。每個訓練任務都會產生一個模型。即使訓練任務提早停止，系統仍可以產生模型。模型為不可變，也就是一旦建立就無法再修改和覆寫。

**AWS DeepRacer 模擬器**  <a name="term-simulator"></a>
AWS DeepRacer 模擬器是視覺化訓練和評估 AWS DeepRacer 模型的虛擬環境。

**AWS DeepRacer 車輛**  <a name="term-model-vehicle"></a>
請參閱 [AWS DeepRacer](#term-deepracer)。

**AWS DeepRacer 汽車**  <a name="term-deepracer-car"></a>
這種類型的 [AWS DeepRacer 車輛](#term-model-vehicle)是 1/18 規模的模型車。

**排行榜**  <a name="term-leaderboard"></a>
*排行榜*是 AWS DeepRacer 聯盟競賽事件中 AWS DeepRacer 車輛效能的排名清單。賽車可以是在模擬環境中實現的虛擬事件，或在真實世界環境中實現的實體事件。效能指標取決於競賽類型。它可以是 AWS DeepRacer 使用者提交的最快單圈時間、總時間或平均單圈時間，這些使用者已在與指定賽道相同或類似的賽道上評估其訓練過的模型。  
如果車輛連續完成三圈，便有資格在排行榜上排名。前三圈的平均一圈時間會提交至排行榜。

**機器學習架構**  <a name="term-frameworks"></a>
機器學習架構是用來建置機器學習演算法的軟體程式庫。AWS DeepRacer 支援的架構包括 Tensorflow。

**政策網路**  <a name="term-policy-network"></a>
政策網路是已訓練的神經網路。此政策網路會將影片影像做為輸入，並預測代理程式的下一個動作。根據演算法而定，可能也會評估代理程式的目前狀態值。

** 最佳化演算法**  <a name="term-optimization-algorithm"></a>
最佳化演算法是用於訓練模型的演算法。對於受監督的訓練，其會透過將特定策略的損失函數降至最低來更新權重，來最佳化演算法。對於強化學習而言，其會透過將特定獎勵函數的預期未來獎勵最大化，來最佳化演算法。

**類神經網路**  
神經網路 （也稱為*人工神經網路*) 是連線單位或節點的集合，用於根據生物系統建置資訊模型。每個節點稱為*人工神經元*，模擬生物神經元，因為它接收輸入 （刺激），如果輸入訊號夠強 （啟用），就會啟動，並在輸入和啟用時產生述詞的輸出。廣泛用於機器學習，因為人工類神經網路可以提供近似於任何函數的一般用途。教學機器以學習 會尋找指定輸入和輸出的最佳函數近似值。在深度強化學習中，類神經網路代表政策，且通常稱為政策網路。訓練政策網路需要反覆執行步驟，這些步驟涉及根據目前政策產生體驗，然後使用新產生的體驗最佳化政策網路。此程序一直持續，直到某些效能指標滿足必要的條件。

** 超參數**  <a name="term-hyperparameters"></a>
超參數是演算法相依變數，可控制神經網路訓練的效能。超參數範例是學習率，可控制每個步驟在學習中計算多少新體驗。較高的學習率可加快訓練速度，但可能會降低訓練模型的品質。超參數來自經驗，每個訓練都需要系統化調校。

**AWS DeepRacer 賽道**  <a name="term-track"></a>
賽道是 AWS DeepRacer 車輛行駛的路徑或路線。軌跡可以存在於模擬環境或真實的實體環境中。您可以使用模擬環境在虛擬賽道上訓練 AWS DeepRacer 模型。AWS DeepRacer 主控台提供虛擬音軌。您可以使用實際環境在實體賽道上執行 AWS DeepRacer 車輛。AWS DeepRacer 聯盟提供實體軌跡，讓活動參與者競爭。如果您想要在任何其他情況下執行 AWS DeepRacer 車輛，則必須建立自己的實體軌道。若要進一步了解如何建置自己的賽道，請參閱[建置您的實體賽道](deepracer-build-your-track.md)。

** 獎勵函數**  <a name="term-reward-function"></a>
獎勵函數是學習模型中的演算法，可告知代理程式所執行的動作是否會導致：  
+ 應該予以強化的良好結果。
+ 中性結果。
+ 不應該鼓勵的不良結果。
獎勵函數是強化學習的重要元件。其可透過給予特定動作優於其他動作的獎勵，以決定代理程式會學習的行為。使用者使用 Python 來提供獎勵函數。這個獎勵函數由最佳化演算法用來訓練強化學習模型。

**體驗回合**  <a name="term-episode"></a>
體驗集是代理程式從指定的起點執行到完成賽道或離開賽道，以從環境收集訓練資料的期間。不同的回合可以有不同的長度。這也稱為*片段*或*產生經驗的片段*。

**重複體驗**  
體驗反覆運算 （也稱為*產生經驗反覆運算*) 是執行政策網路權重更新的每個政策反覆運算之間的一組連續體驗。在每次體驗重複結束時，收集到的回合會新增到體驗重新執行或緩衝。您可以在其中一個超參數中設定大小以進行訓練。並使用體驗的隨機樣本來更新類神經網路。

**重複政策**  
政策反覆運算 （也稱為*政策更新反覆運算*) 是任意數量的傳遞，透過隨機抽樣的訓練資料，在梯度上升期間更新政策神經網路權重。單一傳遞訓練資料以更新權重也稱為 *epoch*。

**訓練工作**  <a name="term-training-job"></a>
訓練任務是一種工作負載，可訓練強化學習模型，並建立要在其中執行推論的訓練模型成品。每個訓練工作都有兩個子程序：  

1. 啟動代理程式以遵循目前的政策。代理程式在多種[*回合*](#term-episode)下探索環境，並建立訓練資料。產生資料本身就是一個重複的過程。

1. 套用新的訓練資料來計算新的政策梯度。更新網路權重並繼續訓練。重複步驟 1，直到符合停止條件。
每項訓練任務都會產生經過訓練的模型，並將模型成品輸出到指定的資料存放區。

**評估工作**  <a name="term-evaluation-job"></a>
評估任務是測試模型效能的工作負載。效能會在訓練工作完成後，透過指定指標進行測量。標準 AWS DeepRacer 效能指標是客服人員在賽道上完成單圈所需的駕駛時間。另一個指標則是完成圈數的百分比。

## 賽車事件術語
<a name="racing-event-terminology"></a>

AWS DeepRacer 競賽事件使用以下概念和術語。

**聯盟/競賽**  
在 AWS DeepRacer 聯盟事件中，*聯盟*和*競爭*一詞與競爭結構相關。 AWS 贊助 AWS DeepRacer 聯盟，這表示我們擁有它、設計它並執行它。競賽有開始和結束日期。

**賽季**  
競賽可以在後續幾年重複。我們稱這些不同的賽季 (例如 2019 年或 2020 年賽季)。規則可能會隨賽季變化，但通常在賽季內保持一致。AWS DeepRacer 聯盟的條款和條件可能隨季節而異。

**虛擬電路**  
虛擬賽道是指在 AWS DeepRacer 聯盟賽季期間，由 AWS DeepRacer 主控台 AWS 贊助的競賽。

**事件**  
如規則所定義，事件是您可以參加競賽的 AWS DeepRacer 聯盟。賽事有開始和結束日期。虛擬電路事件通常持續一個月。一個季節中可能有許多事件，而且有些規則 - 例如，我們如何對參與事件的人員進行排名、選擇誰獲勝，以及之後發生什麼情況 - 可能會變更。

**賽車類型**  
 所有競賽者都可以在時間試驗 (TT)、物件迴避 (OA) 或head-to-bot(H2B) 競賽中競賽。每個競賽類型都會指定圈數，以及競賽者的排名方式。

**國家賽季站姿**  
國家賽季排名是指競賽者在其國家中其他競賽者的排行榜排名。所有競賽者都可以在每月虛擬競賽中與國家的其他競賽者競爭。

**區域季節站立**  
區域賽季排名是指競賽者在其區域中其他競賽者的排行榜排名。

**世界冠軍**  
AWS DeepRacer 聯盟的虛擬賽道每月排行榜會除以國家和區域。每個區域的最佳競賽者將有機會參加 AWS re：Invent 世界冠軍賽。如需詳細資訊，請參閱 [條款與條件](https://aws.amazon.com/deepracer/league/)。