强化学习基本概念
一、概述
直觀上來說,強化學習是智能體與環境不斷交互,從而不斷強化自己的決策能力的過程。
首先環境(Env)會給智能體(Agent)一個觀測值(Observation)(有時也稱狀態State),智能體接收到環境給的觀測值之后會做出一個動作(Action),環境接收到智能體給的動作之后會做出一系列的反應,例如對這個動作給予一個獎勵(Reward),以及給出一個新的觀測值。
智能體根據環境給予的獎勵值去更新自己的策略(Policy)。可以說,強化學習的目的就是為了得到最優的策略。那么什么是策略?接下來介紹強化學習中的一些基本概念。
二、基本概念
1、策略Policy
Policy是智能體的行為函數,是一個從狀態到動作的映射,它告訴智能體如何挑選下一個action。
強化學習中有兩類policy: Deterministic policy和Stochastic policy。前一種又稱確定性策略,即對于這個映射,輸入一個狀態,輸出的是某一個確定的action。后一種是不確定性策略,即對于這個映射,輸入一個狀態,輸出的是每個action的概率。
2、Episode
一個Episode由一系列的observation, reward, action組成。 (O1,A1,R2,...,OT?1,AT?1,RT,OT)(O_1, A_1, R_2, ..., O_{T-1}, A_{T-1}, R_T, O_T)(O1?,A1?,R2?,...,OT?1?,AT?1?,RT?,OT?) 從initial observation到terminal observation。
3、獎勵Reward
獎勵(Rt)(R_t)(Rt?)是一個反饋信號,是一個數值,表明這個智能體在step t 時做得有多好。
4、Return
又稱累積折扣獎勵(cumulative discounted reward)。step t 時的return為 Gt=Rt+1+γRt+2+γ2Rt+3+...G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + ...Gt?=Rt+1?+γRt+2?+γ2Rt+3?+... 其中(γ)(\gamma)(γ)表示折扣因子,表示你對之后得到的reward的重視程度。(0<=γ<=1)(0<=\gamma<=1)(0<=γ<=1),是一個由用戶決定的參數。
智能體的任務就是去最大化累積獎勵。然而由上面的式子我們可以看出,一條樣本(即一個episode)對應一個Return,而episode是不確定的,有很多種可能發生的情況,因此Return是一個變量。
由此智能體的任務是最大化累積獎勵的期望,即下面的值函數。
5、值函數Value Function
一個狀態state s對應的值函數為 Vπ(s)=Eπ(Gt∣St=s)V_\pi(s) = E_\pi(G_t | S_t = s)Vπ?(s)=Eπ?(Gt?∣St?=s)這種值函數也稱狀態值函數。對給定的s, V(s)是一個確定的值。它表示,從state s開始,遵循策略(\pi)時的return的期望值。
還有一種值函數稱為狀態動作值函數: Qπ(s,a)=Eπ(Gt∣St=s,At=a)Q_\pi(s, a) = E_\pi(G_t | S_t = s, A_t = a)Qπ?(s,a)=Eπ?(Gt?∣St?=s,At?=a)它表示,從state s開始, 采取動作a,遵循策略(\pi)時的return的期望值。
三、強化學習中的兩類問題
智能體的學習過程是一個反復與環境進行交互,不斷試錯又不斷進步的過程。在這個迭代過程中的每一步,我們需要完成強化學習中的兩個問題:
1、Prediction 即給定一個策略,求值函數
2、Control 根據值函數尋找最優策略
之后會在具體的強化學習算法中看到這兩個問題是如何被解決的。
四、強化學習與傳統機器學習的區別
1、不同于傳統機器學習的有監督或無監督,強化學習基于的是reward。
2、強化學習的數據是有序的,而傳統機器學習的數據是iid的。因此傳統機器學習的分布式系統對于強化學習不可用。
3、智能體的動作對于后續接收到的數據有影響。
參考資料:
David Silver的課程:www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html
https://wanjun0511.github.io/2017/11/04/強化學習-基本概念/
總結
- 上一篇: 在VS2010下运行Qt程序
- 下一篇: 营销获客场景下的个人类业务要件分析