淺談強化學習與被動ADP演算法
目錄
- 導言
- 強化學習基礎
- 2.1 什麼是強化學習?
- 2.2 強化學習問題的基本設置
- 2.3 挑戰和難點
- Passive Adaptive Dynamic Programming (Passive ADP)演算法
- 3.1 啟動迴圈
- 3.2 生成經驗
- 3.3 更新獎勵函數
- 3.4 更新轉移概率
- 3.5 更新效用值
- 解決方法
- 總結
導言
歡迎大家來到這個影片,我是Alice Gao。在這個影片中,我將介紹強化學習算法的基礎知識以及我們的第一個強化學習算法——自適應動態規劃(Adaptive Dynamic Programming, ADP)。我將聚焦於ADP算法的被動版本。現在,讓我們開始吧!
強化學習基礎
2.1 什麼是強化學習?
強化學習是一種機器學習問題,介於監督學習和無監督學習之間。在強化學習問題中,我們偶爾會得到一些數值反饋,稱為獎勵或懲罰,並希望根據這些數值反饋在每個時間步中確定該做什麼。
2.2 強化學習問題的基本設置
強化學習問題通常建模為馬爾可夫決策過程(Markov Decision Process, MDP)。在MDP中,代理人會觀察狀態和獎勵,然後執行一個動作,其目標是最大化其隨時間的總折扣獎勵。
2.3 挑戰和難點
強化學習面臨著多個挑戰。首先,代理人偶爾接收獎勵,因此很難確定哪個動作或動作序列負責獎勵。其次,一個動作可能對代理人的效用產生長期影響。第三,代理人需要在探索和利用之間取得平衡。
Passive Adaptive Dynamic Programming (Passive ADP)演算法
3.1 啟動迴圈
代理人將在採取行動並生成新的經驗時進入此迴圈。
3.2 生成經驗
假設代理人處於狀態s,現在代理人根據策略π採取行動a,這導致代理人轉移到狀態s'並獲得獎勵r'。經驗包含s、a、s'和r'。
3.3 更新獎勵函數
進入狀態s'給了我們一個獎勵r'。如果我們以前沒有觀察到過這個獎勵,我們將其記錄在我們的獎勵函數中。
3.4 更新轉移概率
經驗包含一個狀態轉換,即在狀態s中採取動作a導致代理人轉移到狀態s'。我們可以利用這個更新我們的轉移概率。
3.5 更新效用值
在更新獎勵函數和轉移概率後,我們準備好估計效用值。觀察貝爾曼方程,我們可以解出效用值。
解決方法
4.1 求解效用值的方法
我們可以使用線性編程技術準確求解效用值。
4.2 迭代方法
另一種方法是使用值迭代或策略迭代等迭代方法逐步求解效用值。
總結
通過觀看本視頻,您應該能夠描述強化學習問題的基本設置,並了解被動ADP算法的步驟。感謝您的觀看,我們下個視頻再見!
精華
- 強化學習是一種機器學習問題,其挑戰在於代理人偶爾接收獎勵,以及動作可能對代理人的長期效用產生影響。
- Passive ADP演算法通過生成經驗並更新獎勵函數、轉移概率以及效用值來解決強化學