Optimize Program Strength on Board Games using Machine Learning

博士 === 國立東華大學 === 資訊工程學系 === 107 === Deep learning has become a hot research topic after AlphaGo beat a professional human go player. Many interesting challenges remain in deep learning with board games. Since deep learning is a new domain, how to design a framework and how to tune its parameters ar...

Full description

Bibliographic Details
Main Authors: Ching-Nung Lin, 林璟農
Other Authors: Shi-Jim Yen
Format: Others
Language:en_US
Published: 2019
Online Access:http://ndltd.ncl.edu.tw/handle/q2y8r5
id ndltd-TW-107NDHU5392007
record_format oai_dc
spelling ndltd-TW-107NDHU53920072019-10-26T06:24:21Z http://ndltd.ncl.edu.tw/handle/q2y8r5 Optimize Program Strength on Board Games using Machine Learning 以機器學習強化棋類遊戲 Ching-Nung Lin 林璟農 博士 國立東華大學 資訊工程學系 107 Deep learning has become a hot research topic after AlphaGo beat a professional human go player. Many interesting challenges remain in deep learning with board games. Since deep learning is a new domain, how to design a framework and how to tune its parameters are unknown, and they are usually based on trial and error. Because deep learning inference is usually slower than traditional methods, this might limit its usage in real-world applications. Accelerating it has huge compact on the strength of a program, and one possible solution is to reduce the size of a trained model. Also, it is difficult to merge previous well-developed algorithms and deep learning. Using Monte Carlo tree search with deep learning is one of the successful cases. Beside deep learning, how to optimize the strength of a existing program without modifying its structure is another interesting topic. It is difficult to improve the strength and remain the same power consumption, and this is important for board games running on the widely used mobile devices. This research provides some methods to accelerate deep learning inference using CPU, Xeon Phi and a graphics processing unit (GPU). On top of that, we provide an algorithm to reduce the size of a deep learning model. Then, we show how to design a program using deep learning and Monte Carlo tree search. A Block Go program is presented. We investigate testing accuracy and parameters related to deep learning including batch sizes and epochs. In addition, we try to adjust the values on the deep learning input feature planes. Finally, a new algorithm is described to use seed optimization on Draughts to improve strength of a program by fixing its seeds. The Block Go and Draughts programs both won the first place in the Computer Olympiad tournaments. Shi-Jim Yen 顏士淨 2019 學位論文 ; thesis 74 en_US
collection NDLTD
language en_US
format Others
sources NDLTD
description 博士 === 國立東華大學 === 資訊工程學系 === 107 === Deep learning has become a hot research topic after AlphaGo beat a professional human go player. Many interesting challenges remain in deep learning with board games. Since deep learning is a new domain, how to design a framework and how to tune its parameters are unknown, and they are usually based on trial and error. Because deep learning inference is usually slower than traditional methods, this might limit its usage in real-world applications. Accelerating it has huge compact on the strength of a program, and one possible solution is to reduce the size of a trained model. Also, it is difficult to merge previous well-developed algorithms and deep learning. Using Monte Carlo tree search with deep learning is one of the successful cases. Beside deep learning, how to optimize the strength of a existing program without modifying its structure is another interesting topic. It is difficult to improve the strength and remain the same power consumption, and this is important for board games running on the widely used mobile devices. This research provides some methods to accelerate deep learning inference using CPU, Xeon Phi and a graphics processing unit (GPU). On top of that, we provide an algorithm to reduce the size of a deep learning model. Then, we show how to design a program using deep learning and Monte Carlo tree search. A Block Go program is presented. We investigate testing accuracy and parameters related to deep learning including batch sizes and epochs. In addition, we try to adjust the values on the deep learning input feature planes. Finally, a new algorithm is described to use seed optimization on Draughts to improve strength of a program by fixing its seeds. The Block Go and Draughts programs both won the first place in the Computer Olympiad tournaments.
author2 Shi-Jim Yen
author_facet Shi-Jim Yen
Ching-Nung Lin
林璟農
author Ching-Nung Lin
林璟農
spellingShingle Ching-Nung Lin
林璟農
Optimize Program Strength on Board Games using Machine Learning
author_sort Ching-Nung Lin
title Optimize Program Strength on Board Games using Machine Learning
title_short Optimize Program Strength on Board Games using Machine Learning
title_full Optimize Program Strength on Board Games using Machine Learning
title_fullStr Optimize Program Strength on Board Games using Machine Learning
title_full_unstemmed Optimize Program Strength on Board Games using Machine Learning
title_sort optimize program strength on board games using machine learning
publishDate 2019
url http://ndltd.ncl.edu.tw/handle/q2y8r5
work_keys_str_mv AT chingnunglin optimizeprogramstrengthonboardgamesusingmachinelearning
AT línjǐngnóng optimizeprogramstrengthonboardgamesusingmachinelearning
AT chingnunglin yǐjīqìxuéxíqiánghuàqílèiyóuxì
AT línjǐngnóng yǐjīqìxuéxíqiánghuàqílèiyóuxì
_version_ 1719279763429785600