天天看點

第一次見有人把人工智能強化學習講的這麼通俗易懂!

作者:阿生的AI視界

生活中,我們經常會聽到,今天某某機器打敗了當今世界上頂尖的某個領域的職業選手,某某機器又在某個領域擊敗了世界冠軍,甚至,某某機器打破了塵封數十年的世界紀錄。這一切呢還得從一個近年來興起的技術說起,它就是機器學習領域的一個技術“強化學習”。

談到強化學習,我們不妨用一句話來概括一下它:

第一次見有人把人工智能強化學習講的這麼通俗易懂!

什麼是強化學習?強化學習是一種通過智能體與環境的互動學習來做出最優決策的機器學習方法。

強化學習并不是某一種特定的算法,而是一類算法的統稱。如果用來做對比的話,他跟監督學習,無監督學習是類似的,是一種統稱的學習方式。

強化學習就像是一個小孩子學習如何玩遊戲一樣。小孩通過與遊戲的互動,試錯和經驗積累,學會了如何做出最好的決策,使得自己的遊戲技術慢慢變強,然後拿到了越來越多的獎金,同時也激勵着他更加努力鑽研遊戲技術,最終使得遊戲技術越來越厲害。而智能體也是通過觀察環境的狀态,選擇行動并接收來自環境的獎勵或懲罰,進而逐漸學會做出最佳決策來最大化長期累積的獎勵。

第一次見有人把人工智能強化學習講的這麼通俗易懂!

談到強化學習我們就不得不了解下面這些概念?

  • 智能體(Agent):智能體是強化學習系統中的決策者,它負責觀察環境、選擇行動并與環境進行互動。智能體可以是一個機器人、一個虛拟角色或一個算法模型,它通過學習和優化政策來做出最佳決策。
  • 環境(Environment): 環境是智能體所處的外部世界,它對智能體的行動做出響應并提供觀測和獎勵。環境可以是一個模拟的虛拟世界,也可以是真實世界中的實體環境。智能體與環境的互動過程構成了強化學習的學習環境,在上圖中,環境就是整個遊戲過程中需要躲避各種水管。
  • 狀态(State): 狀态是描述環境的資訊,它可以是完整的環境觀測,也可以是經過處理和抽象的表示。狀态包含了智能體在決策過程中需要考慮的關鍵資訊,它對于智能體選擇行動具有重要影響。
  • 行動(Action): 行動是智能體根據觀測和政策所選擇的決策動作。行動可以是離散的,比如在遊戲中選擇移動的方向,也可以是連續的,比如在機器人控制中選擇控制信号的數值。
  • 觀測(Observation): 觀測是智能體通過感覺環境擷取的資訊,它用于描述智能體對環境的認知。觀測可以是完整的環境狀态,也可以是對狀态進行部分觀測或抽象得到的資訊。觀測的品質和準确性直接影響智能體做出決策的效果。
  • 獎勵(Reward): 獎勵是環境根據智能體的行動給予的回報信号,用于評估行動的好壞。獎勵可以是即時的,表示目前行動的好壞程度,也可以是延遲的,表示長期累積的獎勵。智能體的目标是通過最大化累積獎勵來學習并做出最優的決策。
  • 政策(Policy): 政策是智能體在特定狀态下選擇行動的規則或政策函數。政策可以是确定性的,即給定狀态直接選擇一個行動,也可以是随機性的,按照一定的機率分布選擇行動。智能體通過學習和優化政策來使得在不同狀态下選擇最優行動。
  • 值函數(Value Function): 值函數用于評估智能體在特定狀态下采取某個行動的好壞程度。值函數可以是狀态值函數(State Value Function),用于評估智能體在某個狀态下的累積獎勵;也可以是動作值函數(Action Value Function),用于評估智能體在某個狀态下采取某個行動後的累積獎勵。值函數的學習和優化是強化學習中的核心任務之一。
  • 模型(Model): 模型是對環境的一種内部表示,可以用于模拟環境的動态變化。模型可以預測環境的下一個狀态和獎勵,幫助智能體進行規劃和決策。在強化學習中,使用模型的方法被稱為模型預測控制。

那麼強化學習如何進行疊代訓練的呢?

首先,我們需要定義一個環境,它可以是真實世界中的實體環境、模拟器或者虛拟環境。環境包含智能體所處的狀态空間、可執行的動作空間以及與智能體的互動規則。

然後,确定獎勵信号,在強化學習中,智能體通過獎勵信号來評估其行為的好壞。獎勵信号可以根據任務的目标定義,例如,在遊戲中獲勝得到正獎勵,失敗得到負獎勵。獎勵信号的設計對于訓練效果具有重要影響。

再就是定義政策,政策是智能體在給定狀态下選擇動作的規則。政策可以是确定性的(直接映射狀态到動作),也可以是随機的(根據機率分布選擇動作)。智能體的目标是通過學習找到最優的政策,以最大化累積獎勵。

然後,我們讓智能體開始與環境進行互動。在每個時間步,智能體觀察環境的目前狀态,并根據其政策選擇一個動作執行。執行動作後,環境根據互動規則轉移到下一個狀态,并給出相應的獎勵信号。這個過程會一直進行,直到達到終止條件。

最後更新政策,在每個時間步,智能體會根據觀察到的狀态、選擇的動作和獲得的獎勵來更新其政策。更新政策的方式通常是通過基于獎勵信号的價值估計來評估動作的好壞,例如使用值函數或者Q值函數。智能體使用這些估計值來調整政策,使得選擇更優的動作。

需要注意的是在每個時間步,智能體接收到環境的目前狀态作為輸入。狀态可以是離散的,也可以是連續的,取決于具體的問題。狀态可以包含各種資訊,如位置、速度、傳感器讀數等,以描述環境的特征。

而輸出則是智能體根據目前的狀态和學習到的政策,選擇一個動作作為輸出。動作可以是離散的,例如向左移動、向右移動等;也可以是連續的,例如控制力的大小或角度的變化。輸出的動作将影響智能體與環境的互動,進而引起環境狀态的變化。

訓練過程中,智能體通過與環境的互動獲得輸入和輸出。智能體觀察環境的目前狀态作為輸入,然後根據學習到的政策選擇一個動作作為輸出,并執行該動作。

随後,環境根據智能體的動作和互動規則轉移到下一個狀态,并給出相應的獎勵信号。這個過程不斷重複,直到達到終止條件。智能體根據觀察到的狀态、選擇的動作和獲得的獎勵信号來更新政策,以逐漸改進決策能力。通過多次訓練疊代,智能體的政策逐漸優化,以實作最優決策的目标。

說了那麼多,最後來總結一下:

強化學習的過程可以簡單概括為智能體與環境的互動學習過程。智能體通過觀察環境的狀态選擇行動,然後根據環境的回報獲得獎勵,并更新自身的狀态。智能體的目标是通過學習經驗來優化政策,以在給定狀态下選擇最佳行動,進而最大化累積獎勵。這一過程中,智能體通過不斷嘗試和學習,逐漸提高決策的準确性和效果,這就是所謂的強化學習的整個過程啦。

關注我,每天進步一點點![靈光一閃]

繼續閱讀