本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過 Amazon 使用強化學習 SageMaker
強化學習 (RL) 結合電腦科學、神經科學和心理學等領域,以釐清如何將各種情況映射到相關動作,藉此最大化數值獎勵訊號。RL 中獎勵訊號的這種概念源於神經科學研究,探究人類大腦如何決定哪些動作可最大化獎勵並最小化懲罰。在大多數情況下,人類並無明確指示該採取哪些動作,而是必須了解哪些動作會產生最立即的獎勵,以及這些動作如何影響未來的情況和後果。
RL 的問題是使用來自動態系統理論的馬爾可夫決策過程(MDPs)形式化。MDPs旨在捕捉學習代理人在嘗試實現一些最終目標時在一段時間內遇到的真實問題的高層次細節。學習代理程式應能夠判斷自身環境的目前狀態,並識別會影響學習代理程式目前狀態的可能動作。此外,學習代理程式的目標應與環境的狀態有極大的相互關聯。以這種方式公式化的問題之解決方案稱為:強化學習方法。
強化、監督式和非監督式學習範例之間有何區別?
機器學習可分為三種不同的學習範例:監督式、非監督式和強化。
在監督式學習中,外部主管提供一組標籤範例的訓練集。每個範例都包含狀況的相關資訊、屬於哪個類別,並具有識別其所屬類別的標籤。監督式學習的目標是推廣,以便出現訓練資料中不存在的情況時能正確預測。
相較之下,RL 處理的是互動問題,因此收集所有使用代理程式可能遇到的正確標籤的情況範例是不可行的。當代理程式能夠準確地從自身經驗中學習並相應地進行調整時,這種類型的學習會是最有前途的。
在非監督式學習中,代理程式會透過發現未標籤資料中的結構來學習。雖然 RL 代理程式可能會從基於其經驗的結構探索中受益,但 RL 的唯一目的是最大化獎勵訊號。
主題
為什麼強化學習很重要?
RL 非常適合解決大型複雜的問題,例如供應鏈管理、HVAC系統、工業機器人、遊戲人工智慧、對話系統和自動駕駛車輛。由於 RL 模型是透過代理程式所採取動作的獎勵與懲罰連續程序來學習的,因此可以在不確定及動態的環境下訓練系統以進行決策。
馬爾可夫決策過程()MDP
RL 是基於稱為馬爾可夫決策過程模型()MDPs。MDP由一系列時間步長組成。每個時間步驟都包含下列項目:
- 環境
-
定義 RL 模型運作的空間。這可以是真實世界環境或模擬器。例如,若您訓練一台實體道路上的實體自動車,該環境便是一個真實世界環境。若您訓練一個電腦程式,為在道路上行駛的自動車建立模型,該環境便是一個模擬器。
- State
-
指定與環境相關的所有資訊,以及與未來相關的過去步驟。例如,在機器人可以在任何時間步驟中往任何方向移動的 RL 模型中,目前時間步驟中機器人的位置便是狀態,因為我們知道機器人所在的位置,而無須了解機器人到達該位置所需採取的步驟。
- 動作
-
代理程式的功能 例如,機器人可以向前一步。
- 獎勵
-
代表狀態值的數字,該狀態是代理程式所採取最近一個動作的結果。例如,若機器人的目標是尋找寶藏,則尋找寶藏的獎勵可以是 5,而沒有找到寶藏的獎勵則可以是 0。RL 模型會嘗試尋找一個策略,最佳化長期下來的累積獎勵。此策略稱為政策。
- 觀察
-
與環境狀態有關的資訊,可供代理程式在每個步驟時使用。這可以是整個狀態,或是狀態的一部分。例如,下西洋棋模型中的代理程式可能可以在任何步驟中觀察棋盤的整個狀態,但迷宮中的機器人則可能只能觀察到迷宮中其目前所處位置的那一小部分。
一般而言,在 RL 中進行訓練包含了許多集。一個情節包含MDP從初始狀態到達終端狀態之前的所有時間步長。
Amazon SageMaker RL 的主要功能
若要在 RL 中訓練 SageMaker RL 模型,請使用下列元件:
-
一個深度學習 (DL) 框架。目前, SageMaker 支持 RL TensorFlow 和阿帕奇MXNet。
-
RL 工具組。RL 工具組可管理代理程式和環境間的互動,並提供各種最先進的 RL 演算法。 SageMaker 支持英特爾教練和雷RLlib工具包。如需 Intel Coach 的資訊,請參閱 https://nervanasystems.github.io/coach/
。如需有關 Ray 的資訊RLlib,請參閱https://ray.readthedocs.io/en/latest/rllib.html 。 -
RL 環境。您可以使用自訂環境、開放原始碼環境,或是商業環境。如需相關資訊,請參閱 Amazon 的 RL 環境 SageMaker。
下圖顯示 RL 支援的 RL 元件。 SageMaker
強化學習範例筆記本
如需完整的程式碼範例,請參閱範例儲存庫中的強化學習 SageMaker 範例筆記本