亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2021-09-13 01:21:45李森潭劉超富李宇軒張楚儀李若溪
        無(wú)線(xiàn)互聯(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ì),之后用它們來(lái)指導(dǎo)即時(shí)差分學(xué)習(xí)(TD)。每出現(xiàn)一個(gè)局面,使用??貪婪法來(lái)選擇新的動(dòng)作和更新價(jià)值函數(shù),從而使博弈效果越來(lái)越好。

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

        0 引言

        棋類(lèi)博弈游戲具有智能性,所以在人工智能界很早就被重視,被稱(chēng)為人工智能的“果蠅”。從戰(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)目。

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

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

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

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

        規(guī)則如下:

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

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

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

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

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

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

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

        2.1? 棋盤(pán)和棋子分析及表示

        (1)棋盤(pán)每個(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)必須滿(mǎn)足。

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

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

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

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

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

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

        此外,與五子棋不同,蘇拉卡爾塔棋是移動(dòng)型棋子,即每步把棋子從某個(gè)位置移到另一個(gè)位置,我們使用一個(gè)平面來(lái)表示移動(dòng)棋子的位置,再使用另外一個(gè)平面來(lái)表示棋子移到的位置。然后,使用一個(gè)平面進(jìn)行表示當(dāng)前是否為先手方,如果是先手放,則該平面全部置為1,否則全置為0。筆者使用的深度神經(jīng)網(wǎng)絡(luò)為6層的卷積殘差網(wǎng)絡(luò),分為策略網(wǎng)絡(luò)(見(jiàn)表2)和價(jià)值網(wǎng)絡(luò)(見(jiàn)表3)兩個(gè)部分。其中,以策略網(wǎng)絡(luò)作為36×36的輸出,表示所有允許的移動(dòng)。神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)除已說(shuō)明外,其余皆為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)練,從而來(lái)進(jìn)行更新估值函數(shù)的權(quán)值向量[6]。在計(jì)算機(jī)博弈的背景下,TD學(xué)習(xí)可總結(jié)為修正權(quán)值向量以對(duì)估值函數(shù)進(jìn)行擬合的過(guò)程。TD利用回報(bào)值進(jìn)行學(xué)習(xí),相比于一般的監(jiān)督學(xué)習(xí),TD用差分序列來(lái)實(shí)現(xiàn)對(duì)權(quán)值向量的訓(xùn)練,其關(guān)鍵也在于誤差可以用一系列預(yù)測(cè)值之和來(lái)表示。TD同時(shí)與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合,能夠更好地調(diào)整神經(jīng)網(wǎng)絡(luò)的參數(shù)。此次博弈程序思路基于同策略時(shí)間差分sarsa模型展開(kāi)。

        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ì)于它的控制問(wèn)題求解,即通過(guò)價(jià)值函數(shù)的更新,來(lái)更新當(dāng)前的策略,再通過(guò)新的策略,來(lái)產(chǎn)生新的狀態(tài)和即時(shí)獎(jiǎng)勵(lì),進(jìn)而更新價(jià)值函數(shù)。一直進(jìn)行下去,直到價(jià)值函數(shù)和策略都收斂[7-8]。

        使用??貪婪法來(lái)更新價(jià)值函數(shù)和選擇新的動(dòng)作,即開(kāi)始時(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'用來(lái)更新的價(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ò)中以交叉熵和平方差兩部分來(lái)組成損失函數(shù),即對(duì)于棋局中的某一個(gè)狀態(tài):

        x公式中以來(lái)作為使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īng)顟B(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)。

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

        5 結(jié)語(yǔ)

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

        [參考文獻(xiàn)]

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

        [2]曾小寧.五子棋中的博弈問(wèn)題[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ò)抑制無(wú)線(xiàn)通信干擾探究
        電子制作(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í)間和未滿(mǎn)足需求量的應(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整定
        桃色一区一区三区蜜桃视频| 成人综合亚洲欧美一区h| 亚洲av成人无码网站大全| 国产乱子伦一区二区三区| 免费无码成人av在线播| āV第三区亚洲狠狠婷婷综合久久| 亚洲精品成人av观看| 无码成年性午夜免费网站蜜蜂| 日韩在线中文字幕一区二区三区| 久久2020精品免费网站| 加勒比婷婷色综合久久| 老女老肥熟女一区二区| 国产亚洲精品a片久久久| 在线欧美中文字幕农村电影| 亚洲18色成人网站www| 亚洲AV无码一区二区三区人| 久久波多野结衣av| 久久久久无码精品国| 日韩一区二区中文字幕视频| 午夜精品久久99蜜桃| 亚洲综合欧美色五月俺也去| 99久久超碰中文字幕伊人| 中国熟妇人妻xxxxx| 亚洲国产精品尤物yw在线观看| 一本无码av一区二区三区| 蜜臀久久久精品国产亚洲av| 精品一区二区av在线| 国产动作大片中文字幕| 真人作爱免费视频| 久久综合第一页无码| 国产亚洲av手机在线观看| 亚洲国产91精品一区二区| 一本色道久久88—综合亚洲精品| 国产a级毛片久久久精品毛片| 中文字幕欧美人妻精品一区| 亚洲xxxx做受欧美| 亚洲aⅴ无码国精品中文字慕| 日日骚一区二区三区中文字幕| 国产视频在线观看一区二区三区| 国产成人久久精品一区二区三区 | 精品国产乱码久久久久久婷婷|