• 
    

    
    

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

      基于蘇拉卡爾塔棋的差分學(xué)習(xí)算法研究

      2021-09-13 01:21:45李森潭劉超富李宇軒張楚儀李若溪
      無線互聯(lián)科技 2021年12期
      關(guān)鍵詞:損失函數(shù)神經(jīng)網(wǎng)絡(luò)

      李森潭 劉超富 李宇軒 張楚儀 李若溪

      摘 要:文章結(jié)合深度神經(jīng)網(wǎng)絡(luò)與差分學(xué)習(xí),在蘇拉卡爾塔棋博弈中引入人工神經(jīng)元為棋子的移動(dòng)估值,并結(jié)合差分學(xué)習(xí)得到最有價(jià)值的棋子移動(dòng)。神經(jīng)網(wǎng)絡(luò)的輸入為棋局,輸出為棋子的價(jià)值估計(jì),之后用它們來指導(dǎo)即時(shí)差分學(xué)習(xí)(TD)。每出現(xiàn)一個(gè)局面,使用??貪婪法來選擇新的動(dòng)作和更新價(jià)值函數(shù),從而使博弈效果越來越好。

      關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);差分學(xué)習(xí);損失函數(shù)

      0 引言

      棋類博弈游戲具有智能性,所以在人工智能界很早就被重視,被稱為人工智能的“果蠅”。從戰(zhàn)勝世界棋王卡斯帕羅夫的國(guó)際象棋深藍(lán)到戰(zhàn)勝李世石的圍棋博弈程序 AlphaGo,計(jì)算機(jī)博弈再次引起業(yè)內(nèi)的廣泛關(guān)注。截至目前,國(guó)內(nèi)已經(jīng)順利舉辦了十四屆全國(guó)大學(xué)生計(jì)算機(jī)博弈大賽,蘇拉卡爾塔棋是其中的一項(xiàng)比賽項(xiàng)目。

      近年來,許多學(xué)者引入機(jī)器學(xué)習(xí)和強(qiáng)化學(xué)習(xí)對(duì)計(jì)算機(jī)博弈進(jìn)行優(yōu)化。主要搜索方法包括:差分學(xué)習(xí)、阿爾法貝塔剪枝和蒙特卡洛樹等,都在一些棋類中有其成功的應(yīng)用。

      本文介紹了機(jī)器學(xué)習(xí),強(qiáng)化學(xué)習(xí)與蘇拉卡爾塔棋機(jī)器博弈的階段性成果,該方法主要是結(jié)合深度神經(jīng)網(wǎng)絡(luò)與差分學(xué)習(xí),在蘇拉卡爾塔棋博弈中引入人工神經(jīng)元為棋子的移動(dòng)估值,并通過差分學(xué)習(xí)修改網(wǎng)絡(luò)參數(shù),從而得到最有價(jià)值的棋子移動(dòng)。神經(jīng)網(wǎng)絡(luò)的輸入為棋局,輸出為棋子的價(jià)值估計(jì),之后用它們來指導(dǎo)即時(shí)差分學(xué)習(xí)(TD)。每出現(xiàn)一個(gè)局面,使用??貪婪法來選擇新的動(dòng)作和更新價(jià)值函數(shù),從而使博弈效果越來越好[1]。

      1 ? 蘇拉卡爾塔棋簡(jiǎn)介

      蘇拉卡爾塔棋是一種雙人游戲[2],源自印尼爪哇島的蘇拉卡爾塔(Surakarta)。橫豎各6條邊構(gòu)成正方形棋盤,36個(gè)交叉點(diǎn)為棋位,各邊由8段圓弧連接,通常用2種不同顏色表示。游戲在開始時(shí),每一方有12個(gè)棋子各排成2行。棋盤如圖1所示。

      規(guī)則如下:

      (1)參與者擲硬幣決定誰先開始。一次只能移動(dòng)一個(gè)棋子。兩個(gè)棋手輪流下棋。

      (2)如果移動(dòng)方向沒有棋子,任何棋子都可以在8個(gè)方向(上、下、左、右、左上、左下、右上、右下)移動(dòng)1個(gè)格。

      (3)如果你想吃掉對(duì)方的棋子,必須水平和垂直地走,并且至少穿過一條與路徑相切的弧線,移動(dòng)的路徑不能被自己的棋子阻塞。

      (4)黑子可以吃掉紅子,紅色也可以吃掉同一路徑相反方向的黑子。

      (5)當(dāng)一個(gè)界面上的一方所有棋子都被吃掉時(shí),游戲結(jié)束,有剩余棋子方獲勝。

      (6)計(jì)算機(jī)博弈一般說來,如果每局持續(xù)時(shí)間超過30分鐘,雙方都會(huì)停止,以剩余更多的棋子方贏得比賽。

      2 蘇拉卡爾塔棋棋盤分析和程序?qū)崿F(xiàn)

      2.1? 棋盤和棋子分析及表示

      (1)棋盤每個(gè)點(diǎn)以坐標(biāo)的形式表示,左上角的點(diǎn)為坐標(biāo)原點(diǎn),1號(hào)紅棋子坐標(biāo)為(0,0),2號(hào)紅棋子坐標(biāo)為(0,1), 7號(hào)紅棋子坐標(biāo)為(1,0),如圖2所示。

      (2)棋子雙方分別為紅和藍(lán)色區(qū)分,每一個(gè)棋子又有各自的編號(hào)。

      (3)下棋信息記錄。對(duì)于行棋路徑信息,采用字典對(duì)表示,字典對(duì)的第一個(gè)元素記錄起始點(diǎn),第二個(gè)元素記錄目標(biāo)點(diǎn),其數(shù)據(jù)結(jié)構(gòu)必須滿足。

      (4)判斷是否對(duì)局結(jié)束。在紅黑雙方每走一步后,程序通過對(duì)棋盤上雙方各自的棋子數(shù)量進(jìn)行統(tǒng)計(jì),從而判斷出勝負(fù);若雙方在行棋時(shí)耗時(shí)過長(zhǎng),則直接判負(fù)。

      2.2? 程序?qū)崿F(xiàn)

      棋類的博弈程序必須要有優(yōu)良的人機(jī)交互體驗(yàn)、良好的界面、快速的棋局計(jì)算時(shí)間、可供用戶自由選擇玩家對(duì)弈或人機(jī)對(duì)弈,并能自動(dòng)判斷成績(jī)和記錄分?jǐn)?shù)[3-4]。對(duì)應(yīng)功能需求劃為圖3中的幾個(gè)模塊,程序中重要的人機(jī)交互界面劃分,如圖3—4所示。

      3基于搜索樹的深度神經(jīng)網(wǎng)絡(luò)與差分學(xué)習(xí)相結(jié)合的方法

      3.1? 基于蘇拉卡爾塔棋的深度神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)特征

      機(jī)器學(xué)習(xí)方法與傳統(tǒng)方法不同,它只需要將棋盤和歷史數(shù)據(jù)輸入到神經(jīng)網(wǎng)絡(luò)中,并不用特別特征設(shè)計(jì)及人工調(diào)參[5]。輸入網(wǎng)絡(luò)中的特征,如表1所示。

      此外,與五子棋不同,蘇拉卡爾塔棋是移動(dòng)型棋子,即每步把棋子從某個(gè)位置移到另一個(gè)位置,我們使用一個(gè)平面來表示移動(dòng)棋子的位置,再使用另外一個(gè)平面來表示棋子移到的位置。然后,使用一個(gè)平面進(jìn)行表示當(dāng)前是否為先手方,如果是先手放,則該平面全部置為1,否則全置為0。筆者使用的深度神經(jīng)網(wǎng)絡(luò)為6層的卷積殘差網(wǎng)絡(luò),分為策略網(wǎng)絡(luò)(見表2)和價(jià)值網(wǎng)絡(luò)(見表3)兩個(gè)部分。其中,以策略網(wǎng)絡(luò)作為36×36的輸出,表示所有允許的移動(dòng)。神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)除已說明外,其余皆為relu函數(shù)。

      3.2 差分學(xué)習(xí)

      時(shí)序差分法(TD)學(xué)習(xí)是最重要的增強(qiáng)學(xué)習(xí)方法,其重要目標(biāo)是:當(dāng)不受人工干預(yù)時(shí),進(jìn)行自學(xué)習(xí)訓(xùn)練,從而來進(jìn)行更新估值函數(shù)的權(quán)值向量[6]。在計(jì)算機(jī)博弈的背景下,TD學(xué)習(xí)可總結(jié)為修正權(quán)值向量以對(duì)估值函數(shù)進(jìn)行擬合的過程。TD利用回報(bào)值進(jìn)行學(xué)習(xí),相比于一般的監(jiān)督學(xué)習(xí),TD用差分序列來實(shí)現(xiàn)對(duì)權(quán)值向量的訓(xùn)練,其關(guān)鍵也在于誤差可以用一系列預(yù)測(cè)值之和來表示。TD同時(shí)與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合,能夠更好地調(diào)整神經(jīng)網(wǎng)絡(luò)的參數(shù)。此次博弈程序思路基于同策略時(shí)間差分sarsa模型展開。

      SARSA算法給定強(qiáng)化學(xué)習(xí)的7個(gè)要素:狀態(tài)集S,動(dòng)作集A,即時(shí)獎(jiǎng)勵(lì)R,衰減因子γ,探索率?,求解最優(yōu)的動(dòng)作價(jià)值函數(shù)q?和最優(yōu)策略π?,不需要環(huán)境的狀態(tài)轉(zhuǎn)化模型。對(duì)于它的控制問題求解,即通過價(jià)值函數(shù)的更新,來更新當(dāng)前的策略,再通過新的策略,來產(chǎn)生新的狀態(tài)和即時(shí)獎(jiǎng)勵(lì),進(jìn)而更新價(jià)值函數(shù)。一直進(jìn)行下去,直到價(jià)值函數(shù)和策略都收斂[7-8]。

      使用??貪婪法來更新價(jià)值函數(shù)和選擇新的動(dòng)作,即開始時(shí)設(shè)定一個(gè)較小的?值,以1??的概率貪婪地選擇目前認(rèn)為是最大行為價(jià)值的行為,而以?的概率隨機(jī)地從所有m個(gè)可選行為中選擇行為。用公式可以表示為:

      在進(jìn)行迭代時(shí),先用??貪婪法從當(dāng)前狀態(tài)S中選擇一個(gè)可行動(dòng)作A,隨后轉(zhuǎn)入到一個(gè)新的狀態(tài)S',此時(shí)給出一個(gè)即時(shí)獎(jiǎng)勵(lì)R,在下一個(gè)狀態(tài)S'中再基于??貪婪法從狀態(tài)S''中得到一個(gè)動(dòng)作A'用來更新的價(jià)值函數(shù),價(jià)值函數(shù)的更新公式是:

      其中,γ是衰減因子,α是迭代步長(zhǎng),收獲Gt的表達(dá)式是R+γQ(S',A')。

      當(dāng)隨機(jī)初始化神經(jīng)網(wǎng)絡(luò)之后,對(duì)于每一個(gè)棋局狀態(tài),可以得到選擇的行動(dòng)的價(jià)值估計(jì),同時(shí)根據(jù)動(dòng)作A'之后的局面S',得到v'=fθ(s')。隨后,能夠使用反向傳播算法對(duì)我們所構(gòu)建的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。圖5—6為同策略差分學(xué)習(xí)模型。神經(jīng)網(wǎng)絡(luò)中以交叉熵和平方差兩部分來組成損失函數(shù),即對(duì)于棋局中的某一個(gè)狀態(tài):

      x公式中以來作為使L2正則化的參數(shù)。

      遵循某一策略時(shí),在S,選擇一個(gè)行為A,與環(huán)境交互,得到獎(jiǎng)勵(lì)R,進(jìn)入S',再次遵循當(dāng)前策略,產(chǎn)生一個(gè)行為A',利用Q(S',A')更新Q(S,A)。

      Every time-step:

      Policy evaluation Sarsa,Q∣qm

      Policy improvement ? -greedy policy improvement

      下面是SARSA算法應(yīng)用于蘇拉卡爾塔棋的流程:? ?(1)算法輸入。迭代輪數(shù)T,狀態(tài)集S,動(dòng)作集A,步長(zhǎng)α,衰減因子γ,探索率?。(2)輸出。所有的狀態(tài)和動(dòng)作對(duì)應(yīng)的價(jià)值Q。①隨機(jī)初始化所有的狀態(tài)和動(dòng)作對(duì)應(yīng)的價(jià)值Q。對(duì)于終止?fàn)顟B(tài)其Q值初始化為0。②for i from 1 to T,進(jìn)行迭代。

      (a)初始化S為當(dāng)前狀態(tài)序列的第一個(gè)狀態(tài)。設(shè)置A為??貪婪法在當(dāng)前狀態(tài)S選擇的動(dòng)作。

      (b)在狀態(tài)S執(zhí)行當(dāng)前動(dòng)作A,得到新狀態(tài)S'和獎(jiǎng)勵(lì)R。

      (c)用??貪婪法在狀態(tài)S'選擇新的動(dòng)作A'。

      (d)更新價(jià)值函數(shù)Q(S,A):

      Q(S,A)=Q(S,A)+α(R+γQ(S',A')?Q(S,A))

      (e)S=S',A=A'。

      (f)如果S'是終止?fàn)顟B(tài),當(dāng)前輪迭代完畢,否則轉(zhuǎn)到步驟(b)。

      對(duì)于步長(zhǎng)α,將隨著迭代的進(jìn)行逐漸變小,這樣才能保證動(dòng)作價(jià)值函數(shù)Q可以收斂。

      同策略時(shí)間差分sarsa模型算法為:

      Initialize Q(s,a),s∣S,a∣A(s),arbitrarily,and Q( terminal-state,

      Repeat (for each episode):

      Initialize S

      Choose A from S using policy derived from Q(e.g.,ε -greedy)

      Repeat (for each step of episode):

      Take action A,observe R,S'

      Choose A' from S' using policy derived from Q (e.g.,ε -greedy)

      until S is terminal

      4 實(shí)驗(yàn)結(jié)果

      對(duì)實(shí)際訓(xùn)練效果進(jìn)行檢驗(yàn),對(duì)深度神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和評(píng)估時(shí),將訓(xùn)練時(shí)的溫度控制常量τ=1,在評(píng)估性能時(shí)τ= 0.1。對(duì)于網(wǎng)絡(luò)的訓(xùn)練,筆者進(jìn)行了3 000次的模擬。在評(píng)估性能時(shí),筆者用訓(xùn)練500局的神經(jīng)網(wǎng)絡(luò)與訓(xùn)練更多次數(shù)的神經(jīng)網(wǎng)絡(luò)進(jìn)行了100局對(duì)戰(zhàn),雙方各模擬了30 s。實(shí)驗(yàn)結(jié)果,如表4所示。值得注意的是,對(duì)于性能的評(píng)估,應(yīng)適當(dāng)?shù)卦黾幽M的次數(shù),從而獲得更優(yōu)異的性能表現(xiàn)。

      由此可見,當(dāng)增加訓(xùn)練局?jǐn)?shù)時(shí),深度神經(jīng)網(wǎng)絡(luò)的博弈水平不斷地提高,所以,使用基于TD的深度神經(jīng)網(wǎng)絡(luò)博弈對(duì)于提高蘇拉卡爾塔程序的博弈水平是可行的。

      5 結(jié)語

      本文是在蘇拉卡爾塔棋機(jī)器博弈中應(yīng)用結(jié)合深度神經(jīng)網(wǎng)絡(luò)與差分學(xué)習(xí)的方法。在程序自學(xué)習(xí)訓(xùn)練的過程中,其博弈水平不斷地提高。由此可見,如果進(jìn)行上百萬局的自博弈訓(xùn)練,其博弈水平將會(huì)到達(dá)一個(gè)很高的高度。在未來的研究實(shí)踐中,調(diào)整自學(xué)習(xí)策略、優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)、引入人類對(duì)戰(zhàn)數(shù)據(jù)等方面會(huì)是我們不斷探索的方向。

      [參考文獻(xiàn)]

      [1]桂義勇.一種國(guó)際跳棋的博弈系統(tǒng)研究[J].智能計(jì)算機(jī)與應(yīng)用,2020(4):32-34,39.

      [2]曾小寧.五子棋中的博弈問題[J].廣東第二師范學(xué)院學(xué)報(bào),2003(2):96-100.

      [3]王坤峰,茍超,段艷杰,等.生成式對(duì)抗網(wǎng)絡(luò)的研究進(jìn)展與展望[J].自動(dòng)化學(xué)報(bào),2017(3):321-332.

      [4]BERTALMIO M,VESE L,SAPIRO G,et al.Simultaneous structure and texture image inpainting[J].IEEE Transactions on Image Processing,2003(8):882-889.

      [5]COLOMABALLESTER,MARCELO BOL,VICENT C,et al.Filling-in by joint interpolation of vector fields and gray levels[J].IEEE Transactions on Image Processing,2001(8):1200-1211.

      [6]GROSSAUER H.A combined PDE and texture synthesis approach to inpainting[C].Berlin:European Conference on Computer Vision.Springer,2004.

      [7]BARNES C,GOLDMAN D B,SHECHTMAN E,et al.The patchmatch randomized matching algorithm for image manipulation[J].Communications of the ACM,2011(11):103-110.

      [8]MIYATO T,KATAOKA T,KOYAMA M,et al.Spectral normalization for generative adversarial networks[J].ArXiv Preprint Arxiv,2018(2):75-59.

      (編輯 姚 鑫)

      猜你喜歡
      損失函數(shù)神經(jīng)網(wǎng)絡(luò)
      神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      基于改進(jìn)SIFT特征和神經(jīng)網(wǎng)絡(luò)結(jié)合的場(chǎng)景識(shí)別
      軟件工程(2019年5期)2019-07-03 02:31:14
      氣候變化對(duì)中國(guó)主要糧食作物單產(chǎn)影響的文獻(xiàn)計(jì)量Meta分析
      考慮應(yīng)急時(shí)間和未滿足需求量的應(yīng)急物資多階段分配模型
      基于深度學(xué)習(xí)的人臉屬性聯(lián)合估計(jì)
      基于福利損失函數(shù)的人民幣匯率制度選擇
      基于福利損失函數(shù)的人民幣匯率制度選擇
      基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
      復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
      基于支持向量機(jī)回歸和RBF神經(jīng)網(wǎng)絡(luò)的PID整定
      嵊州市| 怀仁县| 灵山县| 会泽县| 隆林| 全南县| 微博| 公安县| 海林市| 西和县| 泸州市| 林口县| 大兴区| 阳东县| 定州市| 高陵县| 拉萨市| 宁国市| 张家港市| 宁陵县| 廊坊市| 蕲春县| 光泽县| 开封县| 龙口市| 新干县| 康平县| 哈巴河县| 宁夏| 丹阳市| 伊通| 正镶白旗| 柏乡县| 商洛市| 呼和浩特市| 句容市| 天峨县| 瑞昌市| 盐边县| 杂多县| 辽宁省|