• 
    

    
    

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

      ?

      脈沖神經(jīng)網(wǎng)絡(luò)算法及其在撲克游戲中的應(yīng)用

      2021-09-16 01:51:50董麗亞王麒淋
      關(guān)鍵詞:決策層順子權(quán)值

      董麗亞,何 虎+,王麒淋,楊 旭

      (1.清華大學(xué) 微電子與納電子學(xué)系,北京 100084;2.北京理工大學(xué) 軟件學(xué)院,北京 100084)

      0 引 言

      脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural network,SNN)[1]是一種極具生物可解釋性的仿生型人工神經(jīng)網(wǎng)絡(luò),不同于現(xiàn)在主流神經(jīng)網(wǎng)絡(luò)采用的“統(tǒng)計(jì)+計(jì)算”的方式,脈沖神經(jīng)網(wǎng)絡(luò)通過擬合生物神經(jīng)元機(jī)制,模擬生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和信息加工過程來進(jìn)行計(jì)算[2]。SNN使用脈沖(發(fā)生在某個(gè)時(shí)間點(diǎn)的事件的離散值)來傳遞信息,不僅傳遞空間信息,還加入了時(shí)間信息的傳遞,計(jì)算能力更強(qiáng)。但目前關(guān)于SNN的研究剛剛起步,缺乏有效的SNN網(wǎng)絡(luò)結(jié)構(gòu)和學(xué)習(xí)算法,嚴(yán)重限制SNN的發(fā)展。目前已有的SNN算法有STDP(spike timing dependent plasticity)、ReSuMe(remote supervised method)和SpikeProp等,在現(xiàn)有算法的基礎(chǔ)上,本文提出了基于STDP規(guī)則的權(quán)值學(xué)習(xí)算法,通過調(diào)整引導(dǎo)神經(jīng)元的激發(fā)時(shí)間來間接調(diào)整目標(biāo)權(quán)值,在網(wǎng)絡(luò)結(jié)構(gòu)方面,利用生物學(xué)的條件反射原理結(jié)合Hebb規(guī)則提出了脈沖神經(jīng)網(wǎng)絡(luò)突觸的生長算法,通過該算法可以實(shí)現(xiàn)網(wǎng)絡(luò)的自生長和自適應(yīng),同時(shí)提出了具有普適性的四層脈沖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。為了驗(yàn)證網(wǎng)絡(luò)結(jié)構(gòu)和算法的可行性,本文將算法應(yīng)于不完美信息博弈[3]中,撲克游戲是一種典型的不完美信息博弈,本文將會(huì)以斗地主撲克游戲?yàn)槔ㄟ^SNN網(wǎng)絡(luò)結(jié)構(gòu)和算法來學(xué)習(xí)一個(gè)人的打牌能力,實(shí)現(xiàn)一個(gè)擬人化的斗地主機(jī)器人。

      1 脈沖神經(jīng)網(wǎng)絡(luò)理論基礎(chǔ)

      1.1 脈沖神經(jīng)元模型

      傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的神經(jīng)元通過乘加運(yùn)算和激活函數(shù),從數(shù)學(xué)角度使用“統(tǒng)計(jì)+計(jì)算”的方式對(duì)數(shù)據(jù)進(jìn)行處理[4,5];而脈沖神經(jīng)元通過復(fù)現(xiàn)生物神經(jīng)元工作狀態(tài)及狀態(tài)變化過程,建立具有仿生型的模型,結(jié)合神經(jīng)形態(tài)學(xué)和神經(jīng)動(dòng)力學(xué)角度對(duì)生物神經(jīng)元進(jìn)行模擬。目前廣泛認(rèn)可的脈沖神經(jīng)元模型[6]有:Integrate-and-fire模型、Hodgkin-Huxley模型、Fractional-Order Leaky integrate-and-fire模型、泄漏積分放電(leaky integrate-and-fire,LIF)模型等。為了同時(shí)兼顧模型參數(shù)復(fù)雜度和生物學(xué)仿生精確度,本文采用LIF模型。

      LIF神經(jīng)元等效為一個(gè)帶有電壓源偏置的電阻與電容并聯(lián)的模型,通過電容的充放電實(shí)現(xiàn)改變神經(jīng)元的膜電位。如果神經(jīng)元膜電位上升到激活閾值,那么就會(huì)導(dǎo)致神經(jīng)元的激發(fā),從而在輸出端產(chǎn)生一個(gè)脈沖信號(hào),神經(jīng)元膜電位會(huì)迅速下降到靜息電位。

      圖1為LIF神經(jīng)元等效電路。

      圖1 LIF神經(jīng)元等效電路

      根據(jù)膜電位的變化,將LIF神經(jīng)元的活動(dòng)狀態(tài)分為3種:電荷泄漏、電荷積累和脈沖發(fā)射。且神經(jīng)元的電荷泄漏和電荷積累過程可以使用數(shù)學(xué)公式進(jìn)行表示,如式(1)所示

      (1)

      其中,Vm(t),Cm,Rm,I(t)分別為神經(jīng)元膜電位、膜電容、膜電阻和充電電流;Vret為偏置電壓源,為神經(jīng)元提供靜息電位。input1和input2,w1和w2分別為神經(jīng)元的輸入的脈沖信號(hào)和對(duì)應(yīng)權(quán)值,output輸出脈沖信號(hào)。

      1.2 STDP規(guī)則

      Spiking-timing-dependent-plasticity(STDP)[7]稱為突觸可塑性規(guī)則,是一種對(duì)生物神經(jīng)元突觸變化規(guī)律的描述,來源于生物實(shí)驗(yàn)的因果學(xué)習(xí)的規(guī)則。圖2是算法。

      圖2 STDP規(guī)則

      當(dāng)滿足因果關(guān)系時(shí),即:突觸前神經(jīng)元(Npre)激活時(shí)間早于突觸后神經(jīng)元(Npost)激活時(shí)間的時(shí)候,增加兩個(gè)神經(jīng)元之間的連接權(quán)值;反之不滿足因果關(guān)系時(shí),減弱連接權(quán)值。權(quán)值變化幅度與連接前后神經(jīng)元激活時(shí)間的函數(shù)關(guān)系,如式(2)和式(3)所示

      Δt=t2-t1

      (2)

      (3)

      其中,t2,t1分別為Npost,Npre激活時(shí)間;τ為衰減速率;α為對(duì)稱度調(diào)整參數(shù);μ為控制指數(shù)曲率的因子;λ為權(quán)值的學(xué)習(xí)率;w為突觸連接權(quán)值,如果w取值范圍不為區(qū)間[0,1],需要先進(jìn)行歸一化。根據(jù)w與t的函數(shù)關(guān)系,可以得到STDP規(guī)則函數(shù)曲線,如圖3所示。

      圖3 STDP規(guī)則函數(shù)曲線

      2 脈沖神經(jīng)網(wǎng)絡(luò)算法

      2.1 基于STDP規(guī)則的權(quán)值學(xué)習(xí)算法

      STDP是基于生物學(xué)因果關(guān)系的無監(jiān)督學(xué)習(xí)[8],為了設(shè)計(jì)監(jiān)督式學(xué)習(xí)算法,本文參考STDP規(guī)則[9],并對(duì)算法進(jìn)行改進(jìn)。通過添加一個(gè)“引導(dǎo)”神經(jīng)元,調(diào)整激活時(shí)間t3,即可改變Npost神經(jīng)元的激發(fā)時(shí)間t2,再根據(jù)STDP規(guī)則,從而達(dá)到了間接調(diào)整Npre與Npost的權(quán)值w1的目標(biāo)。監(jiān)督式學(xué)習(xí)算法實(shí)現(xiàn)方式如圖4所示。

      圖4 基于STDP規(guī)則的權(quán)值學(xué)習(xí)算法

      監(jiān)督式學(xué)習(xí)算法通過對(duì)引導(dǎo)神經(jīng)元激活時(shí)間的控制,能夠達(dá)到對(duì)Npost神經(jīng)元激活時(shí)間的調(diào)整,最終實(shí)現(xiàn)對(duì)connection1的增強(qiáng)或者抑制,圖5是權(quán)值增強(qiáng)和權(quán)值減弱的實(shí)驗(yàn)。

      首先,進(jìn)行了權(quán)值增強(qiáng)實(shí)驗(yàn),采用引導(dǎo)神經(jīng)元對(duì)兩個(gè)神經(jīng)元之間的連接進(jìn)行權(quán)值增強(qiáng)的訓(xùn)練,如圖5(a)所示,通過引導(dǎo)神經(jīng)元對(duì)連接后端神經(jīng)元Npost的作用,能對(duì)神經(jīng)元之間的連接起到明顯的增強(qiáng)效果,連接權(quán)值w1增長速度隨著迭代次數(shù)的增加而逐漸趨于穩(wěn)定。

      與權(quán)值增強(qiáng)實(shí)驗(yàn)類似,采用抑制性引導(dǎo)神經(jīng)元對(duì)兩個(gè)神經(jīng)元之間的連接進(jìn)行權(quán)值減弱的訓(xùn)練,如圖所示,連接權(quán)值w1減弱速度也會(huì)隨著迭代次數(shù)的增加而趨于穩(wěn)定,如圖5(b)所示。

      圖5 權(quán)值增強(qiáng)實(shí)驗(yàn)和權(quán)值減弱實(shí)驗(yàn)

      2.2 基于Hebb規(guī)則的結(jié)構(gòu)學(xué)習(xí)算法

      文章基于Hebb規(guī)則的基本原理[10,11],提出了基于Hebb規(guī)則的神經(jīng)元連接算法。算法中規(guī)定,在同一輪仿真迭代周期內(nèi),如果兩個(gè)神經(jīng)元的激活時(shí)間相近,時(shí)間差小于某一閾值,并且兩者之間未存在連接,則在這兩個(gè)神經(jīng)元中間建立一條連接,連接的方向從先激活的神經(jīng)元指向后激活的神經(jīng)元。基于Hebb規(guī)則的神經(jīng)元連接算法,如圖6所示。

      圖6 基于Hebb規(guī)則的神經(jīng)元連接

      同時(shí),在算法中規(guī)定神經(jīng)元新連接的產(chǎn)生需要考慮位置因素,當(dāng)兩個(gè)神經(jīng)元位置超出距離閾值后,即便神經(jīng)元活動(dòng)存在一定的相關(guān)性,也不建立連接。而在結(jié)構(gòu)學(xué)習(xí)算法中,也在網(wǎng)絡(luò)中添加了神經(jīng)元的坐標(biāo)信息,用于衡量神經(jīng)元之間的位置關(guān)系。Hebb規(guī)則具體算法流程見表1。

      表1 Hebb規(guī)則具體算法流程

      3 非完美信息博弈——斗地主游戲

      目前,人工智能在游戲方面取得了里程碑式的突破[12],但這些游戲的基本特征是游戲中玩家能夠獲得完美信息,在非完美信息的應(yīng)用場景[13],目前仍是挑戰(zhàn)性課題,撲克游戲是典型的非完美信息博弈,本文將以斗地主游戲?yàn)槔齺眚?yàn)證算法的可行性。

      不同于傳統(tǒng)神經(jīng)網(wǎng)絡(luò),提前考慮了所有可能出現(xiàn)的狀態(tài)并制定對(duì)應(yīng)策略[14],本文不是事先制定策略,而是通過根據(jù)SNN的特性生成仿生型網(wǎng)絡(luò)結(jié)構(gòu),通過SNN算法訓(xùn)練網(wǎng)絡(luò)權(quán)值。在面對(duì)博弈時(shí),考慮當(dāng)前的游戲狀態(tài),輸入到SNN網(wǎng)絡(luò)中,再每一步重新計(jì)算策略。通過這樣的仿生型網(wǎng)絡(luò)學(xué)習(xí)一個(gè)人的打牌能力,且最終結(jié)果是以擬人化程度作為評(píng)判網(wǎng)絡(luò)性能的標(biāo)準(zhǔn),而非像傳統(tǒng)神經(jīng)網(wǎng)絡(luò)采用勝率作為評(píng)判標(biāo)準(zhǔn)。

      為此,本文提出了具有普適性的四層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),一種基于脈沖神經(jīng)網(wǎng)絡(luò)在非完美信息條件下決策的方法。建立輸入層,對(duì)非完美信息條件下的信息進(jìn)行預(yù)處理,將輸入信息轉(zhuǎn)換為脈沖信號(hào),產(chǎn)生并激發(fā)輸入層神經(jīng)元;建立規(guī)則層,將所有可能發(fā)生的事件劃分為樣本點(diǎn),每個(gè)樣本點(diǎn)對(duì)應(yīng)產(chǎn)生一個(gè)規(guī)則層神經(jīng)元,將所有可以激發(fā)樣本點(diǎn)的輸入層神經(jīng)元與該樣本點(diǎn)對(duì)應(yīng)的規(guī)則層神經(jīng)元全連接;建立決策層,在決策層生成神經(jīng)元,決策層神經(jīng)元個(gè)數(shù)和規(guī)則層神經(jīng)元個(gè)數(shù)相等,將規(guī)則層神經(jīng)元和決策層神經(jīng)元一一對(duì)應(yīng),并根據(jù)脈沖神經(jīng)網(wǎng)絡(luò)算法建立決策層層內(nèi)連接;建立輸出層,根據(jù)決策層的網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)值輸出信號(hào)。如圖7所示,這種四層網(wǎng)絡(luò)結(jié)構(gòu)簡單,不涉及大量計(jì)算,提高了非完美信息條件下決策的效率且準(zhǔn)確度更高。

      圖7 基于非完美信息條件下的四層脈沖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

      3.1 基于脈沖神經(jīng)網(wǎng)絡(luò)的斗地主叫牌

      斗地主叫牌輸入信息為17張手牌,輸出信息為是否叫牌。根據(jù)上文提出的普適性四層網(wǎng)絡(luò)結(jié)構(gòu),整個(gè)叫牌網(wǎng)絡(luò)分為四層結(jié)構(gòu),如圖8所示。

      圖8 斗地主叫牌的四層網(wǎng)絡(luò)結(jié)構(gòu)

      網(wǎng)絡(luò)分為4層:

      輸入層:載入原始數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,將卡牌轉(zhuǎn)換為脈沖序列。輸入層神經(jīng)元個(gè)數(shù)54個(gè)。將54張牌進(jìn)行數(shù)據(jù)處理,根據(jù)脈沖轉(zhuǎn)換規(guī)則,將每一種牌轉(zhuǎn)換為對(duì)應(yīng)的神經(jīng)元脈沖發(fā)射時(shí)間。

      規(guī)則記憶層:將斗地主里的所有規(guī)則進(jìn)行了定義。單張、雙王、炸彈、對(duì)子、三張、三帶一、三帶二、四帶一、四帶二、三連對(duì)、四連對(duì)、五連對(duì)、六連對(duì)、七連對(duì)、八連對(duì)、九連對(duì)、十連對(duì)、五張順子、六張順子、七張順子、八張順子、九張順子、十張順子、十一張順子、十二張順子、二連飛機(jī)、飛機(jī)帶翅膀、三連飛機(jī)、飛機(jī)帶兩對(duì)、四連飛機(jī)、三連飛機(jī)帶翅膀、五連飛機(jī)、三連飛機(jī)帶三對(duì)、四連飛機(jī)帶翅膀、六連飛機(jī)、四連飛機(jī)帶四對(duì)、五連飛機(jī)帶翅膀,共277個(gè)規(guī)則,對(duì)應(yīng)277個(gè)神經(jīng)元,并按照相應(yīng)的規(guī)則連接輸入層和規(guī)則層。

      決策層:也可以稱為推理層,對(duì)現(xiàn)有的牌進(jìn)行組合,形成類似生物體的腦結(jié)構(gòu)。在決策層中生成277個(gè)神經(jīng)元,并以二維空間分布。神經(jīng)元在空間位置分布上按照牌型優(yōu)先級(jí)分布,如圖8的layer3所示,優(yōu)先級(jí)是對(duì)斗地主規(guī)則牌型大小的排序等級(jí)。對(duì)叫牌貢獻(xiàn)大的牌型規(guī)則優(yōu)先級(jí)為高,依次至對(duì)叫牌貢獻(xiàn)最小的牌型規(guī)則優(yōu)先級(jí)為低。將規(guī)則層神經(jīng)元和決策層神經(jīng)元采用“one-to-one”的連接方式。

      輸出層:一個(gè)輸出(1/0)。決策層神經(jīng)元全連接至輸出層神經(jīng)元。

      網(wǎng)絡(luò)形成的決策層類似于生物體的大腦結(jié)構(gòu),具體決策層的形成方法是在網(wǎng)絡(luò)訓(xùn)練過程運(yùn)用基于STDP的權(quán)值學(xué)習(xí)算法和Hebb連接算法調(diào)整決策層內(nèi)部的突觸連接關(guān)系和權(quán)值大小。具體為:在決策層中,運(yùn)用Hebb規(guī)則,獲取兩個(gè)獨(dú)立神經(jīng)元的位置,判斷兩個(gè)神經(jīng)元的相對(duì)位置是否小于2,若大于2,神經(jīng)元之間不建立連接,反之小于2時(shí),獲取兩個(gè)獨(dú)立神經(jīng)元的脈沖激發(fā)時(shí)間,計(jì)算激活時(shí)間差值是否小于時(shí)間閾值(1.0 ms),若是兩個(gè)神經(jīng)元建立連接,并設(shè)置其權(quán)值為1180.0,反之不建立連接。在時(shí)間和空間的連接規(guī)則下,形成了決策層的層內(nèi)連接關(guān)系。

      通過STDP規(guī)則,訓(xùn)練網(wǎng)絡(luò)的權(quán)值大小。在訓(xùn)練過程中,設(shè)置決策層中優(yōu)先級(jí)高的神經(jīng)元連接到輸出層神經(jīng)元的初始權(quán)值較大,反之優(yōu)先級(jí)低對(duì)應(yīng)的初始權(quán)值較小。根據(jù)輸出信號(hào)即是否叫牌來對(duì)決策層到輸出層的連接權(quán)值進(jìn)行權(quán)值調(diào)整,若此輪訓(xùn)練過程中叫牌,則增加引導(dǎo)神經(jīng)元至輸出神經(jīng)元的連接權(quán)值,根據(jù)本文改進(jìn)的STDP規(guī)則,會(huì)增大決策層內(nèi)神經(jīng)元至輸出神經(jīng)元的連接權(quán)值;不叫牌則反之減小權(quán)值,權(quán)值調(diào)節(jié)的大小如式(2)、式(3)所示。訓(xùn)練完成后形成的網(wǎng)絡(luò)即可以實(shí)現(xiàn)斗地主叫牌功能。表2為斗地主叫牌算法流程。

      表2 斗地主叫牌算法訓(xùn)練流程

      3.2 基于脈沖神經(jīng)網(wǎng)絡(luò)的斗地主出牌

      斗地主出牌相對(duì)于斗地主叫牌有更多的不確定性因素。根據(jù)游戲規(guī)則,玩家出牌有兩方面的影響:一是玩家手中的牌;二是上家的出牌情況。上文提出的普適性的脈沖神經(jīng)網(wǎng)絡(luò)的四層網(wǎng)絡(luò)結(jié)構(gòu)同樣適用于斗地主出牌階段,圖9是基于四層脈沖神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的斗地主出牌框架。

      輸入層:斗地主出牌受兩方面的影響,一是玩家手中的牌;二是上家的出牌情況。所以輸入層有兩個(gè),為了方便區(qū)分,我們將上圖的網(wǎng)絡(luò)分為本家出牌網(wǎng)絡(luò),其輸入信號(hào)是玩家手牌信息,以及上家網(wǎng)絡(luò),其輸入信號(hào)是上家的出牌。

      規(guī)則層:將斗地主里的所有規(guī)則進(jìn)行了定義。單張、雙王、炸彈、對(duì)子、三張、三帶一、三帶二、四帶一、四帶二、三連對(duì)、四連對(duì)、五連對(duì)、六連對(duì)、七連對(duì)、八連對(duì)、九連對(duì)、十連對(duì)、五張順子、六張順子、七張順子、八張順子、九張順子、十張順子、十一張順子、十二張順子、二連飛機(jī)、飛機(jī)帶翅膀、三連飛機(jī)、飛機(jī)帶兩對(duì)、四連飛機(jī)、三連飛機(jī)帶翅膀、五連飛機(jī)、三連飛機(jī)帶三對(duì)、四連飛機(jī)帶翅膀、六連飛機(jī)、四連飛機(jī)帶四對(duì)、五連飛機(jī)帶翅膀,共277個(gè)規(guī)則。本家出牌網(wǎng)絡(luò)和上家網(wǎng)絡(luò)的規(guī)則層分別對(duì)應(yīng)各自的規(guī)則層,如圖9所示。且由于本家出牌時(shí),要考慮不同情況將本家的規(guī)則層layer2分為3個(gè)通道,不同的游戲場景下激活相應(yīng)通道的規(guī)則層,3種場景分別是:

      其次是或?qū)⒂绊懶袠I(yè)復(fù)蘇。在集運(yùn)市場,班輪公司在經(jīng)過整合后對(duì)投放市場的運(yùn)力達(dá)成更多共識(shí),一直偏離價(jià)值的運(yùn)價(jià)也終將向正常范圍靠近。如果中美貿(mào)易戰(zhàn)全面升級(jí),美國將征收關(guān)稅對(duì)象的產(chǎn)品清單向低附加值貨物擴(kuò)展,將給班輪公司帶來運(yùn)量和運(yùn)價(jià)的雙重壓力,這將打破集運(yùn)市場周期復(fù)蘇的勢頭。隨著下降趨勢持續(xù)推進(jìn),將從集運(yùn)市場波及散運(yùn)以及油運(yùn)市場,從而進(jìn)一步影響整個(gè)航運(yùn)市場。

      (1)本輪游戲,本家玩家主動(dòng)出牌,沒有上家出牌。

      (2)本輪游戲中,本家屬于跟牌,且出牌的上家是敵方。

      (3)本輪游戲中,本家屬于跟牌,且出牌的上家是友方。

      決策層:將符合上家出牌規(guī)則的本家網(wǎng)絡(luò)layer2中的神經(jīng)元輸出至決策層。

      輸出層:輸出出牌結(jié)果。

      其中輸入層和輸出層的處理比較簡單,不做介紹,將主要介紹規(guī)則層和決策層。

      3.2.1 斗地主出牌網(wǎng)絡(luò)的規(guī)則層

      斗地主的出牌規(guī)則層是對(duì)輸入數(shù)據(jù)規(guī)則的判定,由于輸入層分為了本家和上家兩個(gè)輸入模塊,所以對(duì)于規(guī)則層也需要兩個(gè)規(guī)則層模塊分別對(duì)兩個(gè)輸入進(jìn)行規(guī)則的劃分判定,如圖9所示。

      圖9 基于脈沖神經(jīng)網(wǎng)絡(luò)的斗地主出牌框架

      對(duì)上家網(wǎng)絡(luò)的分析,根據(jù)規(guī)則層判斷出上家出牌的大類規(guī)則即可,所以上家網(wǎng)絡(luò)規(guī)則層與叫牌階段的規(guī)則層分析及規(guī)則的劃分一致。

      (2)本家網(wǎng)絡(luò)的規(guī)則層

      由于本家網(wǎng)絡(luò)在出牌的時(shí)候,針對(duì)不同的情況有不同的處理方法,本文對(duì)情景進(jìn)行劃分,分為以下3種場景:本輪游戲,本家玩家主動(dòng)出牌,沒有上家出牌;本輪游戲中,本家屬于被動(dòng)跟牌,且出牌的上家是敵方;本輪游戲中,本家屬于被動(dòng)跟牌,且出牌的上家是友方。

      對(duì)于以上的3張出牌情況將本家網(wǎng)絡(luò)的規(guī)則層分成3個(gè)通道,每一種通道對(duì)應(yīng)一種出牌情況,輸入層與每一個(gè)通道的規(guī)則的連接關(guān)系與叫牌階段的一致,即每一個(gè)通道都與本家網(wǎng)絡(luò)的輸入層建立連接關(guān)系,輸入層至規(guī)則層的連接情況和權(quán)值與斗地主叫牌時(shí)的連接一致。3個(gè)通道分別代表的是3種場景,所以規(guī)則層的不同通道的神經(jīng)元不建立連接關(guān)系。

      且本家出牌的規(guī)則層受到上家出牌規(guī)則的限制,所以本家的layer2激發(fā)情況受到上家網(wǎng)絡(luò)layer2的限制,只有和其規(guī)則保持一致,且牌型比上家的大的神經(jīng)元才能被激發(fā)傳遞到下一層網(wǎng)絡(luò)。

      3.2.2 斗地主出牌網(wǎng)絡(luò)的決策層

      本家規(guī)則層的3個(gè)通道分別與決策層連接,連接方式為“one-to-one”的形式,初始狀態(tài)決策層內(nèi)部無連接關(guān)系,通過脈沖神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法,在決策層內(nèi)部生長出新的突觸,形成類似生物體的腦結(jié)構(gòu)。通過生成的決策網(wǎng)絡(luò)學(xué)習(xí)輸入數(shù)據(jù)的出牌能力。在決策層中生成277個(gè)神經(jīng)元,并以二維空間分布,神經(jīng)元在空間位置分布上按照牌型優(yōu)先級(jí)分布,優(yōu)先級(jí)是對(duì)斗地主規(guī)則牌型大小的排序等級(jí)。對(duì)叫牌貢獻(xiàn)大的牌型規(guī)則優(yōu)先級(jí)為高,依次至對(duì)叫牌貢獻(xiàn)最小的牌型規(guī)則優(yōu)先級(jí)為低,和叫牌的決策層的優(yōu)先級(jí)分布一致。

      通過網(wǎng)絡(luò)的結(jié)構(gòu)和權(quán)值訓(xùn)練形成類腦的出牌決策層。

      訓(xùn)練的過程是:初始化出牌網(wǎng)絡(luò)結(jié)構(gòu)。輸入玩家的手牌和上家的出牌情況,將信號(hào)依次輸入至規(guī)則層,然后至決策層,在決策層內(nèi)部根據(jù)Hebb生長算法,生成決策層內(nèi)部的突觸連接,根據(jù)Hebb的突觸修正公式調(diào)整決策層內(nèi)部的連接權(quán)值。再通過STDP規(guī)則,訓(xùn)練決策層至輸出層網(wǎng)絡(luò)的權(quán)值大小。在訓(xùn)練過程中,設(shè)置決策層中優(yōu)先級(jí)高的神經(jīng)元連接到輸出層神經(jīng)元的初始權(quán)值較大,反之優(yōu)先級(jí)低對(duì)應(yīng)的初始權(quán)值較小。根據(jù)輸出信號(hào)即數(shù)據(jù)集的出牌神經(jīng)元id找到其對(duì)決策層的神經(jīng)元,增大該神經(jīng)元至輸出層的連接權(quán)值,減小與其它決策層神經(jīng)元的連接權(quán)值。訓(xùn)練完成后形成的網(wǎng)絡(luò)即可以實(shí)現(xiàn)斗地主出牌功能。

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

      4.1 斗地主叫牌實(shí)驗(yàn)結(jié)果

      在斗地主實(shí)驗(yàn)中,我們以生成決策層的層內(nèi)連接及調(diào)整決策層到輸出層的連接權(quán)值為主要目標(biāo),通過斗地主叫牌網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)一個(gè)人叫牌能力的學(xué)習(xí)。

      實(shí)驗(yàn)采用的是一名真人的叫牌數(shù)據(jù),共計(jì)1700組叫牌數(shù)據(jù),將其中1500組數(shù)據(jù)作為訓(xùn)練集數(shù)據(jù),200組數(shù)據(jù)作為測試集。實(shí)驗(yàn)以擬人化程度作為評(píng)判標(biāo)準(zhǔn),如式(4)所示

      (4)

      圖10是訓(xùn)練生成的決策網(wǎng)絡(luò),決策層最初沒有內(nèi)部連接。在圖中,當(dāng)訓(xùn)練集為10、100和1500時(shí),分別獲得決策層中的連接關(guān)系??梢钥闯?,在Hebb規(guī)則的作用下,連接的數(shù)量正在增加,體現(xiàn)出了決策層的學(xué)習(xí)過程,其中每個(gè)網(wǎng)格點(diǎn)代表一個(gè)神經(jīng)元。

      圖10 訓(xùn)練生成的叫牌決策網(wǎng)絡(luò)

      可以看到,決策層的層內(nèi)連接主要在網(wǎng)絡(luò)的上方部分,即網(wǎng)絡(luò)優(yōu)先級(jí)高的神經(jīng)元建立的內(nèi)部連接較多,對(duì)叫牌貢獻(xiàn)大。優(yōu)先級(jí)低的神經(jīng)元極少建立內(nèi)部連接,對(duì)叫牌貢獻(xiàn)小。與理論分析一致。

      我們以一組數(shù)據(jù)為例,對(duì)實(shí)驗(yàn)進(jìn)行測試模擬。測試集為2KKKKJJJJ55553333。

      圖11為輸入層神經(jīng)元的整體激發(fā)情況,輸入層對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)處理并將輸入數(shù)據(jù)轉(zhuǎn)換為脈沖信號(hào),從圖中可以看到此輪游戲中,輸入層神經(jīng)元膜電位隨時(shí)間的變化曲線,統(tǒng)計(jì)膜電位超過閾值電壓的神經(jīng)元id,得到輸入層被激發(fā)的神經(jīng)元id。

      圖11 輸入層神經(jīng)元的整體激發(fā)情況

      通過斗地主叫牌網(wǎng)絡(luò),脈沖信號(hào)依次被傳入規(guī)則層、決策層和輸出層。

      脈沖信號(hào)被傳入規(guī)則層,規(guī)則層神經(jīng)元的激活情況如圖12所示,規(guī)則層神經(jīng)元的膜電位隨時(shí)間的變化曲線如圖12(a)所示,規(guī)則層被激發(fā)的神經(jīng)元id如圖12(b)所示,通過激發(fā)神經(jīng)元的id可以得到在此次游戲中被激發(fā)的規(guī)則有3,33,333,3333,5,55,555,5555,J,JJ,JJJ,JJJJ,K,KK,KKK,KKKK,2,此輪規(guī)則層共13個(gè)神經(jīng)元被激發(fā)。

      圖12 規(guī)則層神經(jīng)元的激活情況

      通過圖10中的決策層網(wǎng)絡(luò),輸出層神經(jīng)元被激發(fā),即該輪游戲中,斗地主機(jī)器人輸出是叫牌,和測試集數(shù)據(jù)一致。

      通過200個(gè)測試數(shù)據(jù)的測試,測試過程見表3。

      表3 斗地主測試算法

      最終得到擬人化程度為85%,實(shí)驗(yàn)結(jié)果見表4。

      表4 斗地主叫牌實(shí)驗(yàn)數(shù)據(jù)

      4.2 斗地主出牌實(shí)驗(yàn)結(jié)果

      出牌階段主要以訓(xùn)練玩家本家網(wǎng)絡(luò)的決策層內(nèi)部突觸連接和訓(xùn)練連接權(quán)值為主,以及訓(xùn)練決策層與輸出層的連接權(quán)值。通過網(wǎng)絡(luò)的自生長和自適應(yīng)算法生成一個(gè)可以學(xué)習(xí)人類打牌的智能體。隨著輸入數(shù)據(jù)的訓(xùn)練量增大,決策層內(nèi)部建立的連接關(guān)系變多。圖13是對(duì)網(wǎng)絡(luò)進(jìn)行2500組出牌數(shù)據(jù)訓(xùn)練得到的網(wǎng)絡(luò)結(jié)構(gòu)。

      圖13 出牌決策層網(wǎng)絡(luò)結(jié)構(gòu)

      斗地主出牌測試階段,網(wǎng)絡(luò)出牌不具有唯一性,由于網(wǎng)絡(luò)會(huì)對(duì)過去已知知識(shí)進(jìn)行學(xué)習(xí),所以,會(huì)隨著輸入數(shù)據(jù)量的增大而發(fā)生動(dòng)態(tài)變化。因此出牌的測試僅進(jìn)行功能性測試,沒有量化指標(biāo)。

      以一組數(shù)據(jù)為例進(jìn)行功能驗(yàn)證。以此輪游戲玩家主動(dòng)出牌,且以手牌為4 5 5 6 6 6 7 10 J K A 2 小王 大王為例,沒有上家出牌。得到的規(guī)則層神經(jīng)元的膜電位隨時(shí)間的變化情況如圖14所示。將規(guī)則層中被激發(fā)的神經(jīng)元將信息傳遞到?jīng)Q策網(wǎng)絡(luò),最終得到的輸出結(jié)果如圖15所示??梢钥吹捷敵鰧拥?27個(gè)神經(jīng)元僅有一個(gè)神經(jīng)元被激發(fā),且該神經(jīng)元的id代表的信息是輸出結(jié)果是4,出牌網(wǎng)絡(luò)的功能性正常。

      圖14 出牌規(guī)則層神經(jīng)元的膜電位隨時(shí)間的變化

      圖15 輸出層的神經(jīng)元激發(fā)情況

      與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比,不同于傳統(tǒng)神經(jīng)網(wǎng)絡(luò),提前考慮了所有可能出現(xiàn)的狀態(tài)并制定對(duì)應(yīng)策略,本文不是事先制定策略,而是通過根據(jù)SNN的特性生成仿生型網(wǎng)絡(luò)結(jié)構(gòu),通過SNN算法訓(xùn)練網(wǎng)絡(luò)權(quán)值。在面對(duì)博弈時(shí),考慮當(dāng)前的游戲狀態(tài),輸入到SNN網(wǎng)絡(luò)中,再每一步重新計(jì)算策略。傳統(tǒng)AI通過所有的牌型評(píng)分,每一種牌型都有其對(duì)應(yīng)的出牌結(jié)果,選擇最優(yōu)結(jié)果,是確定性的數(shù)據(jù)分析和運(yùn)算,不具備智能性。而SNN網(wǎng)絡(luò)的斗地主:通過形成類似人腦結(jié)構(gòu)的決策層網(wǎng)絡(luò),建立網(wǎng)絡(luò)內(nèi)部的連接關(guān)系和權(quán)值,具有動(dòng)態(tài)學(xué)習(xí)能力,且智能程度很高。

      5 結(jié)束語

      綜上,創(chuàng)新性點(diǎn)在于提出了一種基于STDP規(guī)則的權(quán)值學(xué)習(xí)算法和基于Hebb規(guī)則的結(jié)構(gòu)學(xué)習(xí)算法,這些算法解決了目前脈沖神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法的不完備性。結(jié)合SNN特性,將算法引入不完美信息博弈中,以斗地主撲克游戲?yàn)槔?,?shí)現(xiàn)了一個(gè)擬人化的斗地主機(jī)器人,該機(jī)器人相對(duì)于傳統(tǒng)AI,更加的智能,并非事先制定策略,而是學(xué)習(xí)一個(gè)人的斗地主能力,生成叫牌決策網(wǎng)絡(luò),最終的擬人程度為85%,在出牌網(wǎng)絡(luò)中,訓(xùn)練出的網(wǎng)絡(luò)的功能性是正常的,下一步工作會(huì)在當(dāng)前算法的基礎(chǔ)上,加入增強(qiáng)學(xué)習(xí)的算法,繼續(xù)完善斗地主叫牌和出牌網(wǎng)絡(luò),使得其智能化程度更高。

      猜你喜歡
      決策層順子權(quán)值
      國際體育組織“決策層”中的中國面孔
      一種融合時(shí)間權(quán)值和用戶行為序列的電影推薦模型
      CONTENTS
      內(nèi)控時(shí)間背景下的中小學(xué)內(nèi)部控制建設(shè)路徑構(gòu)建
      財(cái)訊(2019年24期)2019-09-03 05:37:05
      基于權(quán)值動(dòng)量的RBM加速學(xué)習(xí)算法研究
      賬本
      歲月(2016年9期)2016-05-14 04:56:45
      文化自覺對(duì)高職院校領(lǐng)導(dǎo)決策層的影響
      大東方(2015年8期)2015-05-30 09:30:25
      河北和諧社會(huì)建設(shè)中的生態(tài)責(zé)任與生態(tài)整體觀
      整改
      小說月刊(2012年9期)2012-05-08 03:46:20
      慈善街
      文苑·感悟(2008年6期)2008-07-28 06:34:32
      高阳县| 海宁市| 仪陇县| 定边县| 桓台县| 突泉县| 长宁区| 太仓市| 丹阳市| 林甸县| 丹东市| 乌海市| 庐江县| 呼伦贝尔市| 松溪县| 闽侯县| 卓资县| 兴隆县| 茂名市| 太仓市| 大石桥市| 天津市| 叶城县| 古交市| 泰兴市| 彰武县| 师宗县| 迭部县| 江西省| 长沙市| 离岛区| 且末县| 宣化县| 正定县| 任丘市| 垣曲县| 饶阳县| 霍州市| 连江县| 长治县| 新乐市|