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...
Main Authors: | , |
---|---|
Other Authors: | |
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 |