• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于深度增強學(xué)習(xí)的自動游戲方法

      2017-11-21 09:42:58,,,,
      關(guān)鍵詞:小方塊木板次數(shù)

      ,,,,

      (長江大學(xué)信息與數(shù)學(xué)學(xué)院,湖北 荊州 434023)

      基于深度增強學(xué)習(xí)的自動游戲方法

      袁月,馮濤,阮青青,趙銀明,鄒健

      (長江大學(xué)信息與數(shù)學(xué)學(xué)院,湖北荊州434023)

      增強學(xué)習(xí)近年來多被用于智能體自動游戲,但增強學(xué)習(xí)在面對過大的狀態(tài)或者行動空間時不能很好地處理。深度增強學(xué)習(xí)結(jié)合深度學(xué)習(xí)的感知能力和增強學(xué)習(xí)的決策能力,可以有效解決環(huán)境復(fù)雜問題。將增強學(xué)習(xí)與深度學(xué)習(xí)結(jié)合,通過改進的Markov決策過程逐步學(xué)習(xí)最優(yōu)策略。首先找到目前的環(huán)境中最有價值的狀態(tài),從而產(chǎn)生最大積累獎勵的行動,然后通過利用深度增強學(xué)習(xí)方法訓(xùn)練計算機自動完成一個簡單游戲,使用控制變量法分別分析迭代次數(shù)和游戲難易程度對游戲得分的影響。試驗結(jié)果表明,在外界環(huán)境相同時,準(zhǔn)確率隨著試驗迭代次數(shù)的增大或游戲難度的減弱而增大,從而驗證了智能體可以通過外界因素的改變進行更有效訓(xùn)練,最終獲取最優(yōu)結(jié)果。

      深度增強學(xué)習(xí);自動游戲;智能體

      近年來,深度學(xué)習(xí)已經(jīng)成為人工智能領(lǐng)域的研究熱點,其主要思想是通過訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),從高維數(shù)據(jù)中提取數(shù)據(jù)的深層特征[1]。增強學(xué)習(xí)作為一種重要的機器學(xué)習(xí)方法,其目的在于根據(jù)不同目標(biāo)構(gòu)造一個最優(yōu)策略。即當(dāng)智能體(Agent)處于某種動態(tài)的未知環(huán)境時,通過與環(huán)境狀態(tài)的交互作用,以環(huán)境反饋為輸入,然后不斷學(xué)習(xí),改進自身性能并調(diào)整行為,最終使所獲的累計獎勵最大化[2,3]。深度增強學(xué)習(xí)結(jié)合深度學(xué)習(xí)的感知能力和增強學(xué)習(xí)的決策能力,引起了研究者的廣泛關(guān)注,形成了人工智能領(lǐng)域新的研究熱點,在游戲、機器人控制、機器視覺等應(yīng)用領(lǐng)域都有著廣泛的應(yīng)用[4,5]。下面,筆者利用深度增強學(xué)習(xí)方法訓(xùn)練計算機自動完成一個簡單游戲,并且分析訓(xùn)練次數(shù)對游戲得分的影響。

      1 算法描述

      1.1策略

      Agent執(zhí)行每一步所獲得回報,該回報是對后面每個狀態(tài)的影響的總和,狀態(tài)是指Agent在某時刻所能觀察到的環(huán)境狀況,狀態(tài)決定下一步的動作,動作又對應(yīng)著一種狀態(tài),因此狀態(tài)和動作存在某種映射關(guān)系,這個過程稱為策略。策略用策略函數(shù)表示為:

      at=π(st)

      (1)

      式中,st是時刻t的圖像輸入,即Agent在時刻t的狀態(tài);at是Agent下一步的行為。

      Agent根據(jù)自己觀測到的st選擇一種行為at,環(huán)境接收到at后,會更新狀態(tài)為st+1。在這個游戲里,增強學(xué)習(xí)的任務(wù)就是找到一個最優(yōu)策略,使得累積回報達(dá)到最大。

      通常,為了簡化增強學(xué)習(xí)模型,將該模型表示為一Markov過程,即下一狀態(tài)僅取決于當(dāng)前的狀態(tài)和當(dāng)前的動作。因此,狀態(tài)由來自游戲的幀序列(由于人眼的視覺暫留特性)以及玩家最近一次的動作(而并非之前所有動作)確定。為確定下一狀態(tài),需要定義一個函數(shù),并求出其最優(yōu)值,即最優(yōu)動作價值函數(shù)。

      1.2最優(yōu)動作價值函數(shù)

      因為動作對應(yīng)的狀態(tài)唯一,而狀態(tài)對應(yīng)的動作不唯一,因此用動作產(chǎn)生的回報更有利于找到最優(yōu)策略。而一個行為產(chǎn)生的獎勵肯定發(fā)生在行為之后,可以用一個價值函數(shù)來定義動作的潛在價值,即對未來回報的期望,表示為:

      Qπ(s,a)=E[Rt|st=s,at=a,π]

      (2)

      Q*(s,a)=arg maxπQπ(s,a)

      (3)

      即從所有策略中選擇Q值(即累積回報)最大的。計算最優(yōu)Q值需要進行大量試驗,鑒于試驗的復(fù)雜性,可以通過使用Bellman方程迭代更新得到最優(yōu)Q值,即:

      Q*(s,a)=Es′[r+λmaxa′Q*(s′,a′)|s,a]

      (4)

      式中,r是t時刻的獎勵;maxa′Q*(s′,a′)是使t+1時刻的a′達(dá)到最大的Q值。顯然,當(dāng)前狀態(tài)下是無法得知下一步情況的,但上一步的狀態(tài)可以得到,因此可以通過每次迭代新得到的r和之前的Q值更新Q值:

      Qi+1(s,a)=Es′[r+λmaxa′Qi(s′,a′)|s,a]

      (5)

      理論上可以證明,當(dāng)i→∞時,Qi→Q*[7]。

      在求解最優(yōu)動作價值函數(shù)時,每次迭代都要將所有的Q值更新一遍,而在此過程中只有有限的樣本提供給系統(tǒng),為了減小估計誤差造成的影響,不直接將目標(biāo)Q值賦給下一個,而是嘗試用一個神經(jīng)網(wǎng)絡(luò)來近似Q-函數(shù),這個神經(jīng)網(wǎng)絡(luò)其實就是一個卷積神經(jīng)網(wǎng)絡(luò),稱為深度Q-網(wǎng)絡(luò)(DQN)[8,9]。

      1.3深度Q網(wǎng)絡(luò)

      首先,定義一個用于訓(xùn)練DQN的損失函數(shù):

      (6)

      其中,要更新的目標(biāo)是Q網(wǎng)絡(luò),θ是神經(jīng)網(wǎng)絡(luò)的權(quán)重??梢杂嬎愠鰮p失函數(shù)對參數(shù)θ的梯度為:

      (7)

      Q(st,at)+α(Rt+1+λmaxaQ(st+1,a)-Q(st,at))→Q(st,at)

      (8)

      式中,α是學(xué)習(xí)率。

      1.4經(jīng)驗回放

      為了保證算法的穩(wěn)定收斂,在訓(xùn)練過程中添加了經(jīng)驗回放技術(shù)。時刻t的經(jīng)驗表示為et=(st,at,rt,st+1)。將時刻t之前的所有經(jīng)驗都存儲在Dt中,稱為回放記憶,表示為Dt={e1,e2,…,et},這樣有利于調(diào)用學(xué)習(xí),大大提高學(xué)習(xí)效率。每次迭代對神經(jīng)網(wǎng)絡(luò)的參數(shù)θ進行更新時,就從Dt中隨機抽取一小批經(jīng)驗,幫助神經(jīng)網(wǎng)絡(luò)的培訓(xùn)。抽取經(jīng)驗樣品的隨機性避免了相鄰經(jīng)驗的過度耦合,使其不再受價值函數(shù)波動對環(huán)境的影響,同時,Dt也為式(6)中的2個Q-網(wǎng)絡(luò)提供了不同時刻的輸入狀態(tài)和動作,為計算損失函數(shù)提供了回報r。

      1.5初始動作的選擇

      在游戲中,初始動作也需要一個策略來生成,通常有2種做法:一是隨機生成一個動作,二是根據(jù)當(dāng)前的Q值得到一個最優(yōu)的動作,表示為:

      π(St+1)=arg maxaQ(St+1,a)

      (9)

      前者相當(dāng)于探索未知,有利于Q值的更新,獲得更好的策略,而后者利用之前的策略,相對前者對Q值的更新稍弱。筆者把探索與利用相結(jié)合,稱為ε-貪婪法,ε是指探索的概率,這將鼓勵A(yù)gent在開始不知道如何玩游戲時大量探索,此時狀態(tài)空間是非常大的。接著它做大量的隨機動作,并開始計算在不同的狀態(tài)下哪些動作更好,從而利用更多,并試圖縮小最佳的行動范圍。通過更改ε的值可以調(diào)整探索與利用的比例。

      綜合以上步驟,得到訓(xùn)練游戲的帶經(jīng)驗回放深度增強學(xué)習(xí)算法如下:

      初始化經(jīng)驗回放D,容量為D

      初始化動作估值函數(shù)Q,隨機初始化參數(shù)

      for episode =1,…,Mdo

      初始化狀態(tài)S0,并用特征提取器進行預(yù)處理φ1=φ(S0);

      fort=1,…,Tdo

      以ε的概率選擇一個隨機動作at

      或是根據(jù)式(9)選擇一個最佳動作

      執(zhí)行at,得到獎勵rt;觀察下一個輸入圖像,得到像素數(shù)據(jù)xt+1

      到達(dá)下一個狀態(tài)St+1,同樣進行預(yù)處理φt+1=φ(St+1);

      添加經(jīng)驗et=(φt,at,rt,φt+1)到D中

      從D中隨機抽樣一批樣品在10至100之間

      通過反向傳播和隨機梯度更新DQN。

      end for

      end for

      2 自動游戲方法及試驗

      下面,筆者將通過一個游戲來驗證提出的深度增強學(xué)習(xí)算法的有效性。首先利用Python編寫一個簡單的游戲,如圖1所示,游戲規(guī)則如下:在屏幕的左上角有一個小方塊,底部放置了一個可移動的木板,小方塊每移動一步,玩家控制木板左移一步或右移一步或保持不動,待小方塊因碰撞屏幕四壁而改變飛行軌跡最終掉落下來時,觀察木板是否能夠接住小方塊。若木板成功接住小方塊,則能夠獲得分?jǐn)?shù)獎勵且小方塊反彈上去;若木板未能接住小球,則不得分,且小方塊與底部發(fā)生碰撞反彈上去。木板接住小方塊的次數(shù)越多,則獲得的分?jǐn)?shù)越高。

      圖1 游戲在3種不同難度下(困難,中等,簡單)的示意圖

      在利用筆者提出的深度增強學(xué)習(xí)算法訓(xùn)練時,DQN的結(jié)構(gòu)如下:該網(wǎng)絡(luò)采用84×84輸入圖像,第1層是一個卷積層,有32個步幅為4、8×8的濾波器,由整流非線性跟隨;第2層也是卷積層,有48個步幅為2、4×4的濾波器,另一個整流線性單元的濾波器跟隨;第3層是卷積層,具有64個步幅為2、3×3的濾波器,跟隨有整流線性單元。接著是全連接層,具有3456個輸出,最后輸出層也是全連接,具有784個輸出層,每個動作有一個輸出,如圖2所示。算法的相關(guān)參數(shù)設(shè)置如下:首先程序輸入的是屏幕大小為[320,400],小方塊的大小為[15,15]以及木板尺寸為[50,5],神經(jīng)網(wǎng)絡(luò)中學(xué)習(xí)率為0.99,存儲過往經(jīng)驗的回放記憶Dt為500000,批量設(shè)定為100,訓(xùn)練次數(shù)為500000,測試為50000。假設(shè)要教會Agent玩這個游戲,輸入以上數(shù)據(jù)后,對于木板將會輸出3個動作:左、右以及原地不動接小方塊。其次是當(dāng)小方塊每一個動作完成,會輸出屏幕圖像即每一個游戲畫面,它隱含地包括了所有得分情況的相關(guān)信息。最后是小方塊的速度和方向。以上3個方面的因素共同影響著動作的值,進而影響了下一個像素中木板的左右移動方向,用一個神經(jīng)網(wǎng)絡(luò)代表Q函數(shù),以狀態(tài)(游戲屏幕)作為輸入和動作作為輸出對應(yīng)的Q值。

      圖2 DQN結(jié)構(gòu)

      在試驗中,設(shè)置小方塊的大小為15mm×15mm,木板的高度為5mm,長度分別為50、150、250mm,分別對應(yīng)游戲難度為困難、中等、簡單。由于迭代次數(shù)較大,用小方塊的掉落次數(shù)表示(小方塊每掉落在底端或木板上一次,迭代次數(shù)為上百次),以木板成功接住小方塊的準(zhǔn)確率為試驗結(jié)果,如表1所示。

      表1 不同環(huán)境下的準(zhǔn)確率

      表1給出了小方塊的掉落次數(shù)與不同難易程度的關(guān)系,其中小方塊掉落200次對應(yīng)的木板移動步數(shù)大概為50000。由表1可以看出,在不同難易程度中,木板接住小方塊的準(zhǔn)確率會隨著掉落次數(shù)增大,最終趨于平緩。并且,游戲由簡單到困難,準(zhǔn)確率上升的速率也不盡相同。在困難的環(huán)境下,準(zhǔn)確率上升速率遠(yuǎn)遠(yuǎn)慢于在簡單的環(huán)境下。

      圖3表示了在中等難度下木板接住小方塊的準(zhǔn)確率的曲線圖,橫坐標(biāo)依然是小方塊的掉落次數(shù),縱坐標(biāo)是準(zhǔn)確率。首先,由于游戲剛剛開始,準(zhǔn)確率會有很大的波動(如木板在第一次就接住小方塊,此時準(zhǔn)確率就是100%),在接近掉落次數(shù)單位為12的地方,除了小小的波動,準(zhǔn)確率開始以較大的速率增長,慢慢地,在接近掉落次數(shù)單位為70的地方,準(zhǔn)確率緩慢增長,大概保持在0.83。

      圖3 中等難度下的準(zhǔn)確率曲線圖

      3 結(jié)語

      闡述了深度增強學(xué)習(xí)方法的基本思想,并將其簡單應(yīng)用在一種自動游戲上,得到了智能體經(jīng)過訓(xùn)練的試驗結(jié)果,結(jié)果表明深度增強學(xué)習(xí)在進一步的應(yīng)用上有很大的潛力。在今后工作中,筆者也會嘗試將其進行改進應(yīng)用在其他游戲中,考查更多結(jié)果的影響。當(dāng)然,自動游戲中的深度增強學(xué)習(xí)還有不少亟待解決的問題,如如何丟掉那些不利于獲得獎勵的經(jīng)驗,使其不被從回放記憶中取樣,如何優(yōu)先處理能導(dǎo)致更好性能的經(jīng)驗等,這些都有待進一步研究。

      [1]孫志軍, 薛磊, 許陽明,等. 深度學(xué)習(xí)研究綜述[J]. 計算機應(yīng)用研究, 2012, 29(8):2806~2810.

      [2]高陽, 陳世福, 陸鑫. 強化學(xué)習(xí)研究綜述[J]. Acta 自動化學(xué)報, 2004, 30(1):86~100.

      [3] 陳學(xué)松, 楊宜民. 強化學(xué)習(xí)研究綜述[J]. 計算機應(yīng)用研究, 2010, 27(8):2834~2838,2844.

      [4] Mnih V, Kavukcuoglu K, Silver D, et al. Human-level control through deep reinforcement learning.[J]. Nature, 2015, 518(7540):529~533.

      [5] Sallab A E,Abdou M,Perot E,et al.Deep reinforcement learning frame work for antonomous driving[J].Electronic Imaging,2017(19):70~76.

      [6] Mnih V, Kavukcuoglu K, Silver D, et al. Playing atari deep reinforcement learning[J]. Computer Science, 2013,1312(5602):23~32.

      [7] Sutton R S, Barto A G. Reinforcement learning I: Introduction[J]. Nature,1998,94720:143~148.

      [8]陳先昌. 基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法與應(yīng)用研究[D]. 杭州:浙江工商大學(xué), 2013.

      [9]盧宏濤, 張秦川. 深度卷積神經(jīng)網(wǎng)絡(luò)在計算機視覺中的應(yīng)用研究綜述[J]. 數(shù)據(jù)采集與處理, 2016, 31(1):1~17.

      [編輯]洪云飛

      2017-06-28

      國家自然科學(xué)基金項目(61503047);長江大學(xué)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(2016123)。

      趙銀明(1965-),男,副教授,現(xiàn)主要從事應(yīng)用數(shù)學(xué)方面的教學(xué)與研究工作,452667017@qq.com。

      引著格式袁月,馮濤,阮青青,等.基于深度增強學(xué)習(xí)的自動游戲方法[J].長江大學(xué)學(xué)報(自科版),2017,14(21):40~44.

      TP391.4

      A

      1673-1409(2017)21-0040-05

      猜你喜歡
      小方塊木板次數(shù)
      索瑪立方體
      機場航站樓年雷擊次數(shù)計算
      2020年,我國汽車召回次數(shù)同比減少10.8%,召回數(shù)量同比增長3.9%
      商用汽車(2021年4期)2021-10-13 07:16:02
      一類無界算子的二次數(shù)值域和譜
      木板上的世外桃源
      木板
      依據(jù)“次數(shù)”求概率
      不會上浮的木板
      小方塊知多少
      列式計算有學(xué)問
      甘德县| 海宁市| 双牌县| 贞丰县| 南丹县| 鄂温| 静宁县| 竹溪县| 抚顺市| 林西县| 老河口市| 闻喜县| 新野县| 刚察县| 武隆县| 潢川县| 舞阳县| 循化| 历史| 永登县| 齐齐哈尔市| 兰考县| 琼中| 芜湖市| 尼勒克县| 高密市| 嘉兴市| 博乐市| 临沭县| 宣城市| 金乡县| 黔南| 湛江市| 杂多县| 高青县| 密云县| 三门峡市| 五寨县| 文安县| 宜章县| 长寿区|