曾紀鈞 梁哲恒
(廣東電網有限責任公司信息中心 廣東 廣州 510080)(中國南方電網公司信息化評測重點實驗室 廣東 廣州 510080)
機器學習算法可以分為監督學習、非監督學習和強化學習[1]。作為一種新興的機器學習算法,強化學習由于其具有無監督的自適應能力[2]、自我學習的特性,引起了學者的極大興趣。傳統的強化學習算法有:Q學習算法、SARSA算法、Q(λ)、SARSA(λ)等[3-5]。
強化學習的訓練過程可以看成是智能體為實現目標的探索過程,也是環境對智能體動作的評價過程[3,6]。Agent根據自身策略以及狀態選擇動作,環境根據智能體的行為進行評價,反饋給Agent獎懲值。Agent根據獎懲值優化更新自身的知識庫,并根據累計獎勵值最大化的原則繼續選擇動作,最終實現目標[3]。由此可見,Agent的訓練是一個“動作—評價—動作”探索的過程,其為實現目標必須要付出較大的計算代價,會帶來訓練收斂速度慢等系列問題。
相對而言,監督式強化學習算法是一種結合導師監督評價和強化學習主動探索的方法。它結合了監督學習和強化學習的優點,通過導師指導(監督式學習)降低Agent在前期學習探索過程的難度,通過強化學習的主動探測不斷豐富Agent 的經驗,最終實現系統的最優控制,這就是監督式強化學習的思想[7-8]。
監督式強化學習有三種途徑實現導師監督:(1) 塑造成型(Shaping)。其主要思想是導師給出輔助回報函數,參與強化學習模型中環境給予Agent的匯報。(2) 標稱控制(Nominal control)。其主要思想是導師直接給出明確的控制信息。(3) 探索(Exploration),其主要思想是導師暗示那種控制可能是有效的[3,8-10]。
本文介紹了強化學習模型和算法,提出了監督式強化學習算法模型和算法,并將該算法應用到機器人路徑規劃問題當中。通過實驗對比分析顯示,監督式強化學習能有效降低系統的訓練次數,提高機器人路徑規劃的智能化水平。
強化學習的模型如圖1所示[3]。Agent與環境互動并獲得環境獎懲,根據環境給予的獎勵不斷調整自身的策略,并最終學習到最優策略。

圖1 強化學習模型
其典型的交互步驟如下所示:
1) Agent在控制決策時,根據自己的環境(狀態st)以及自身的控制策略π,采取相應的動作at。
2) 由于Agent的動作,其所屬的狀態發生了轉移,即實現st→st+1。
3) Agent根據自身的狀態轉移,從外界獲得其動作的評價(獎懲rt+1)。
4) Agent根據外界環境的評價,更新自己的知識庫(Q表),為自己的下一步動作做準備。
5) 回到第1步,Agent繼續做出決策,直到實現目標。
以上步驟為Agent的強化探索過程,當知識庫(Q表)收斂時,Agent將學習到完成任務的最優策略π*。
為實現Agent知識庫的可量化以及安全策略的可計算,定義“回報變量”Rt,用它來估算所有回報值和評價當前動作的好壞。回報變量是指Agent從t時刻開始所有獲得的所有獎懲之和,其計算公式如下:
(1)
式中:0≤γ≤1,稱為折扣系數。
由于Agent在同一狀態有多個動作可以選擇,通過定義變量“狀態值函數”Vπ(s)代表Agent處于狀態s時的期望回報值:

(2)
因此,可以通過期望的“回報變量”Vπ(s)表示Agent處于狀態s的好壞程度。
同理,可以定義“狀態-動作值函數”Qπ(s,a),表示在狀態s,采取動作a后所期望的回報值:
Qπ(s,a)=Eπ{Rt|st=s,at=a}=
(3)
Vπ(s)、Qπ(s,a)和策略π緊密相關,Agent根據它們的數值評價其所處狀態s或(s,a)的好壞,繼而選擇動作a。Agent的典型選擇策略為:動作a的選擇讓Agent在t時刻獲得“狀態-動作值函數”Qπ(s,a)最大。
由于強化學習離散模型的馬爾科夫性,容易得到:
(4)

由于式(4)對模型要求很高,需要根據模型的轉移概率才能計算出期望的狀態“回報值”Vπ(s),我們希望得到一個與模型無關的算法。利用平均的“回報值”來逼近Vπ(s):設第k-1次訓練中,狀態的“回報值”為Rk-1,那么在第k次訓練中,狀態s的“值函數”為:
(5)
根據式(5),得到相應的對應的“動作-狀態值函數”:

(6)

由于強化學習最初的訓練是隨機探索,這必然會帶來收斂慢的問題。監督式強化學習結合了監督學習導師的指導和強化學習自我學習的特性,在強化學習的基礎上引入了導師Supervisor的經驗,在Agent的探索過程中加入導師的監督指導,賦予Agent的先驗知識,加快Agent尋找最優解的過程。監督式強化學習算法模型如圖2所示[8,11]。

圖2 監督式強化學習模型
監督式強化學習的動作更新策略如下所示,
a=kaE+(1-k)aS
(7)
式中:aE代表強化學習選擇的動作;aS代表監督學習選擇的動作;k為0~1線性增加的權重系數。在初始時刻,aS的權重較大,機器人主要依靠監督學習選擇動作。多次訓練之后,aS的權重逐漸降低,并最終退出動作a的決策過程,此時機器人依靠強化學習選擇動作。監督學習的動作aS可以通過多種方式得到,常用的是PID控制器、決策樹、神經網絡控制器等[12]。
k的遞增方式及遞增速度對監督式強化學習的訓練過程有較大影響。增長過快,起到的指導作用不明顯;增長過慢,在有限次的訓練過程當中會對強化學習起到誤導作用。
本文將監督式強化學習算法應用到機器人路徑規劃當中來說明監督式強化學習的效果。機器人所處的物理環境為40×40的方格地圖,如圖3所示。

圖3 機器人路徑規劃地圖
機器人需要從起點(6,35)走到終點(36,6),每次只能行走一格,方向為東南西北四個方向之一。如何規劃機器人行走的路徑,讓機器人能夠以最少的步數達到目標點是監督式強化學習算法需要解決的問題。
設計機器人在未達到終點時,每一步的轉移得到的獎勵值r=-1,到達目標點時的獎勵值,γ=0.9,α=0.9,機器人訓練的次數為step=1 000,監督學習權重增長公式為:
k=k+Δ
(8)
為了比較實驗結果,我們讓Δ取0.01、0.003 3、0.002 5三個值。
我們通過Q學習算法來得到aE,通過P控制器算法來選擇aS。首先將aE和aS單位化,然后采用式(7)以及向量合成法(如圖4所示)計算動作a。

圖4 機器人動作選擇
由于a的方向未必是東南西北四個方向之一,我們采取就近原則,將其規整到最近的四個方向之一上。
我們定義算法的性能指標函數(平均的搜索步數):

(9)
式中:counter(i)為第i訓練時,從起始點到目標點所需要的步數。step為訓練的次數。
強化學習算法和監督式強化學習得出的結果分別如圖5、圖6所示。機器人均以最優的步數收斂到了目標點。

圖5 強化學習算法實現的路徑規劃

圖6 監督式強化學習算法實現的路徑規劃
強化學習、監督式強化學習迭代的步數,如圖7-圖10所示。

圖7 強化學習算法得到的迭代步數

圖8 監督式強化學習算法得到的迭代步數(Δ=0.01)

圖9 監督式強化學習算法得到的迭代步數(Δ=0.003 3)

圖10 監督式強化學習算法得到的迭代步數(Δ=0.002 5)
可以看出,強化學習在前50次訓練當中,Agent需要搜索多次才能找到目標點。經過計算它的平均搜索次數為200.638。當Δ=0.01時,即監督學習只在前100訓練當中指導Agent尋找目標,它的平均搜索次數為150.158;Δ=0.003 3時,它的平均搜索次數為98.974;Δ=0.002 5時,它的平均搜索次數為76.064。
從得到的數據來看,監督學習能夠極大的提高Agent的搜索效率:強化學習在550次訓練之后會以較穩定的步數找到目標點,而在Δ取0.01、0.003 3、0.002 5時,監督強化學習的訓練次數分別為:400、250、300。但并不是監督學習加得越多越好,監督學習一旦撤銷,強化學習在短時間內會出現短暫的震蕩。比如當Δ=0.002 5時,Agent在第300次以及第540次出現了震蕩比較大的情況。當Δ=0.003 3時,監督強化學習的收斂性是比較好的。
本文針對機器人的路徑規劃問題,提出了基于標稱控制的監督式強化學習算法。實驗結果表明:當監督式強化學習的導師信息正確時,其能顯著提高機器人的智能化水平,使機器人快速找到目標點;當導師信息給得太多,也容易出現對Agent的干擾,具體表現為
機器人的搜索目標步驟出現震蕩。盡管如此,機器人仍在導師信息弱化時迅速找到實現目標的最優策略。