1. 程式人生 > >David Silver深度強化學習-1-學習筆記

David Silver深度強化學習-1-學習筆記

最近需要學習POMDP相關的東西,奈何需要學習的東西較多。之前沒接觸過強化學習,找了個視訊找了本書看。將一下東西記錄下來吧。 視訊地址:David Silver強化學習課程 參考部落格:

強化學習簡介

核心思想

在強化學習的主要核心就是: 通過agent觀察的Environment的變化(稱之為observation),來決定採取不同的動作(action),使未來獲得的獎勵(reward)最大。

Agent and Environment

在這裡插入圖片描述 如上圖。在一個時間序列過程中,每個時間步t對agent和environment都有影響。 對agent來說,在每一個時間步長中,要進行如下操作:

  1. 執行動作
  2. 觀察環境變化
  3. 計算執行此動作的reward

對環境environment來說,執行的操作與agent對應:

  1. 接收agent的動作
  2. 觀察environment的變化,傳送observation給agent
  3. 傳送reward值給agent

History and State

這裡引入這兩個概念:

  • History 由observations, actions, rewards組成的一個序列
  • state 決定下一個時間步將會發生什麼的表示

定義公式如下:

  • HtH_t = O1O_1,A1A_1,R1R_1OtO_t,AtA_t,RtR_t

狀態由History決定:

  • StS_t = f(Ht)f(H_t)

一般地,將History state定義為一個Markov state,即下一時間步的狀態S(t+1)S_{(t+1)}只和當前狀態StS_t有關,與再之前的資訊無關。

Major Components of an RL Agent

agent一般由下列三部分組成,也可不同時存在

  • policy 策略
  • Value function 值函式
  • Model 模型

policy 策略

  • A policy is the agent’s behavior
  • It is a map from state to action
  • Deterministic policy: a = π
    π
    (s) 確定策略
  • Stochastic policy: π(as)π(a|s) = P[At=aSt=s][At=a|St=s] 隨機策略

Value function(值函式)

它預測了當前狀態下未來可能獲得的reward的期望,用於衡量當前狀態的好壞。 公式: VπSV_π(S) = Eπ[Rt+1+γRt+2+St=s]E_π[R_{t+1}+ γR_{t+2}+···|S_t = s] 表示當前狀態s下,未來n個時間步獲得reward的期望值

Model(模型)

預測environment下一步會做出什麼樣的改變,從而預測agent接收到的狀態或者reward是什麼。

  • P模型預測環境的下一個狀態
  • R模型預測下一個reward

探索和利用

強化學習是一種試錯(trial-and-error)的學習方式:最開始的時候不清楚environment(環境)的工作方式,不清楚執行什麼樣的action(行為)是對的,什麼樣的action(行為)是錯的。因而agent需要從不斷嘗試的經驗中發現一個好的policy,從而在這個過程中獲取更多的reward。

在學習過程中,會有一個在Exploration(探索)和Exploitation(利用)之間的權衡。

  • Exploration(探索)會放棄一些已知的reward資訊,而去嘗試一些新的選擇——即在某種狀態下,演算法也許已經學習到選擇什麼action讓reward比較大,但是並不能每次都做出同樣的選擇,也許另外一個沒有嘗試過的選擇會讓reward更大,即Exploration希望能夠探索更多關於environment的資訊。

  • Exploitation(利用)指根據已知的資訊最大化reward。