摘 要 如今人工智能發(fā)展迅速,在日常生活中越來越普及,與人工智能接觸的機(jī)會越來越多。本文介紹了增強(qiáng)學(xué)習(xí)中的Q學(xué)習(xí)中如何找到最優(yōu)策略以達(dá)到最終狀態(tài)的過程和總結(jié),以及通過試驗對影響Q值的幾個因素的進(jìn)行了分析。
【關(guān)鍵詞】Q-learning 策略 探索 Q值 狀態(tài)
1 實驗背景
文章研究增強(qiáng)學(xué)習(xí)算法是如何找到最優(yōu)策略以達(dá)到最終狀態(tài)的。通過使用off-Policy TD Control即Q learning實現(xiàn)。
2 實現(xiàn)和實驗
2.1 方法和影響因素
起初機(jī)器人對環(huán)境一無所知,能做的只是采取行動然后根據(jù)反饋的信息進(jìn)行判斷。每次行走之前機(jī)器人會根據(jù)當(dāng)前的動作產(chǎn)生一個次優(yōu)策略。隨著機(jī)器人行走步數(shù)增多,逐漸會優(yōu)化行走策略。對于增強(qiáng)學(xué)習(xí)(Q-learning)考慮以下影響因素:
S:一組狀態(tài)
A:機(jī)器人能夠采取的動作
T:轉(zhuǎn)換函數(shù)T
α:學(xué)習(xí)率,可擴(kuò)展的范圍和方向(范圍從0到1)
γ:折扣因子(范圍從0到1)
Living reward:生存狀態(tài)時的獎勵
Epsilon:隨機(jī)采取動作或者在當(dāng)前的策略上采取動作(范圍從0到1)
Noise:一個影響機(jī)器人是否能采取正確動作的因子(范圍從0到1)
注:s是當(dāng)前狀態(tài),s是由當(dāng)前狀態(tài)執(zhí)行操作后的狀態(tài)。
以上等式可以計算出Q值。最開始初始化Q值表中的每一個值為0。
每輪假設(shè)機(jī)器人從state 8開始采取動作到下一個狀態(tài)。當(dāng)機(jī)器人選擇向上走(up)時,有(1-noise)的可能到達(dá)state 4,也有一定可能到達(dá)state 9或原地不動(除開邊界和有障礙的情況)。從開始到結(jié)束機(jī)器人決定是否探索或者采用當(dāng)前策略,顯然不探索就無法確保得到了最優(yōu)的策略,不采取當(dāng)前策略這很有可能在無用的嘗試上浪費大量的時間。
2.2 實驗數(shù)據(jù)
2.2.1 將參數(shù)設(shè)置為
與epsilon=0相比這種情況更理想,因為這種情況保證至少每種state能夠被探索一遍。所以這種情況的Q值更為合理有更快的收斂速度。但這不是最理想的情況,因為機(jī)器人有可能采取同樣的動作會浪費大量時間去計算Q值。
3 總結(jié)
讓探索更加有效率而非重復(fù)相同的動作,采用了一個探索函數(shù)提高效率。實現(xiàn)這個函數(shù)需建立一個數(shù)組記錄到達(dá)每個狀態(tài)的次數(shù),當(dāng)計算值時需要用有效狀態(tài)的訪問次數(shù)。訪問的次數(shù)越少,探索的獎勵就越高。
Noise因素,若程序中沒有Noise因素(noise=0),Q值則會很快收斂,當(dāng)noise的值增加,Q值則會不穩(wěn)定。對于Alpha (α) 和折扣因子Gamma(γ),這兩個參數(shù)的值不宜太小。因為Alpha的值越小,Q值收斂的速度越慢。一般來說,Alpha因素的值應(yīng)該在整個過程中是改變的。對于折扣因子(γ),用來判斷即刻反饋和未來反饋哪一個更重要。γ=1表示未來反饋和即刻反饋同樣重要,γ=0表示只考慮即刻反饋的因素。因此,γ因子也需要根據(jù)不同的場景進(jìn)行改變。
參考文獻(xiàn)
[1]Richard S.Sutton & Andrew G.Barto.Reinforcement Learning:An introduction[M].Massachusetts:MIT Press,1998:12-16.
[2]Tom M.Mitchell. Machine Learning:A Guide to Current Research[M].Germany: Springer,1986:265-278.
作者簡介
孫燦宇(1995-),男,重慶市人?,F(xiàn)為四川大學(xué)軟件學(xué)院軟件工程系本科在讀。主要研究方向為軟件工程。
作者單位
四川大學(xué)軟件學(xué)院軟件工程系 四川省成都市 610207