強化學習



什麼是強化學習?

強化學習是一種機器學習方法,其中代理(軟體實體)透過執行動作並監控結果來訓練以解釋環境。對於每個好的動作,代理都會獲得積極的反饋,對於每個壞的動作,代理都會獲得消極的反饋。它受到動物從經驗中學習的啟發,根據其行為的後果做出決策。

下圖顯示了一個典型的強化學習模型 -

Reinforcement Machine Learning

在上圖中,**代理**處於特定的**狀態**。代理在**環境**中採取**行動**以完成特定任務。作為執行任務的結果,代理會收到**獎勵**或懲罰作為反饋。

強化學習是如何工作的?

在強化學習中,會存在一個代理,我們希望在一段時間內對其進行訓練,以便它可以與特定環境進行互動。代理將遵循一組與環境互動的策略,然後在觀察環境後,將根據環境的當前狀態採取行動。代理透過根據其行為獲得獎勵或懲罰來學習如何做出決策。

可以透過象棋大師的方法來理解強化學習的工作原理。

  • **探索** - 就像象棋棋手考慮各種可能的走法及其結果一樣,代理也探索不同的行動以瞭解它們的影響,並學習哪些行動會導致更好的結果。
  • **利用** - 象棋棋手也根據過去的經驗使用直覺來做出看起來正確的決定。類似地,代理使用從先前經驗中獲得的知識來做出最佳選擇。

強化學習的關鍵要素

除了代理和環境之外,還可以識別強化學習系統的四個主要子要素 -

  • **策略** - 它定義了學習代理在給定時間時的行為方式。策略是從環境的感知狀態到在這些狀態下要採取的動作的對映。
  • **獎勵訊號** - 它定義了強化學習問題的目標。它是環境向代理傳送的數值分數。此獎勵訊號定義了代理的良好和不良事件。
  • **價值函式** - 它指定從長遠來看什麼是好的。價值是代理從該狀態開始可以預期在未來累積的獎勵總量。
  • **模型** - 模型用於規劃,這意味著在實際體驗之前,透過考慮可能的未來情況來決定行動方案。

**馬爾可夫決策過程 (MDP)** 為在具有狀態、動作、獎勵、機率的環境中建模決策制定提供了數學框架。強化學習使用 MDP 來理解代理應該如何行動以最大化獎勵,並找到決策制定的最佳策略。

馬爾可夫決策過程 (MDP)

強化學習使用馬爾可夫決策過程 (MDP) 的數學框架來定義學習代理與環境之間的互動。MDP 的一些重要概念和組成部分是 -

  • **狀態 (S)** - 表示代理可能發現自己的所有情況。
  • **動作 (A)** - 代理從給定狀態中可用的選擇。
  • **轉移機率 (P)** - 由於特定動作導致從一個狀態轉移到另一個狀態的可能性。
  • **獎勵 (R)** - 由於某個動作而轉移到新狀態後收到的反饋,指示結果的合意性。
  • **策略 (π)** - 一種策略,定義了在每個狀態中為獲得獎勵而採取的動作。

強化學習過程中的步驟

以下是強化學習方法中涉及的主要步驟 -

  • **步驟 1** - 首先,我們需要為代理準備一些初始策略集。

  • **步驟 2** - 然後觀察環境及其當前狀態。

  • **步驟 3** - 接下來,根據環境的當前狀態選擇最佳策略並執行重要操作。

  • **步驟 4** - 現在,代理可以根據其在上一步中採取的操作獲得相應的獎勵或懲罰。

  • **步驟 5** - 現在,如果需要,我們可以更新策略。

  • **步驟 6** - 最後,重複步驟 2-5,直到代理學會並採用最佳策略。

強化學習的型別

強化學習有兩種型別

  • **正強化** - 當代理執行合意的操作或導致良好結果時,它會獲得獎勵,從而增加重複該操作的可能性。
  • **負強化** - 當代理執行操作以避免負面結果時,負面刺激會被移除。例如,如果機器人被程式設計為避開障礙物併成功地從障礙物中導航出來,則與該操作相關的威脅就會被移除。並且機器人更有可能在將來避免該操作。

強化學習演算法的型別

強化學習中使用了各種演算法,例如 Q 學習、策略梯度方法、蒙特卡羅方法等等。所有這些演算法都可以分為兩大類 -

  • **無模型強化學習** - 它是強化學習演算法的一類,透過直接與環境互動來學習做出決策,而無需建立環境動態模型。代理多次執行不同的操作以學習結果,並建立最佳化其獎勵點的策略(策略)。這非常適合變化、龐大或複雜的環境。
  • **基於模型的強化學習** - 強化學習演算法的這一類涉及建立環境動態模型以做出決策和提高效能。當環境是靜態的且定義明確時,此模型是理想的,在這些環境中,現實世界的環境測試很困難。

強化學習的優勢

強化學習的一些優勢包括 -

  • 強化學習不需要預定義的指令和人為干預。
  • 強化學習模型可以適應各種環境,包括靜態和動態環境。
  • 強化學習可用於解決各種問題,包括決策制定、預測和最佳化。
  • 強化學習模型隨著經驗的積累和微調而變得更好。

強化學習的缺點

強化學習的一些缺點包括 -

  • 強化學習取決於獎勵函式的質量,如果獎勵函式設計不當,模型的效能永遠無法得到提高。

  • 強化學習的設計和調優可能很複雜,需要專業知識。

強化學習的應用

強化學習在各個領域都有廣泛的應用。一些主要的應用包括:

1. 機器人學

強化學習通常關注在不可預測的環境中進行決策。這是一種最常用的方法,尤其適用於複雜的任務,例如複製人類行為、操作、導航和運動。這種方法還允許機器人透過反覆試驗來適應新的環境。

2. 自然語言處理 (NLP)

自然語言處理 (NLP) 中,強化學習用於透過管理複雜的對話和改進使用者互動來增強聊天機器人的效能。此外,這種學習方法也用於訓練模型以執行諸如摘要之類的任務。

強化學習與監督學習

監督學習和強化學習是機器學習中的兩種不同方法。在監督學習中,模型在包含輸入及其對應輸出的資料集上進行訓練,用於預測分析。而在強化學習中,智慧體與環境互動,透過接收獎勵或懲罰的形式的反饋來學習做出決策,旨在最大化累積獎勵。這兩種方法之間的另一個區別在於它們最適合的任務。監督學習用於具有清晰、結構化輸出的任務,而強化學習用於具有最優策略的複雜決策任務。

廣告