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