陳明陽 劉博 茆意風



摘要:本文使用蒙特卡洛樹搜索(MCTS)算法代替傳統Alpha-Beta搜索算法,采用改變其他對稱方面來訓練非對稱情況下的策略,研究對比和分析,認為確實可以找到一種通用的自我強化學習方法。
關鍵詞:ICRA RoboMaster比賽;強化學習;DQN;Actor-critic算法
中圖分類號: TP181 ? ? ? ? ? ? ?文獻標識碼:A
1 背景
強化學習(Reinforcement Learning,RL)是智能體(Agent)以“試錯”的方式進行學習,通過與環境進行交互獲得的獎賞指導行為,目標是使智能體獲得最大的獎賞,它被引入機器學習使其更接近于最初的目標——人工智能,是人工神經網絡研究的概念,比較晦澀難懂。因此,本文借助備受青年人歡迎的ICRA RoboMaster(以下簡稱ICRA比賽)訓練研究強化學習的理論問題,把抽象問題具體化、簡單化。
ICRA比賽的主題為“移動操控挑戰賽”,比賽主要考察移動機器人定位技術、物體抓取技術、目標識別技術,以及這些技術構成系統的整體穩定性等。通過以ICRA比賽為載體,建立研究強化學習的理論模型,利用研究訓練和優化機器人在比賽中的路徑和戰斗能力,實現驗證和優化RL理論的目的。為了使計算機更加智能化,采用訓練AlphaGo的方法,即使用兩個代理機器人互相戰斗,通過控制運動軌跡和動作,更新優化策略,實現機器人動作升級。首先設置一個超級敵人并訓練機器人去擊敗它,然后也升級敵人,重新訓練機器人去戰斗。通過這種不斷反復改進和提升的方法,可以獲取更優良的性能。
采用Actor-critic算法,提出并分析一類基于隨機平穩策略的馬爾可夫決策過程優化算法,也是兩個時間尺度的算法,其中,Critic使用具有線性近似結構的時域學習,并且基于Critic提供的信息,在近似梯度方向上更新和優化Actor動作。通過研究表明,Critic的特征能夠跨越由Actor的選擇所規定的子空間,提出收斂性和有待解決的問題策略。
采用一個通用的強化學習算法,通過自我發揮和學習,不斷優化算法,即研究在AlphaGo中應用的策略和AlphaZero的變化。由于AlphaZero不會增加訓練數據,也不會在MCTS期間變換板的位置。因此,使用蒙特卡洛樹搜索(MCTS)算法代替Alpha-Beta搜索算法,采用通過改變其他對稱方面來訓練非對稱情況下的策略,找到一種通用的自我游戲強化學習方法。
2 虛擬機器人環境——PyGame
2.1 設置虛擬機器人環境——PyGame
PyGame是一個基于Python的虛擬格斗游戲環境,在此過程中接收來自鍵盤和鼠標的輸入,應用編程接口和預定義的類降低了虛擬環境創建的難度。ICRA比賽的真實環境為8米*5米的場地,兩個機器人的出場地位于左上角和右下角,補充場地位于黃色十字區域。機器人在補給區被修復,當它們站在補給區時,它們的生命值會持續上升,ICRA比賽的真實現場環境如圖1所示。
在圖1中,機器人無法通過的障礙物被顯示為深灰色矩形。通過研究決定,采用重新創建ICRA比賽的新戰斗環境,其中,障礙物和補給區域與原來的位置相同。為了增加決策的復雜性,增設彈藥重裝區,機器人可以在此區域進行重新裝彈,避免子彈耗盡。
獎勵規則設置如下:在所有迭代開始時,獎勵被初始化為零。如果敵人被擊中,那么射手的獎勵將增加10點,而敵人將減少20點。如果敵人被摧毀,獎勵會激增到100點,如果玩家被摧毀,獎勵本身會下降到200點。彈藥和生命點不會影響獎勵,而生存時間將以對數形式加入獎勵。
強化學習就是智能系統從環境到行為映射的學習,使獎勵信號(強化信號)函數值最大,由于外部給出的信息很少,強化學習系統必須依靠自身的經歷進行自我學習。通過這種學習獲取知識,改進行動方案以適應環境。本研究運用AlphaZero強化學習的方式,不斷完善機器人獎勵機制。
2.2 優化Q學習的算法
Q-learning是強化學習中的一個決策算法,是讓計算機實現從一開始完全隨機地進行操作,通過不斷地嘗試,從錯誤中學習,最后找到規律,學會了達到目的的方法。計算機在不斷的嘗試中更新自己的行為,從而一步步學習如何操作自己的行為得到高分。它主要包含四個元素:Agent、環境狀態、行動、獎勵。強化學習的目標就是獲得最多的累計獎勵。
計算機就是Agent,它試圖通過采取行動來操縱環境,并且從一個狀態轉變到另一個狀態,當它完成任務時給高分(獎勵),但是當它沒完成任務時,給低分(無獎勵)。這也是強化學習的核心思想,所以強化學習具有分數導向性。
我們實現的深度Q學習是基于PyTorch的卷積神經網絡。網絡的輸入是模型訓練過程中PyGame環境的一個截圖,輸出是給定輸入環境下的一個預測動作。該動作包括四個方向的移動(上、下、左、打),兩個槍操作方向(順時針、逆時針)和射擊。該神經網絡為三層卷積神經網絡,具有不同大小的核和漏項。激活層被分配給非線性ReLU層,我們選擇時間誤差作為損失函數(Loss Function),兩者具有相同的損失函數。把具有相同的最佳點作為傳統的Q-learning函數。下面列出了這個損失函數的梯度下降:
ψk+1=ψk-η∨ψ(qψk(x,u)-target(x;ψk)
因此,Q-learning的目標函數為:
Q(st,a)←Q(st,a)+at+1+γmaxQ(st+1,p)-Q(st,a)
本模型的目標是利用神經網絡的非線性特性來模擬這個函數,該模型產生Q-learning函數的估計,使用蒙特卡洛樹搜索(MCTS)在Q-learning中找到相同的最優值。
2.3 Actor-critic模型設計
Actor(機器人)為了得到盡量高的獎賞(Reward),需要一個策略:輸入state,輸出action,然后用神經網絡來近似這個函數,剩下的任務就是如何訓練神經網絡,得到更高的reward。Critic(評委):因為actor基于策略policy,所以需要評委critic計算出對應actor的value來反饋給actor,判斷它的優點和缺點,在此過程中需要使用到之前的Q值,這個Q值可以用神經網絡來近似。
本研究實現Actor-critic模型設定在PyTorch中完成,模型的輸入是抽象的狀態元組,狀態元組代表在某一時刻機器人的狀態,包括機器人的位置、速度、運行狀況和子彈數量等。Critic模型采用價值函數進行估計,其中,選擇Q值作為估計的目標值。而Actor模型是決策制定,該模型按照Critic建議的方向更新政策分配,其中,Critic函數和Actor函數都屬于神經網絡模擬。
2.4 多人戰斗模型設計
上述模型設計是在單人環境中實現,通過計算機自動控制敵人,電腦玩家可以忽略障礙物的封鎖,并且擁有無限數量的彈藥。優化后的虛擬環境中可以實現2人戰斗,兩個玩家在后端由兩個獨立的模型控制,通過重新部署AlphaGo戰略,試圖找出讓機器人從零開始學習規則的策略。
3 仿真結果
3.1 DQN模型結果
我們采用Deep Q-learning算法(以下簡稱DQN),它是基于價值的算法,這種算法中只有一個值函數網絡。DQN中關鍵點是引用值函數近似和損失函數,強化學習是一個反復迭代的過程,每一次迭代要解決兩個問題:給定一個策略求值函數和根據值函數來更新策略。DQN每次迭代更新神經網絡的參數,首先會定義一個損失函數(Loss Function),然后使用梯度下降的優化算法(GradientDescent,GD)來更新參數。
異步策略學習(Off-policy Learning)是Q-learning的特點,DQN中也沿用了這一特點。DQN中使用經驗回放,即用一個記憶來存儲經歷過的數據,每次更新參數的時候從記憶中抽取一部分的數據來用于更新,以此來打破數據間的關聯。
本試驗通過采用DQN模型仿真結果對比,DQN的訓練效果明顯優于Actor-critic的訓練效果,并且卷積神經網絡(Convolutional Neural Networks,CNN)在決策過程中更能有效地找到合適的動作,這是因為圖像的復雜性使模型更容易判斷游戲情況,優化后的圖像包含許多有用信息,如封鎖區域和不同的供電區域位置。然而,有時這種模式會以錯誤的方式表現,比如向空中射擊和在進入近距離戰斗前浪費彈藥,采用的DQN模型獎勵功能如圖2所示。
3.2 Actor-critic結果
由于選擇有限維數的狀態元組,模型只能感知機器人的當前狀態,無法告訴模型上電區域和障礙物的位置。此外,這種方法的訓練難度大于前一種方法,這意味著訓練時間較短,可能會導致模型無法收斂到更大的期望回報。從圖3中可以看出,該模型在提高獎勵期望方面并不有效。
3.3 多人戰斗模型結果
從獎勵情節中可以看到,有時玩家能夠找到消滅敵人的策略,而有時兩名玩家在空白區域徘徊。這是因為訓練時間有限,導致模型無法探索虛擬環境中的所有可能性,圖4和圖5列出了兩個玩家的獎勵結果。
4 結語
通過研究ICRA比賽為載體,進一步應用和驗證強化學習算法,實現驗證和優化Q學習基礎理論研究為目的。選擇ICRA比賽更新強化學習策略,一是由于ICRA比賽比較直觀和深受歡迎,二是機器人比賽是多項綜合技術的融合,是對強化學習基礎理論的考驗。與無模型的深度強化學習算法相比,還存在一定距離。在后續的工作中,需要更多的時間和更先進的設備完善本模型,PyGame環境每次都需要截屏,這會浪費大量的計算資源,因此以后選擇更加簡練的環境,以此來提高效率。未來,可以通過調整該模型的神經網絡和學習策略來實施進一步優化。同時,隨著機器人在環境中收集樣本的增加,將其與無模型的強化學習方法(Model-free RL)結合,將能在動態系統環境下實現更好的控制效果。
(責任編輯:武多多)
參考文獻:
[1]柯良軍,王小強.強化學習[M].北京:清華大學出版社,2019.
[2]周炯槃,龐沁華,續大我,等.通信原理[M].3版.北京:北京郵電大學出版社,2008.
[3]聞欣研.MATLAB從入門到精通[M].3版.北京:清華大學出版社,2017.
[4]田寶玉,楊潔,賀志強,等.信息論基礎[M].2版.北京:人民郵電出版社,2016.?
[5]劉寶玲,李立華,張曉瑩,等.通信電子電路[M].北京:高等教育出版社,2007.