1. 程式人生 > >David Silver強化學習Lecture1:強化學習簡介

David Silver強化學習Lecture1:強化學習簡介

優化 計算 rod 簡介 因此 roc 課件 布局 表示


課件:Lecture 1: Introduction to Reinforcement Learning

視頻:David Silver深度強化學習第1課 - 簡介 (中文字幕)


強化學習的特征

作為機器學習的一個分支,強化學習主要的特征為:

  • 無監督,僅有獎勵信號;

  • 反饋有延遲,不是瞬時的;

  • 時間是重要的(由於是時序數據,不是獨立同分布的);

  • Agent的動作會影響後續得到的數據;


強化學習問題

獎勵(Rewards)

獎勵 \(R_t\) 是一個標量的反饋信號,表示Agent在 \(t\) 時刻的表現如何.

Agent的目標: 最大化累積獎勵(maximise cumulative reward).

強化學習基於獎勵假設(reward hypothesis).

獎勵假設(Reward Hypothesis):
所有強化學習任務的目標都可以被描述為最大化期望累積獎勵.


序貫決策(Sequential Decision Making)

目標: 選擇合適的動作最大化將來的累積獎勵.

  • 動作可能會產生長期後果;
  • 獎勵會有延遲性;
  • 犧牲立即回報可能會獲得更多的長期回報.

智能體和環境(Agent and Environment)

技術分享圖片

智能體在每個時刻\(t\)會:

  • 執行動作(Action)\(A_t\);
  • 接收觀測(Observation)\(O_t\);
  • 接收標量獎勵(Reward)\(R_t\)
    .

而環境則會:

  • 接收動作(Action)\(A_t\);
  • 產生觀測(Observation)\(O_{t+1}\);
  • 產生標量獎勵(Reward)\(R_{t+1}\).

歷史與狀態(History and State)

歷史(History):由一系列觀測,動作和獎勵構成.

\[ H_t = O_1, R_1, A_1, \dots, A_{t-1}, O_t, R_t \]

下一步將發生什麽取決於歷史:

  • 智能體選擇的action;
  • 環境選擇的observations/rewards.

狀態(State):用來決定接下來會發生什麽的信息.

狀態是歷史的函數:

\[ S_t = f(H_t) \]


環境狀態(Environment State)

技術分享圖片

環境狀態 \(S_{t}^{e}\) 是環境的私有表示,通常對於智能體來說該狀態不可見.

即使\(S_{t}^{e}\)可見,也可能包含不相關信息.


智能體狀態(Agent State)

技術分享圖片

智能體狀態 \(S_{t}^{a}\) 是智能體的內部表示,包含其用來決定下一步動作的信息,也是強化學習算法使用的信息.

可以寫成歷史的函數: \(S_{t}^{a} = f(H_t)\)


信息狀態(Information State)

信息狀態(也稱為馬爾科夫狀態): 包含歷史中所有有用的信息.

技術分享圖片

馬爾科夫狀態表明: 未來只與現在有關,而與過去無關.

其中,環境狀態\(S_t^e\)歷史\(H_t\)具有馬爾科夫性質.


Rat Example

技術分享圖片
  • 假如個體狀態=序列中的後三個事件(不包括電擊、獲得奶酪,下同),事件序列3的結果會是什麽? (答案是:電擊)

  • 假如個體狀態=亮燈、響鈴和拉電閘各自事件發生的次數,那麽事件序列3的結果又是什麽? (答案是:奶酪)

  • 假如個體狀態=完整的事件序列,那結果又是什麽? (答案是:未知)


完全可觀測環境(Fully Observable Environments)

完全可觀測性(Full observability): 智能體可以直接觀測到環境狀態,即
\[ O_t = S_t^a = S_t^e \]

  • 智能體狀態 = 環境狀態 = 信息狀態
  • 實際上是馬爾科夫決策過程(Markov Decision Process, MDP)

部分可觀測環境(Partially Observable Environments)

部分可觀測性(Partial observability): 智能體不能夠直接觀測到環境.

如,機器人不能通過攝像頭得知自身的絕對位置.

  • 智能體狀態 \(\neq\) 環境狀態
  • 部分可觀測馬爾科夫決策過程(POMDP)

此時,智能體必須構建其自身的狀態表示 \(S_t^a\),比如:

  • 完全的歷史: \(S_t^a = H_t\);
  • 環境狀態的置信度: \(S _ { t } ^ { a } = \left( \mathbb { P } \left[ S _ { t } ^ { e } = s ^ { 1 } \right] , \ldots , \mathbb { P } \left[ S _ { t } ^ { e } = s ^ { n } \right] \right)\);
  • 循環神經網絡: \(S_t^a = \sigma \left(S_{t-1}^{a}W_{s} + O_{t}W_{o}\right)\)

智能體的構成

智能體主要包含以下幾種成分:

  • 策略(Policy): 智能體的行為函數;
  • 值函數(Value Function): 每個state或action的好壞;
  • 模型(Model): 智能體對環境的表示.

策略(Policy)

  • 策略是智能體的行為;
  • 狀態動作的映射;
  • 確定性策略: \(a = \pi(s)\);
  • 隨機性策略: \(\pi(a|s) = \mathbb{P} \left[ A_{t} = a | S_{t} = s\right]\)

值函數(Value Function)

值函數是對於未來獎勵的預測.

  • 用於評價狀態的好壞;
  • 因此可以用來選擇動作.

\[ v_{\pi}(s) = \mathbb{E}_{\pi} \left[ R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots | S_{t} = s \right] \]


模型(Model)

模型用來預測環境接下來會做什麽.

  • \(\mathcal{P}\): 預測下一個狀態.
    \[ \mathcal{P}_{ss'}^{a} = \mathbb{P} \left[ S_{t+1} = s' | S_{t} = s, A_{t} = a\right] \]
  • \(\mathcal{R}\): 預測下一個(立即)獎勵.
    \[ \mathcal{R}_{s}^{a} = \mathbb{E} \left[ R_{t+1} | S_{t} = s, A_{t} = a\right] \]

Maze Example

技術分享圖片

策略表示:

箭頭表示每個狀態的策略 \(\pi(s)\).

技術分享圖片


值函數表示:

數值表示每個狀態的值 \(v_{\pi}(s)\).

技術分享圖片


模型表示:

智能體可能對環境建立內部模型

  • 網格布局表示轉移模型 \(\mathcal{P}_{ss'}^{a}\);
  • 數值表示每個狀態的立即獎勵 \(\mathcal{R}_{s}^{a}\).

    技術分享圖片

智能體的分類(Categorizing RL agents)

按智能體的成分分類:

  • 基於值函數(Value Based)
  • 基於策略(Policy Based)
  • 演員-評論家(Actor Critic)

或者按有無模型分類:

  • 無模型(Model Free)
  • 基於模型(Model Based)

    技術分享圖片

強化學習的問題

學習與規劃(Learning and Planning)

強化學習

  • 環境的初始狀態未知;
  • 智能體與環境進行交互;
  • 智能體提升其策略.

    技術分享圖片

    規劃

  • 環境的模型已知;
  • 智能體通過模型進行計算,無須與外部進行交互;
  • 智能體提升其策略

    技術分享圖片


探索和利用(Exploration and Exploitation)

強化學習是一種試錯(trial-and-error)學習.

智能體需要從與環境的交互中找到一種好的策略,同時不損失過多的獎勵.

  • 探索(Exploration): 從環境中尋找更多信息;
  • 利用(Exploitation): 利用已知信息使獎勵最大化.

探索和利用同等重要,即使根據已有信息選擇出的最優動作可以得到不錯的獎勵,不妨嘗試全新的動作對環境進行探索,也許可以得到更好的結果.


預測和控制(Prediction and Control)

  • 預測(Prediction): 對未來進行評估.

    技術分享圖片

  • 控制(Control): 最優化未來的結果.

    技術分享圖片

David Silver強化學習Lecture1:強化學習簡介