《人工智能控制技術(shù)》 課件 chap9-五子棋對弈案例_第1頁
《人工智能控制技術(shù)》 課件 chap9-五子棋對弈案例_第2頁
《人工智能控制技術(shù)》 課件 chap9-五子棋對弈案例_第3頁
《人工智能控制技術(shù)》 課件 chap9-五子棋對弈案例_第4頁
《人工智能控制技術(shù)》 課件 chap9-五子棋對弈案例_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

《人工智能控制技術(shù)》五子棋自動對弈實例五子棋自動對弈實現(xiàn)原理2016年3月,AlphaGo與圍棋世界冠軍、職業(yè)九段棋手李世石進行圍棋人機大戰(zhàn),以4比1的總比分獲勝,在當時引起了軒然大波。2017年10月,谷歌公布了新版圍棋程序AlphaGoZero。與擊敗李世石的AlphaGo不同的是,AlphaGoZero

在訓(xùn)練過程中沒有使用任何人類棋譜,一切從零開始。訓(xùn)練了72小時后,它就以100比0的成績完勝前輩AlphaGo。與AlphaGo不同的是,AlphaGoZero

將分離的策略網(wǎng)絡(luò)和價值網(wǎng)絡(luò)組合在一個策略-價值網(wǎng)絡(luò)中,五子棋自動對弈也采用這種方法實現(xiàn)。下面將從策略-價值網(wǎng)絡(luò)的輸入與輸出以及內(nèi)部結(jié)構(gòu)等方面對其進行介紹。五子棋自動對弈實現(xiàn)原理

棋盤輸入與輸出五子棋自動對弈實現(xiàn)原理

策略-價值網(wǎng)絡(luò)模型結(jié)構(gòu)五子棋自動對弈實現(xiàn)原理

Convolitionalblock五子棋自動對弈實現(xiàn)原理為了提升網(wǎng)絡(luò)的特征提取能力并防止出現(xiàn)梯度消失問題,在卷積層下面堆疊著19個或39個Residualblock,如圖所示,每個Residualblock由2個組成類似于Convolutionalblock的子模塊構(gòu)成,唯一不同的就是在第二個子模塊的非線性激活之前加上了跳連接,使輸入與批歸一化模塊的輸出相加再輸入ReLU函數(shù),最終輸出19×19×256的特征圖像。Residualblock五子棋自動對弈實現(xiàn)原理從最后一個殘差塊輸出的特征圖像作為Policyhead的輸入,經(jīng)過Policyhead內(nèi)部的卷積層、批歸一化層和全連接層的處理之后,得到維度為19×19+1=362的移動概率向量p。實際上為了計算誤差的方便,全連接層后會有一個log_softmax,得到對數(shù)概率log(p),如圖所示。Policyhead五子棋自動對弈實現(xiàn)原理最后一個殘差塊的輸出還會輸入Valuehead中,與Policyhead不同的是,Valuehead里面有兩個全連接層:第一個全連接層將輸入映射為256維的向量,第二個全連接層再將256維的向量變?yōu)闃肆?,最后?jīng)過tanh函數(shù)將這個標量壓縮到[-1,1]區(qū)間,得到v,如圖所示。Valuehead五子棋自動對弈實現(xiàn)原理

蒙特卡洛樹收索蒙特卡洛樹收索在棋盤上要窮舉出所有走法是不太現(xiàn)實的一件事,所以本五子棋實例都使用了蒙特卡洛樹搜索(MCTS)算法。如下圖所示,蒙特卡洛樹搜索包含四個步驟,分別是:選擇、拓展與評估、反向傳播和演繹。蒙特卡洛樹搜索選擇步驟

選擇步驟

拓展與評價步驟

反向傳播步驟在拓展與評估步驟中得到了葉節(jié)點對應(yīng)的玩家的獲勝概率v,所謂的反向傳播,就是指將這個v傳播到從根節(jié)點到葉節(jié)點這一路的所有節(jié)點上(不包含葉節(jié)點),可以使用遞歸做到這一點。由于這些節(jié)點的當前玩家一直在切換,所以將-v傳入遞歸函數(shù)。至此完成一次搜索。演繹步驟

五子棋自對弈訓(xùn)練五子棋自對弈訓(xùn)練過程本例在實驗時總共自對弈了4400局,使用自對弈來生成用于訓(xùn)練的數(shù)據(jù),其中每一局的過程都是相同的。五子棋自對弈訓(xùn)練過程

五子棋自對弈訓(xùn)練過程4.根據(jù)最后的贏家計算出z_list

中的每一個元素,計算規(guī)則為:贏家與每一個動作的當玩家相同則為1,不同為-1,平局為0。由于五子棋具有旋轉(zhuǎn)不變性和鏡像對稱性,所以將做了旋轉(zhuǎn)變換和水平鏡像變換的各個(feature_planes_list,pi_list,z_list)添加到self-play數(shù)據(jù)集中,其中feature_planes_list

中的各feature_planes

在訓(xùn)練過程中將作為策略-價值網(wǎng)絡(luò)的輸入,pi_list和z_list

的各元素將作為標簽;5.結(jié)束一局自對弈。五子棋自對弈訓(xùn)練過程

五子棋自對弈訓(xùn)練過程每當完成一次策略-價值網(wǎng)絡(luò)的訓(xùn)練之后,就可以接著進行一局自對弈以產(chǎn)生新的數(shù)據(jù),然后再進行一次訓(xùn)練,就這樣一直循環(huán)下去。隨著訓(xùn)練次數(shù)的增加,學(xué)習率會逐漸減小,具體變化如表所示:學(xué)習率變化表五子棋自對弈訓(xùn)練過程五子棋中自對弈數(shù)據(jù)是由最新的策略-價值網(wǎng)絡(luò)產(chǎn)生的。雖然不使用歷史最優(yōu)模型來產(chǎn)生數(shù)據(jù),但是會定期讓當前模型和歷史最優(yōu)模型進行對比,如果當前模型的勝率超過55%,就將歷史最優(yōu)模型更新為當前模型。五子棋在對弈的過程中可以明顯感受到它的水平在一直提高,自對弈到3000局的時候就已經(jīng)有正常人的水平了。五子棋自對弈訓(xùn)練過程通過右圖以看出沒有任何訓(xùn)練的五子棋自對弈還什么都不會,只會亂走,剛開局的時候還很喜歡挑邊沿走棋,最后黑方和白方都是靠運氣贏得了比賽。訓(xùn)練0次的棋譜五子棋自對弈訓(xùn)練過程右圖是訓(xùn)練了800次的棋譜,可以看到訓(xùn)練了800次之后,五子棋對弈程序已經(jīng)初步可以知道規(guī)則,開局時往中間走,而且在對方快連成五顆的情況下也知道要去堵。但如圖9-9第二張棋譜所示,在白方4、6、8已經(jīng)連成3顆時,黑方還不會去堵。而且在已經(jīng)連成4顆棋子的情況下,白方居然沒有絕殺黑方,而是下了12這手棋。因此此時的五子棋自動對弈還只會下前幾手。訓(xùn)練800次的棋譜五子棋自對弈訓(xùn)練過程右圖是訓(xùn)練4400次的結(jié)果,可以看到訓(xùn)練到4400局之后,五子棋已經(jīng)掌握了開局和攻守的訣竅。一開始雙方就挨得很近,試圖阻止對方連成3顆。在黑方的5、7、9連成3顆時,白方也及時堵住。在白方8、14、10連成3顆時,黑方暫時沒有理他,而是在左下角下了15,與自己的1、3、13連成了4顆,企圖先下手為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論