張炎 劉博文
【摘要】強(qiáng)化學(xué)習(xí)是Agent學(xué)習(xí)中廣泛使用的方法,在智能機(jī)器人、經(jīng)濟(jì)學(xué)、工業(yè)制造和博弈等領(lǐng)域得到了廣泛的應(yīng)用,但學(xué)習(xí)速度慢是強(qiáng)化學(xué)習(xí)的主要不足。遷移學(xué)習(xí)可從源任務(wù)中獲得與目標(biāo)任務(wù)相關(guān)的知識(shí),利用這些知識(shí)去提高學(xué)習(xí)效率與效果。本文提出Agent地圖遷移算法,實(shí)現(xiàn)了Agent在不同狀態(tài)空間下的經(jīng)驗(yàn)遷移。實(shí)現(xiàn)將Agent在簡(jiǎn)單環(huán)境中的學(xué)習(xí)經(jīng)驗(yàn)遷移到復(fù)雜環(huán)境中,實(shí)驗(yàn)中驗(yàn)證了算法可加快Agent路徑規(guī)劃速度。
【關(guān)鍵詞】Q學(xué)習(xí);強(qiáng)化學(xué)習(xí);地圖遷移
對(duì)于人類來(lái)說(shuō),我們可以有意或無(wú)意的從過(guò)去已經(jīng)學(xué)習(xí)過(guò)的任務(wù)中獲取大量知識(shí),把他們保存下來(lái),當(dāng)某天我們遇到新任務(wù)時(shí),我們就可以從已經(jīng)獲取的只是種提取出對(duì)學(xué)習(xí)當(dāng)前任務(wù)有用的部分,利用他們提高學(xué)習(xí)效率和效果。把已經(jīng)學(xué)習(xí)過(guò)的任務(wù)稱為“源任務(wù)”,把待學(xué)習(xí)的新任務(wù)稱為“目標(biāo)任務(wù)”。
遷移學(xué)習(xí)作為一種智能化的學(xué)習(xí)方式,其目的是為了更有效的學(xué)習(xí)“目標(biāo)任務(wù)”。在這一過(guò)程中,我們可以從與目標(biāo)任務(wù)相似的“源任務(wù)”中去獲得一些與目標(biāo)任務(wù)相關(guān)的信息,然后通過(guò)把它們添加至目標(biāo)任務(wù)中幫助提高目標(biāo)任務(wù)的學(xué)習(xí)效率與效果。
1.地圖遷移
本文將Agent在簡(jiǎn)單環(huán)境中路徑規(guī)劃學(xué)習(xí)經(jīng)驗(yàn),遷移應(yīng)用到在復(fù)雜環(huán)境中的路徑規(guī)劃學(xué)習(xí)。在簡(jiǎn)單環(huán)境中將通過(guò)強(qiáng)化學(xué)習(xí)算法[1]中的一種即Q學(xué)習(xí)算法更新Q值獲得的經(jīng)驗(yàn)作為待遷移的經(jīng)驗(yàn),當(dāng)Agent處于復(fù)雜環(huán)境中時(shí),可將這經(jīng)驗(yàn)遷移到復(fù)雜環(huán)境中,加快Agent在復(fù)雜環(huán)境中的路徑規(guī)劃學(xué)習(xí)速度。本文研究Agent在簡(jiǎn)單環(huán)境中的路徑規(guī)劃學(xué)習(xí)方法,將學(xué)習(xí)策略[2]應(yīng)用到在不確定障礙物的復(fù)雜環(huán)境路徑規(guī)劃學(xué)習(xí)中。在遷移過(guò)程中,可以根據(jù)復(fù)雜環(huán)境狀態(tài)引入障礙物,根據(jù)環(huán)境的不同而將經(jīng)驗(yàn)做相應(yīng)的調(diào)整后,遷移到復(fù)雜環(huán)境中,這樣的遷移學(xué)習(xí)可以避免環(huán)境的特殊性。
1.1 簡(jiǎn)單環(huán)境中障礙物設(shè)置
在簡(jiǎn)單環(huán)境中不設(shè)置障礙物,原因有兩點(diǎn):首先,障礙物個(gè)數(shù)、位置、是否移動(dòng)等因素均不能確定,找不到有代表性的簡(jiǎn)單環(huán)境;其次,若設(shè)置障礙物,就需要根據(jù)復(fù)雜環(huán)境去有針對(duì)性地設(shè)置,這樣的遷移只是對(duì)某一復(fù)雜環(huán)境有效果,對(duì)于其他復(fù)雜環(huán)境沒(méi)有效果。在現(xiàn)實(shí)中,環(huán)境不斷變化,找不到相適應(yīng)的且具有代表性的簡(jiǎn)單環(huán)境,更不能談將在簡(jiǎn)單環(huán)境中的路徑規(guī)劃學(xué)習(xí)經(jīng)驗(yàn)遷移到復(fù)雜環(huán)境中。故不設(shè)置障礙物可以排除環(huán)境的特殊性。
1.2 經(jīng)驗(yàn)遷移
定義1:rb為環(huán)境中障礙物的獎(jiǎng)賞值。在遷移過(guò)程中用以動(dòng)態(tài)引入障礙物時(shí)調(diào)整障礙物所在位置的Q值。
本文算法中用到遷移學(xué)習(xí)將簡(jiǎn)單環(huán)境中的經(jīng)驗(yàn)應(yīng)用于復(fù)雜環(huán)境中,即將簡(jiǎn)單環(huán)境Q表中每個(gè)被遷移點(diǎn)的Q值,加上遷移點(diǎn)的獎(jiǎng)賞值所得數(shù)值作為遷移點(diǎn)的Q值。如式所示:
本文算法雖然在簡(jiǎn)單環(huán)境中沒(méi)有障礙物,但在遷移過(guò)程中,可以根據(jù)復(fù)雜環(huán)境狀態(tài)引入障礙物,這樣的遷移學(xué)習(xí)可以避免環(huán)境的特殊性,根據(jù)環(huán)境的不同而將經(jīng)驗(yàn)做相應(yīng)的調(diào)整后,遷移到復(fù)雜環(huán)境中。
1.3 遷移時(shí)機(jī)
當(dāng)Agent到達(dá)某點(diǎn)且之前無(wú)這點(diǎn)經(jīng)驗(yàn)時(shí),應(yīng)用遷移學(xué)習(xí),由遷移學(xué)習(xí)本身定義可以知道,正是因?yàn)锳gent在陌生環(huán)境中無(wú)經(jīng)驗(yàn),所以才需要遷移以往的經(jīng)驗(yàn)以幫助Agent加快學(xué)習(xí)速度,更快地找到最優(yōu)路徑。算法解決的問(wèn)題是Agent在新環(huán)境中一開始學(xué)習(xí)時(shí)無(wú)經(jīng)驗(yàn),故當(dāng)Agent已經(jīng)有了在環(huán)境中的經(jīng)驗(yàn)時(shí),此時(shí)不需要遷移。
2.基于Agent強(qiáng)化學(xué)習(xí)的地圖遷移學(xué)習(xí)算法
本文提出基于Agent強(qiáng)化學(xué)習(xí)的地圖遷移學(xué)習(xí)算法。Agent在第一次學(xué)習(xí)時(shí),首通過(guò)遷移學(xué)習(xí)算法將經(jīng)驗(yàn)遷移到復(fù)雜環(huán)境中,再使用Q學(xué)習(xí)算法,找到局部最優(yōu)路徑。重復(fù)上述過(guò)程,直到Agent到達(dá)目標(biāo)點(diǎn)為止。本文的地圖遷移算法不同于之前研究較多的基于相同狀態(tài)空間下的經(jīng)驗(yàn)遷移[3-4]。下面為算法描述與實(shí)驗(yàn)數(shù)據(jù)。
算法的偽代碼表示如下:
For times=1 to epiosodes
if(times==1)
transfer()//執(zhí)行遷移學(xué)習(xí)算法
End_if
Else
While(s_now !=s_final)//Agent未到終點(diǎn)
Q_Learning()//執(zhí)行Q學(xué)習(xí)算法
End_while
End_for
3.仿真實(shí)驗(yàn)與分析
程序隨機(jī)生成9條路徑,分別用遷移學(xué)習(xí)和未應(yīng)用遷移學(xué)習(xí)尋找路徑,統(tǒng)計(jì)Agent找到最優(yōu)路徑所需迭代次數(shù),實(shí)驗(yàn)結(jié)果如下。
遷移學(xué)習(xí) 不遷移學(xué)習(xí)
27 41
13 32
21 31
23 27
23 24
12 19
15 19
52 44
13 18
由上表可以看到,9次實(shí)驗(yàn)中當(dāng)Agent進(jìn)行遷移學(xué)習(xí)時(shí)找到最佳路徑所需迭代次數(shù)比相同情況下未進(jìn)行遷移學(xué)習(xí)的次數(shù)少,同時(shí)也發(fā)現(xiàn)了1次負(fù)遷移情況,下文給出關(guān)于負(fù)遷移的討論。
4.負(fù)遷移
上述實(shí)驗(yàn)中,隨機(jī)選擇9條路徑中有1條路徑產(chǎn)生了負(fù)遷移情況。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),遷移的經(jīng)驗(yàn)多遷移效果也有很大影響。不同的遷移經(jīng)驗(yàn)會(huì)帶來(lái)不同的效果。目前還未找到一組最佳的遷移經(jīng)驗(yàn),以后可以做這方面研究。
5.結(jié)論
本文提出地圖遷移算法,在簡(jiǎn)單環(huán)境中將通過(guò)Q學(xué)習(xí)算法更新Q值獲得的經(jīng)驗(yàn)作為待遷移的經(jīng)驗(yàn),當(dāng)Agent處于復(fù)雜環(huán)境中時(shí),可將這經(jīng)驗(yàn)遷移到復(fù)雜環(huán)境中,加快Agent在復(fù)雜環(huán)境中的路徑規(guī)劃學(xué)習(xí)速度。在遷移過(guò)程中,可以根據(jù)復(fù)雜環(huán)境狀態(tài)引入障礙物,根據(jù)環(huán)境的不同而將經(jīng)驗(yàn)做相應(yīng)的調(diào)整后,遷移到復(fù)雜環(huán)境中,這樣的遷移學(xué)習(xí)可以避免環(huán)境的特殊性。為不同環(huán)境空間下Agent經(jīng)驗(yàn)遷移研究打下了基礎(chǔ)。
參考文獻(xiàn):
[1]顧國(guó)昌,仲宇,張汝波.一種新的多智能體強(qiáng)化學(xué)習(xí)算法及其在多機(jī)器人協(xié)作任務(wù)中的應(yīng)用[J].機(jī)器人,2003,25(4):344-348.
[2]Schmidhuber Juergen.On learning how to learn learning strategies[J].1995.
[3]Perlich C,Dalessandro B,Raeder T,et al. Machine learning for targeted display advertising:Transfer learning in action[J].Machine Learning,2013:1-25.
[4]Torrey Lisa,Shavlik Jude,Walker Trevor,et al.Relational skill transfer via advice taking[C].Proceedings of ICML Workshop on Structural Knowledge Transfer for Machine Learning,2006.