什麼是增強學習?

增強學習 (RL) 是一種機器學習技術,會透過「代理」與所在環境互動來學習最佳行為。這類代理不仰賴明確的程式設計或加上標籤的資料集,而是以行動帶來的獎勵或懲罰做為回饋,透過反覆試驗來學習。這個過程與人類的自然學習方式相似,因此增強學習可有效打造智慧型系統,來解決複雜問題。

增強學習簡介

增強學習的目的是學習制定決策。假設一個代理 (例如軟體程式或機器人) 在某個環境中行動,這個環境可能是實體空間、虛擬遊戲世界,甚至市場。當代理在環境中行動,會產生特定結果,但部分結果可能比其他結果更理想。

代理的目標是盡可能不斷取得最多獎勵。為了達到這個目標,代理會學習一套政策,也就是在指定情況下採取的行動策略。此外,代理會透過與環境反覆互動來改進政策。

以會下西洋棋的 AI 為例,代理的動作是棋盤上的棋步,環境是遊戲的目前狀態,獎勵則是贏得遊戲。透過反覆對弈和接收行動回饋,增強學習代理會瞭解哪些行動更有可能獲勝。

增強學習的運作方式

增強學習的學習過程,是由四個重要元素構成的回饋循環:

  • 代理:系統中的學習者和決策者
  • 環境:與代理互動的外部世界
  • 行動:代理在每一步可做出的選擇
  • 獎勵:代理採取行動後收到的回饋,表示結果的理想程度

以下是這個回饋循環的運作方式:

  1. 代理觀察環境的目前狀態。
  2. 代理根據政策,選擇並採取行動。
  3. 環境對行動做出回應,轉變為新狀態。
  4. 代理收到反映新狀態價值的獎勵信號。
  5. 代理根據獎勵資訊更新政策,更容易選擇以往帶來正向獎勵的行動。

系統會反覆試驗、獲得回饋並改善規則,直到瞭解哪種做法最有效,能夠不斷獲得最多獎勵。

增強學習的類型

增強學習有兩種主要類型:以模型為基礎的增強學習,以及無模型增強學習。

以模型為基礎

以模型為基礎的增強學習,是讓代理嘗試建構環境的內部模型,然後在實際行動前,先透過這個模型來預測結果,以制定更周詳的行動策略。

假設機器人正在學習走迷宮。以模型為基礎的增強學習代理,會嘗試建立迷宮布局的內部表示法,然後使用這個模型規劃路徑,在實際移動前,先模擬各種行動及預測結果。

無模型

另一方面,無模型增強學習是指不建構明確的環境模型,而是根據收到的獎勵,將動作與價值建立關聯,直接學習最佳策略。

回頭來看例子中的迷宮。無模型代理不會大費周章繪製整個迷宮的地圖,而是純粹根據過去的經驗和收到的獎勵,學會判斷在特定路口左轉或右轉,更有可能帶領自己找到出口。

增強學習技術

雖然每種增強學習技術的目標,都是盡可能獲得最多獎勵,但這些技術提供的策略各自不同。我們回頭來看迷宮中的機器人:

  • Q-Learning:這是相當常用的無模型方法,主要讓機器人在探索時建立「一覽表」。在各個路口 (狀態),一覽表會列出每種可能轉彎 (動作) 的「品質分數」(Q 值)。反覆試驗多次後,機器人就會瞭解在各個路口,每種轉彎的最佳可能分數。只要按照一覽表上分數最高的路徑前進,就能找到出口。
  • SARSA (State-Action-Reward-State-Action):這種方法與 Q-Learning 非常相似,但會讓機器人更謹慎一點。機器人不會總是假設自己下一步採取最佳行動,而是根據當下策略所採取的實際行動,更新一覽表。因此這是一種「on-policy」方法,表示機器人會根據目前遵循的策略來學習。
  • 深度 Q 網路 (DQN):如果迷宮規模非常大,有數百萬種可能的狀態,就像電玩遊戲呈現的畫面一樣,只用一覽表的效率太低。在這種情況下,DQN 就能派上用場。這種做法以深層類神經網路取代一覽表,整個網路就像智慧型「函式」,即使是從未見過的全新狀態,也能估算 Q 值。DeepMind 的 AI 正是透過這種方式,學會玩 Atari 遊戲。
  • 政策梯度法:這種方法採取更直接的做法。機器人不會逐一學習每個動作的值,而是學習一般政策,或是在任何情況下採取某種行動的機率 (例如:「在 T 字路口,應該有 70% 的機率左轉」),然後判斷整趟旅程是否成功,並據此直接調整機率,逐漸提升「直覺」,獲得最大獎勵。

增強學習的使用時機

增強學習是一項強大的工具,在特定情境下可展現優異能力。以下列舉幾個最適合使用增強學習的情境:

環境複雜且包含眾多狀態和動作

增強學習可處理傳統程式設計或規則型系統難以應對的情況。

須透過互動產生資料

如果想讓代理透過主動與環境互動及接收回饋來學習,增強學習就能派上用場。

目標是取得最佳長期成果

如果任務目標是經過一段時間後,盡可能累積最多獎勵,就很適合採用增強學習。

增強學習的優勢與挑戰

增強學習是解決棘手問題的好方法,但務必瞭解其優缺點,這樣才能判斷這項技術是否適合各種工作,以及使用方式。

增強學習的優勢

  • 能解決複雜問題:增強學習能處理傳統程式設計做法難以應對的情況,提供複雜問題的解方
  • 靈活性高:增強學習代理能靈活因應不斷變化的環境,並學習新策略,因此適用於動態情境
  • 找出最佳解決方案:增強學習會透過持續探索及學習,找出最有效的策略來達到目標

增強學習的挑戰

  • 可能需要大量資料:增強學習通常需要龐大互動資料才能有效學習,因此收集資料可能會耗費大量時間和資源
  • 獎勵設計至關重要:增強學習的成效,主要取決於獎勵函式設計是否準確反映預期行為,但在部分任務中,這可能是一大難題
  • 實際應用的安全疑慮:在機器人等實際應用情境中,必須確保代理在學習過程的行動安全無虞

增強學習、監督式學習與非監督式學習的差異

增強學習、監督式學習和非監督式學習都是機器學習領域的一部分,但基本做法各不相同:

  • 監督式學習:在監督式學習中,演算法會使用加上標籤的資料集學習,根據提供的範例將輸入內容對應至輸出內容,就像按照老師提供的正確答案來學習。
  • 非監督式學習非監督式學習演算法會探索未加上標籤的資料,從中找出模式、關係或結構,就像獨自理解資料來學習,不依靠老師
  • 增強學習:如先前所述,增強學習主要透過與環境互動來學習,且會收到獎勵或懲罰做為回饋,就像透過反覆試驗來學習,根據行動結果調整行為

增強學習的應用

增強學習讓系統能透過互動學會複雜行為,因此適用於多種情境,包括:

推薦系統

推薦系統可透過增強學習,從使用者互動中學習,進而提供個人化建議。增強學習演算法會將點擊、購買或觀看時間視為信號,將推薦引擎最佳化,盡可能提高使用者參與度和滿意度。舉例來說,音樂串流服務可運用增強學習,根據不斷演變的使用者偏好,推薦歌曲或藝人。

遊戲開發

遊戲業已採用增強學習,開發出遊戲技能高超的代理。這些經過增強學習訓練的 AI 代理,在複雜遊戲中展現了極為精熟的技能,以及高階策略思考和決策能力。DeepMind 開發的 AlphaGo 和 AlphaZero 就是著名的例子。這兩個代理在西洋棋等遊戲中發揮增強學習帶來的強大力量,締造頂尖表現。

控制機器人

增強學習可幫助機器人學會複雜的運動技能,並在充滿障礙的環境中行動。當機器人做出抓取物體、有效移動等期望行為,就會獲得獎勵。因此,這項技術有助於將需要精細動作和高靈活性的工作自動化。這項技術可應用於製造業、物流業,甚至是醫療照護業,例如由機器人協助動手術或照顧病患。

運用 Google Cloud 建構及擴充增強學習解決方案

要開發增強學習系統,需有功能強大的平台來訓練代理,以及可擴充的環境來部署代理。Google Cloud 提供必要的元件:

  • 在建構及訓練模型方面:Vertex AI 是整合式機器學習平台,可簡化整個機器學習工作流程,方便您集中建構、訓練及管理增強學習模型、實驗和資料
  • 在可擴充的部署環境方面:增強學習代理通常必須部署在複雜的動態環境。Google Kubernetes Engine (GKE) 提供可擴充的代管服務,可執行容器化代理、讓代理與環境互動,並視需要調度資源

展開下一步行動

運用價值 $300 美元的免費抵免額和超過 20 項一律免費的產品,開始在 Google Cloud 中建構產品與服務。