增強學(xué)習(xí)(二)

七. 泛化和函數(shù)近似

問題:目前為止,我們假設(shè)值函數(shù)的估計都是用一個表,如Q-table.但是,這個表有局限,因為它局限于狀態(tài)數(shù)和行為數(shù)較少的例子。因為如果狀態(tài)數(shù)和行為數(shù)較大,一方面需要很多的內(nèi)存,另一方面將數(shù)據(jù)填充進(jìn)表格也需要耗費很多的時間。所以,這個是耗時耗空間的。因此,需要有一種方法,將有限的狀態(tài)子空間的子集經(jīng)驗泛化到一個很大的子集中,從而產(chǎn)生好的近似。

解決:這種泛化的方法叫做函數(shù)近似(function approximation)。函數(shù)近似是從一個想得到的函數(shù)(value function)進(jìn)行抽樣,試圖泛化他們來構(gòu)建一個完整的函數(shù)的近似。

7.1 值估計和函數(shù)近似?

本章的新穎之處在于,近似函數(shù)Vt代表的不是一個表,而是用參數(shù)向量參數(shù)化的一個函數(shù)。這意味著值函數(shù)Vt完全依賴于參數(shù)向量,隨著每個時間步長的變化而變化。

均方根誤差(MSE)用來估計值函數(shù)近似方法。

Backup??

7.2 梯度下降法

梯度下降法通過調(diào)整每個樣本后沿著誤差下降最快的方向調(diào)整參數(shù)向量:

在線梯度下降TD(入)用于V估計的算法:

7.3 線性模型

用feature vectors來表示states

7.3.1 粗糙編碼

??

7.3.2 Tile Coding

??

7.3.3 徑向基函數(shù)

??

7.4 函數(shù)近似的控制

八.? Hierarchical ?Reinforcement Learning

有一些情況,就是reward的間隔很久。比如對機器人來說,只有撿到垃圾并且放到倉庫中才能獲得reward,那么這之間的delay將變得很大。因此,需要將reward進(jìn)行shape。

解決方法就是添加intermediate? reward,將目標(biāo)分解成一個個的subgoal。所以,這個想法就是Hierarchical? Reinforcement Learning。但是,這樣就把這個問題從MDP變成SMDP.

8.1 SMDP

SMDP: The amount of time between one decision and the next is arandom variable(either real or integer valued). 也就是說,和MDP不同的是,決策與下個決策之間的時間間隔是隨機的。MDP是假設(shè)每一個constant時間間隔。與MDP不同的是,就多加了一個時間間隔t.

還有一個有顯著不同的地方就是reward的定義:

對于前者是適用于離散的時間空間,對于后者用于連續(xù)的時間空間。

8.2 Option

The option is a behaviour defined in terms of: o={Io,πo,βo}

Io: Set of states in which o can be initiated.

πo(s): Policy(mapping S to A)§ when o is executing.

βo(s) : Probability that o terminates in s.

MDP + Options = SMDP

九. Partial Observability and the POMDP Model

Partial observability: 部分可觀,其實就是狀態(tài)未知,但是知道狀態(tài)的觀測值。

舉個例子,有A,B 兩種狀態(tài)。Agent一開始可能在兩種狀態(tài)中的一種,并且有兩種可能的action, 要么stay, 要么move。 在A的時候utility0 為0, B的時候utility為1。從A出發(fā)只有0.9的概率會達(dá)到B,0.1的概率出發(fā)然后回到A,從B出發(fā)同理。

MDP:

已知agent一開始是在狀態(tài)A,

Q(A, stay) = Uo + [0.9 * 0 + 0.1 * 1] = 0 + 0.1 = 0.1

Q(A, move) = Uo + [0.1 * 0 + 0.9 * 1] = 0 + 0.9 = 0.9

Umax = Max( Q(A, stay), Q(A, move) ) = move

已知agent一開始是在狀態(tài)B,

Q(B, stay) = Uo + [0.9 * 1 + 0.1 * 0] = 0.9 + 1 = 1.9

Q(B, move) = Uo + [0.1 * 1 + 0.9 * 0] = 0.1 + 1 = 1.1

Umax = Max( Q(B, stay), Q(B, move) ) = stay

POMD: 由于信息不完全,可能一開始agent并不知道自己在A還是在B,于是需要給分別可能在A,或者B的可能性賦予權(quán)重,

權(quán)重:假設(shè)有0.4的可能一開始在A,0.6的可能性一開始在B。

U (stay) =? 0.4 * 0.1 +? 0.6 * 1.9 = 1.18

U (move)? = 0.4 * 0.9 + 0.6 * 1.1 = 1.02

1. value function over belief space:

因為狀態(tài)不可觀測,所以agent需要依賴于基于狀態(tài)的先驗概率來做決定。

b是agent狀態(tài)的一個概率估計。

由于每個b是一個概率分布,因此在POMDP中每個value都是整個概率分布的函數(shù)。這將成為問題,因為概率分布是連續(xù)的。除此之外,我們要考慮belief space的巨大復(fù)雜性。

2. value function update

1. payoff(return)?in POMDPs

因為在MDPs中,payoff是取決于系統(tǒng)的state的。然而在POMDPs中,真實的state是不知道的。所以,我們將便利所有的state然后取他們的期望payoff。

已知條件如下:

舉例:

那么:

2.? expression for v and π

由上面的reward方程可以畫圖如下:

由最后一個圖可以知道,這個是一個分段函數(shù),因此,π的表達(dá)式如下:同時, v的表達(dá)式應(yīng)運而生:

但是可以發(fā)現(xiàn),上面的v中,最后一個-1基本不起作用的,所以可以將它進(jìn)行剪枝。即只保留前兩個式子,去掉-1的。

3. propagate forward v given an observation

給一個observation z1,我們更新belief基于貝葉斯法則:

因為我們不知道下一步的測量結(jié)果是什么,所以我們要計算belief的期望:

4. state transitions

當(dāng)agent選擇u3的時候,狀態(tài)會發(fā)生改變。當(dāng)我們計算value function的時候,我們不得不將這個潛在的狀態(tài)改變考慮進(jìn)去。

所以,最終的value function如下:考慮到agent從t1時刻切換到t2時刻可以先采取u1,u2,u3的任意一個行為之后再采取u1或者u2,所以我們得到t2時刻的value function:

(咋求的???)

5. 重復(fù)1-4的步驟

3. pruning

如果沒剪枝的話上面的例子,T=20的時候,就達(dá)到10的547864次方的線性方程數(shù),如果剪枝了,在T=20的時候,才12個。

總而言之,POMDPs只能成功運用于小的state space和小的可能的觀測值的盡可能少的action的場景中。

十. ?逆向增強學(xué)習(xí)

我們知道強化學(xué)習(xí)背后的假設(shè)是馬爾科夫決策過程 (MDP)。馬爾可夫決策過程是基于馬爾可夫過程理論的隨機動態(tài)系統(tǒng)的決策過程,其分五個部分:狀態(tài)集 (states),動作集 (Action),轉(zhuǎn)移概率,獎勵函數(shù),衰減因子。

有時候我們不知道轉(zhuǎn)移概率和激勵函數(shù),便讓系統(tǒng)探索環(huán)境。在探索過程中,環(huán)境根據(jù)我們未知的轉(zhuǎn)移概率和激勵函數(shù),確定下一個狀態(tài)和給出激勵。這一類強化學(xué)習(xí)被稱為模型無關(guān)的強化學(xué)習(xí)。逆向強化學(xué)習(xí)更極端:系統(tǒng)進(jìn)行探索的過程中,環(huán)境不給出獎勵。一般的強化學(xué)習(xí)的訓(xùn)練數(shù)據(jù)是{s1,a1,r1,...,sn,an,rn},而逆向強化學(xué)習(xí)的訓(xùn)練數(shù)據(jù)是一組軌跡{ζ=s1,a1,...,sn,an}。

逆向增強學(xué)習(xí)和增強學(xué)習(xí)的對比如下:

1. Behavioural Cloning

為什么人們要發(fā)明逆向強化學(xué)習(xí)呢?說一個場景,訓(xùn)練自動導(dǎo)航機器人,我們拿到的出租車司機的行為數(shù)據(jù)是一組軌跡{ζ=s1,a1,...,sn,an},我們無法獲得司機在一個地址做了一個動作的即時獎勵??梢杂糜斜O(jiān)督學(xué)習(xí)處理這個問題,分類器的輸入是地點,輸出是動作。這種方法被稱為行為克隆 (Behavior Cloning)。行為克隆有兩個缺陷。一個是導(dǎo)航本質(zhì)上是強化學(xué)習(xí)的范疇。導(dǎo)航行為的優(yōu)劣是由整體用時決定的,整體用時只有在最后才知道,具有強化學(xué)習(xí)教師信號延遲特點。另一個是行為克隆只學(xué)習(xí)司機的行為,并沒有深究司機的動機。

行為克隆就是使用監(jiān)督學(xué)習(xí)去找到以{(st, at|t belongs to T }表示的數(shù)據(jù)。換句話說,就是找到一個策略去最小化誤差。

限制評估者家族的策略和選擇訓(xùn)練集T,測試集T‘,以避免overfitting,從而有一定程度的泛化是可能的。但是,這個是不足的。為什么呢?

1. 機器人是不靈活的,不能改變目標(biāo)。

2. 當(dāng)需要多于當(dāng)前狀態(tài)以執(zhí)行(例如,當(dāng)環(huán)境輕微地非馬爾可夫)時,這種策略將表現(xiàn)不佳。

2. InverseReinforcement Learning

用人話來說,就是給定observation,找出reward是怎么分布的。換句話來說,就是找到一系列的reward的定義規(guī)則以至于找到最佳的policy。和以前的增強學(xué)習(xí)不同的是,以前的增強學(xué)習(xí)是已知reward然后去尋找最佳的policy,而逆向增強學(xué)習(xí)則是尋找reward怎么定義的。

從數(shù)學(xué)角度上說,

π*僅僅是源于給定的軌跡。那么,要如何去計算期望呢?

我們可以利用樣本的平均值去代替期望:

那么問題又來了,這個是基于value的方程,那么我們要學(xué)習(xí)的是reward。如何將reward和value結(jié)合起來呢?

那么,獲得最優(yōu)的Reward的條件是什么呢?首先是要獲得最優(yōu)的action,然后從這個最優(yōu)的action推到最優(yōu)的reward。

所以,獲得最優(yōu)reward的條件有兩個:

1. 向量R使得策略π最優(yōu)

2. 每一步的π的偏差盡可能的大

對于第二個條件,我們有:

我們希望得到較小的reward但是能得到同樣的效果。(奧科姆剃須刀原理:切勿浪費較多東西去做,用較少的東西,同樣可以做好的事情。)為了達(dá)到這個目的,我們用一個懲罰系數(shù)去懲罰reward。

3. Function Approximation

通常,在巨大的state space的問題中,我們希望用通過限制搜索來使reward盡可能簡單。所以我們設(shè)想用線性的方式表達(dá)reward。所以有:

其中,最優(yōu)化的條件如下:

十一.? Exploration and Controlled Sensing

11.1 Bayesian Updating

關(guān)于我們認(rèn)為系統(tǒng)行為特征的參數(shù)的概率性陳述。我們關(guān)注于性能的不確定性。解決這種性能不確定性(e.g: policy, choice..),我們有兩種方法:概率論和貝葉斯論。

我們聚焦于貝葉斯論解決這個問題。貝葉斯從關(guān)于參數(shù)的初始belief開始,并結(jié)合先前的測量來計算后面的。

先驗概率:

最優(yōu)的policy 是使得u盡可能的高效。

belief的更新


11.2 Information Acquisition and VoI

通??梢允褂脤⒑唵螞Q策問題背景下的不確定性問題相結(jié)合的模型來捕獲信息的好處。接下來通過一個具體的例子來說明這些好處。

Simple Game as a Decision Tree

在沒有任何信息N幫助的條件下,贏的概率是p。那么期望值可以表示如下:

pR-(1-p):其實是贏的概率p乘以回報R,以及輸?shù)母怕?-p乘以回報-1.

Informative Signal: 在比賽之前,我們有權(quán)決定要不要獲取信息信號S(比如,可以購買報告或者上網(wǎng)查詢相關(guān)信息). 但是這個信息信號可以是好的(g),也可以是壞的(b),我們假設(shè)這個信號將正確地預(yù)測結(jié)果, 有概率q:

Value of the Signal:

首先,我們需要了解信號如何改變游戲的預(yù)期收益。在給定信號S為good/bad的條件下,游戲的條件值如下:

接著,我們需要找到游戲的價值,因為我們已經(jīng)決定獲取信號,但在我們知道它的實現(xiàn)之前。

因為上面的式子才已知條件概率的部分,現(xiàn)在還需要知道非條件概率的部分:

此外,我們要知道,基于已知信號S, 贏得比賽或者輸?shù)舯荣惖母怕剩ㄓ秘惾~斯):

最后,我們讓S表示需要在比賽之前獲得信息信號,所以已知信息信號S的期望值為:

Marginal Value of Information(信息的邊際值)

假設(shè)我們有兩個選擇,即什么都不干(reward=0),或者是獲得任意一個服從均值是μ的reward。假設(shè)我們關(guān)于μ的prior belief通常以均值和精度分布:

假設(shè)我們獲得了測量值w1,....wn.但是W有不知道的均值μ和知道的精度Bw,并且我們試驗了n次,那么,我們估計的值的精度為:

那么我們估計值的更新如下(用貝葉斯):

用一個隨機變量(var)去獲得關(guān)于reward的belief,并且用這個來決策我們是否要去比賽:

Value of Information: Maximum price one should pay for knowing the actual value of an uncertainty before deciding on a course of action.

用一個z表示服從于均值為0,方差為1的正態(tài)分布,那么:

當(dāng)我們有了n次的測量值,我們就可以根據(jù)這個value去選擇我們是否要去比賽:Information gain and use in exploration:

exploration是控制移動機器人,以最大限度地了解外部世界。比如機器人需要獲取靜態(tài)環(huán)境的映射。如果我們將地圖表示為“占用網(wǎng)格”,則探索是最大限度地提高每個網(wǎng)格單元的累積信息。POMDP已經(jīng)包含此功能,但是我們需要定義一個適當(dāng)?shù)氖找婧瘮?shù)。一個好的選擇是信息獲取(Information gain):減少機器人belief的熵作為其行為的函數(shù)

Exploration Heuristics(啟發(fā)式探索):

greedy method

十二.? Multi-agent Reinforcement Learning

12.1 On Self-Interest

這不一定意味著機器人們想要造成對方的傷害,或者甚至只關(guān)心自己。反之,這意味著每個機器人都有他們自己對于當(dāng)前世界state的描述,這可以包括對其他機器人來說是好的事情。

一個簡單的例子來說明action space是怎么定義的(取兩個action行為的積):

一個簡單的例子(錘子剪刀布)來說明payoff是怎么定義的(bi-matrix):

R=Rock, P=paper, S=scissor

12.2 payoff

12.2.1 ?common-payoff(pure coordinate)

對于所有的行為,任意的兩對兒agent,他們得到的結(jié)果都是一樣的。比如,最簡單的,靠路的一邊行走。

12.2.2 ?Constant Sum(Pure competition):

有一個常量c,對每組策略,A1xA2, 他們的回報R(A1)+R(A2) = c.也就是有一個想妥協(xié),有一個堅決不妥協(xié),唱反調(diào)。

12.3 ?Strategies

12.3.1? Dominance

Dominance:如果有另一個行為更好,那么這個行為將一直受控。

比如囚徒問題。

Iterated Dominance:行為總是被混合的策略控制。

12.3.2? Minimax

minimax optimal strategy.

12.4 Equilibrium

12.4.1 Nash Equilibrium

納什平衡就是一個聯(lián)合的策略,所有的agent都對對方給出最佳的反應(yīng)。因為每個agent都是給出最佳的反應(yīng),所以沒有一個agent能單方面的得到額外的好處。

12.5 Game

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一. 增強學(xué)習(xí)簡介 1.1 什么是增強學(xué)習(xí)? 機器學(xué)習(xí)的算法可以分為三類:監(jiān)督學(xué)習(xí),非監(jiān)督學(xué)習(xí)和增強學(xué)習(xí)。 增強學(xué)...
    阿阿阿阿毛閱讀 31,701評論 0 25
  • 強化學(xué)習(xí)(Reinforcement Learing),機器學(xué)習(xí)重要分支,解決連續(xù)決策問題。強化學(xué)習(xí)問題三概念,環(huán)...
    利炳根閱讀 3,851評論 0 4
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評論 19 139
  • 突然興起想給五年后的自己寫封信 25歲的你已經(jīng)大學(xué)畢業(yè)三年啦 真不敢相信時光飛逝小小的你都25歲了 三年的社會歷練...
    萌萌是個好姑娘閱讀 490評論 0 0
  • 【怦然心動】20170507學(xué)習(xí)力踐行day53 指讀我把夏天裝進(jìn)口袋里。這本書挺好的,每句話中的每個詞都用不同的...
    怦然心動818閱讀 238評論 0 0

友情鏈接更多精彩內(nèi)容