强化学习基本概念
一、概述
直觀上來說,強化學(xué)習(xí)是智能體與環(huán)境不斷交互,從而不斷強化自己的決策能力的過程。
首先環(huán)境(Env)會給智能體(Agent)一個觀測值(Observation)(有時也稱狀態(tài)State),智能體接收到環(huán)境給的觀測值之后會做出一個動作(Action),環(huán)境接收到智能體給的動作之后會做出一系列的反應(yīng),例如對這個動作給予一個獎勵(Reward),以及給出一個新的觀測值。
智能體根據(jù)環(huán)境給予的獎勵值去更新自己的策略(Policy)。可以說,強化學(xué)習(xí)的目的就是為了得到最優(yōu)的策略。那么什么是策略?接下來介紹強化學(xué)習(xí)中的一些基本概念。
二、基本概念
1、策略Policy
Policy是智能體的行為函數(shù),是一個從狀態(tài)到動作的映射,它告訴智能體如何挑選下一個action。
強化學(xué)習(xí)中有兩類policy: Deterministic policy和Stochastic policy。前一種又稱確定性策略,即對于這個映射,輸入一個狀態(tài),輸出的是某一個確定的action。后一種是不確定性策略,即對于這個映射,輸入一個狀態(tài),輸出的是每個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?)是一個反饋信號,是一個數(shù)值,表明這個智能體在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),是一個由用戶決定的參數(shù)。
智能體的任務(wù)就是去最大化累積獎勵。然而由上面的式子我們可以看出,一條樣本(即一個episode)對應(yīng)一個Return,而episode是不確定的,有很多種可能發(fā)生的情況,因此Return是一個變量。
由此智能體的任務(wù)是最大化累積獎勵的期望,即下面的值函數(shù)。
5、值函數(shù)Value Function
一個狀態(tài)state s對應(yīng)的值函數(shù)為 Vπ(s)=Eπ(Gt∣St=s)V_\pi(s) = E_\pi(G_t | S_t = s)Vπ?(s)=Eπ?(Gt?∣St?=s)這種值函數(shù)也稱狀態(tài)值函數(shù)。對給定的s, V(s)是一個確定的值。它表示,從state s開始,遵循策略(\pi)時的return的期望值。
還有一種值函數(shù)稱為狀態(tài)動作值函數(shù): 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的期望值。
三、強化學(xué)習(xí)中的兩類問題
智能體的學(xué)習(xí)過程是一個反復(fù)與環(huán)境進行交互,不斷試錯又不斷進步的過程。在這個迭代過程中的每一步,我們需要完成強化學(xué)習(xí)中的兩個問題:
1、Prediction 即給定一個策略,求值函數(shù)
2、Control 根據(jù)值函數(shù)尋找最優(yōu)策略
之后會在具體的強化學(xué)習(xí)算法中看到這兩個問題是如何被解決的。
四、強化學(xué)習(xí)與傳統(tǒng)機器學(xué)習(xí)的區(qū)別
1、不同于傳統(tǒng)機器學(xué)習(xí)的有監(jiān)督或無監(jiān)督,強化學(xué)習(xí)基于的是reward。
2、強化學(xué)習(xí)的數(shù)據(jù)是有序的,而傳統(tǒng)機器學(xué)習(xí)的數(shù)據(jù)是iid的。因此傳統(tǒng)機器學(xué)習(xí)的分布式系統(tǒng)對于強化學(xué)習(xí)不可用。
3、智能體的動作對于后續(xù)接收到的數(shù)據(jù)有影響。
參考資料:
David Silver的課程:www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html
https://wanjun0511.github.io/2017/11/04/強化學(xué)習(xí)-基本概念/
總結(jié)
- 上一篇: 在VS2010下运行Qt程序
- 下一篇: 营销获客场景下的个人类业务要件分析