楊 瑞
(天津大學數學學院 天津 300072)
強化學習(Reinforcement Learning)[1]是解決這樣一個問題的機器學習分支:智能體(Agent)與環(huán)境交互,如何自動地學習到最佳策略以使自身獲得最大回報(Rewards)。最近 AlphaGo[2]擊敗了人類頂尖圍棋職業(yè)選手,其核心技術之一就是強化學習。強化學習在現(xiàn)代人工智能學中有著舉足輕重的地位,有著廣泛的應用前景[3~4]。
強化學習是一種不告訴Agent如何去正確地決策,而是讓Agent自己去探索環(huán)境,在與環(huán)境交互的過程獲得知識,不斷優(yōu)化策略。Agent 與環(huán)境交互的過程如下:
1)Agent感知當前環(huán)境狀態(tài)s;
2)針對當前環(huán)境狀態(tài)s,Agent根據當前行為策
馬爾科夫決策過程(MDPs)是強化學習的基本框架[5],可以由四元組< S ,A ,P,R>來表達。 S 是系統(tǒng)的有限狀態(tài)集,A 是Agent 的有限動作空間,動作用來控制系統(tǒng)的狀態(tài)轉移,:S×A×S'→[0,1]為Agent執(zhí)行動作a 之后,系統(tǒng)由狀態(tài)s轉向s'的概率。:S'×A×S'→1R 表示當 Agent 執(zhí)行動作a,系統(tǒng)由狀態(tài)s 轉到狀態(tài) s'后,系統(tǒng)反饋給略選擇一個動作a;
3)當Agent選擇a,環(huán)境由狀態(tài)s 轉移到當前狀態(tài) s',并給出獎賞值(Rewards)R;
4)環(huán)境把R反饋給Agent。
如此循環(huán)此過程,直至終止狀態(tài),在這個過程中,并沒有告訴Agent 如何采取動作,而是Agent 根據環(huán)境的反饋自己發(fā)現(xiàn)的。
Agent的rewards。
策略(policy)定義了Agent 在給定狀態(tài)下的行為方式,策略決定了 Agent 的動作。 π:S×A →[0,1],π(s,a)表示在狀態(tài)s 下,執(zhí)行動作 a 的概率。
在MDP 中,還定義了兩種值函數(Value Function):狀態(tài)值函數Vπ(s)(State Value Function)和狀態(tài)-動作值函數 Qπ(s,a)(State-act Value Function)。
Vπ(s)表示 Agent 從狀態(tài) s 開始,根據策略 π 所獲得的期望總回報(Rewards):
類似地:
值函數的確定了從一個狀態(tài)出發(fā),按照π 所能獲得的期望總回報。
由于MDP 中,狀態(tài)轉移滿足Markov 性,1957年,Bellman證明了他的著名方程[6]:
類似地:
由此可知:系統(tǒng)的狀態(tài)轉移矩陣和回報均已知,則易求出Vπ(s)和 Qπ( )s,a強化學習的目標是導出最優(yōu)策略π*:
MDPs 為強化學習提供了統(tǒng)一的框架,但實際問題中有如下幾個問題:
1)“維數災難”:狀態(tài)空間超級巨大,要學習的參數隨著狀態(tài)空間的維數指數級爆炸。
2)收斂速度慢:很多強化學習算法的收斂性分析都要依賴“任意狀態(tài)都要被無數次訪問到”這樣的前提條件。
3)很多實際問題,我們是無法獲得系統(tǒng)的狀態(tài)轉移概率和回報函數的,對這種情況建立模型的算法稱為模型未知的強化學習算法。
最近,有研究人員提出 Q(σ) 算法來估計Qπ(s,a),并且原文作者通過實驗發(fā)現(xiàn)收斂效果很好。本文將對Q(σ)的收斂性給予一個證明。
時間差分算法(Temporal Difference)是強化學習最核心的一類算法,這項工作首次是在Suton 1988[7]年提出的。這類算法不需要知道系統(tǒng)的狀態(tài)轉移矩陣,能夠直接學習。假設Agent 在與環(huán)境交互中產生的一個軌道為
其中sT是終止狀態(tài)。
Sarsa[8]算法是根據上述軌跡來迭代 Bellman 方法的解,其名稱是由Agent學習的數據結構而來的,數據是由一個(st,at)轉移到下一個(st+1,at+1)的五元組(st,at,rt+1,st+1,at+1)
Sarsa估值計算公式為
α 為學習率,δ 稱為Sarsa算法的時間差分。
Expected Sarsa[9]:
由Sarsa 和Expected Sarsa 的迭代形式可知,Sarsa 是一個全采樣的算法,即在t 時刻,只用rt+1+γQt(st+1,at+1) 來作為目標(target)進行估值。而Expected sarsa 是采用下一狀態(tài)st+1的Q 值的期望 :來估值。根據Bellman 等式(4),從直覺上講,Expected Sarsa 的估值要穩(wěn)定一些[10]。首次證明了 Expected Sarsa 和Sarsa 有相同的 bias,但是 Expected Sarsa 的方差更小一些。
Q(σ)[11]算法的設計思想是:引入了參數 σ ,σ是采樣的程度,如果σ=0,表示no-sampling,σ=1表示full-sampling。
單步Q(σ)算法的迭代形式:
Sarsa,Expected Sarsa,Q(σ)[12~14]均可以推廣至多步的情況。
2.4.1 多步Sarsa
多步Sarsa值函數的估計公式:
多步Sarsa值函數的更新公式:
2.4.2 多步Expected Sarsa 算法,也稱多步Tree Backup算法
多步Expected Sarsa也是類似的,但有一些差別。
多步 Expected Sarsa[11]值函數的估計公式:
多步Expected Sarsa值函數的更新公式:
2.4.3 多步 Q(σ)
多步Q(σ)值函數的估計公式:
多步Q(σ)值函數的更新公式:
引理 1[15~16]:假設一個隨機過程 (ζt,Δt,Ft) ,ζt,Δt,Ft:X → R 滿足方程:
這里 xt?X,t=0,1,2,… 假設 Pt是 σ -fields 的遞增序列,ζ0,Δ0是 P0-measurable,ζt,Δt以及Ft-1是 Pt-measurable,t ≥1。假定以下條件成立:
1)X是有限集;
2)ζt( xt)?[0 ,1],∑tζt( xt)=∞,∑t(ζt( xt))2< ∞
w.p.1且?x ≠ xt:ζt( x )=0;
3)∥E{Ft|Pt} ∥≤ κ ∥ Δt∥ +ct,κ ?[ 0,1),ct依概率收斂于0;
4)Var{Ft( xt)|Pt} ≤K(1 +κ ∥ Δt∥ )2,K 是常數。
其中∥?∥表示最大模;則Δt依概率收斂到0。
定理1:在MDP 框架下,對于任意的初始化Q( s,a), ? γ ? ( 0,1) 。
Q的更新按以下方式:
令 Δn=-Qπ(s,a) ,則 有 ||Δn+1||≤γ||Δn||,Δn按最大值范數是壓縮序列,即 Δn依概率收斂于0。
證明:由數學歸納法證明之。
For n=1:
假設對n也成立:
這里I( )a?,at+1是一個指示函數:
定理2:在MDP 框架下,對于任意的初始Q( s,a),? γ ?( 0,1) 。
事實上,如果定理1中的 π(st+1,a?)滿足:
則這就是式(11)所表示的算法,也即是定理1中算法的特殊情況,由定理1 的收斂性可以得到該算法也是收斂的。
定理3:如果Q(σ)算法滿足條件:
1)狀態(tài)空間是有限集;
則Q(σ) 迭代產生的Qt(s,a) 依概率收斂于Qπ(s,a)。
定理3的證明:
Q(σ)是定理1 和定理2 所述算法的凸組合,易知 Q(σ) 迭代產生的 Qt(s,a) 依概率收斂于Qπ(s,a)。
本文以時間差分學習算法為主線,系統(tǒng)簡要地介紹了強化學習中的幾個重要估值算法,并對最近提出的一個新的時間差分學習算法Q(σ)算法作了理論分析,同時給出了Q(σ)算法的收斂性證明,這在強化學習理論研究中具有重要意義。